summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-11-03 06:47:15 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-11-03 06:47:15 +0000
commitfc2f1018fc323ef2c6572734a9b130427cba76a6 (patch)
treef834bdc9a67923ce75297c09d00d1e7b90791d26 /www-client
parent162945d2a91899b637bbb9e163b406350de12906 (diff)
gentoo resync : 03.11.2021
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6210 -> 6225 bytes
-rw-r--r--www-client/chromium/Manifest4
-rw-r--r--www-client/chromium/chromium-95.0.4638.69.ebuild (renamed from www-client/chromium/chromium-95.0.4638.54.ebuild)7
-rw-r--r--www-client/elinks/Manifest4
-rw-r--r--www-client/elinks/elinks-0.13.5-r100.ebuild2
-rw-r--r--www-client/elinks/elinks-9999.ebuild2
-rw-r--r--www-client/firefox-bin/Manifest196
-rw-r--r--www-client/firefox-bin/firefox-bin-91.3.0.ebuild387
-rw-r--r--www-client/firefox-bin/firefox-bin-94.0-r1.ebuild387
-rw-r--r--www-client/firefox/Manifest200
-rw-r--r--www-client/firefox/firefox-91.3.0.ebuild1162
-rw-r--r--www-client/firefox/firefox-94.0.ebuild1163
-rw-r--r--www-client/microsoft-edge-beta/Manifest4
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-96.0.1054.8.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-95.0.1020.30.ebuild)4
14 files changed, 3510 insertions, 12 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index a5e093d5db17..4702eed2c37c 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 72a1041e9da2..9ca610f0591a 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -13,12 +13,12 @@ AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f
AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
DIST chromium-95-patchset-4.tar.xz 4308 BLAKE2B e91cb78d2357af8c0dfc66e4d148c5e6ef20cf9a811bcebf411e07cc5af73f30760d889842923afb2945e57b0f67330deac3f9068b6ce7c487482a6434e5c672 SHA512 152657e13afab3caca6a9ff6c0b51203f5bc8b0a4075a4396794d7a85caddce1b26f989c7dede5fa9a54316334099d21889e6767885fbf974260a6e9bd90df9d
-DIST chromium-95.0.4638.54.tar.xz 1213374932 BLAKE2B 75e1017a50eb0f42c714863969414308df7ee69160271d3bcd5ba7af79c96c5eb53edd9d892f33db6c2455d0b2dfa12dadfa8cb01d4baf1f89d57fde5291783e SHA512 159c8d37e8cfb5bb0e55d3d1329295dab585164b84b8c514ea80f0f68ce0b491f4c40a186a2bc108baae2341cf320dee78c654c0a038d5aeb17b5a19c7f043d9
+DIST chromium-95.0.4638.69.tar.xz 1213470900 BLAKE2B 31619448fd42bce74dac4fb3b7e04c59a2eb05461358e4fa59ab7122b07cd2dc6632a1a8c92a9bacd93c78c37a9e7fadfa7b9ded6371697177c419ce4e6665a5 SHA512 e8845a3add5f784342c51c530ed4fbf144f8ab16701d9dd6a2eedbd255167f39c26cf400d22f246ef5ad4afbb6a6133e17d767711587dd4bae18e3b5a997f95e
DIST chromium-96-patchset-4.tar.xz 4812 BLAKE2B 5d82d212b8ec1689be6f4a7a0646256311d06c17e74ee0e5b2035c32125a5235e4b6b7605cefffa367cc53e651be17b75f5e339149b4c80dca50cd959b1623f1 SHA512 a72c1bb2c58e9e2912a641093c153f01ad7239dc971c7c96481ba4164204afe41741f3253e8af03070dab8276179784dc6a11761b39ad7902ed2553016778282
DIST chromium-96.0.4664.27.tar.xz 1221600064 BLAKE2B 707596f44897660057edf977011db34341028c4b99dbe61878109090049e727232bfe784a1ea1447847a559584d0b2297a218c06817b618be76b5e96aafa8ea6 SHA512 4b87a04d055dedb508466e188151ea7f46d14a8a76dd64b4e783d8b6cc8e4d0d54ca5fdfb4ac60727028fbc3539e64bcb77d424904af2a64cb8f5d44d065f08e
DIST chromium-97-patchset-2.tar.xz 3756 BLAKE2B a690466a5d359f38805f468d096f909d3063a4134aa28599a145c4741a15244c7dc06dd8151f53ef0dd29a6a604447ce37f99181a05170ac88483a837dea71cc SHA512 e088d84ea43ffc05e4e83b1c87d83fb73d985df1cf92d3a17e50201e96c32dfda29d7d9b84943307380b2d75cda699ddf65ef6414e3e4484f01ac5b957605ccd
DIST chromium-97.0.4682.3.tar.xz 1221976628 BLAKE2B 7b1e753568d806a03ed130cfde91032234f5fc7ae3e45ab247ebc76b8804dfa4b645a8668514bd0e6fe4bff1a779de30836fb557a2b4eaaaae310b41442ce17d SHA512 39b379ddfe59b8b4b2a9f4d4e502ac4450580da72bf9f59b4b185d4ac3b81ab1a1077c270b1ba65a32d80702f7b0fbe38059014bada9dc5a68160aea3e162e04
-EBUILD chromium-95.0.4638.54.ebuild 30288 BLAKE2B 3a363aa699af7ec0da446d53a6bd1f7a48dc2156b8559ce763c79829cd745aeb71127a6d98c016dda8f2c951462b6cd5bae77a3b8b80bfc51afb35b09cdf5f79 SHA512 7741abdd5093b28d5c98f3a5cb218b981bf9c1e1121947fe32c3773146436b248f75717baf4ccba958aa354c6439629be9ca093c14e0bd06d224eb2135073093
+EBUILD chromium-95.0.4638.69.ebuild 30275 BLAKE2B 7fe537d3022bb979cafbef51210340caf0dea8c0383fc14d86cc7b687c0b987128eaf743b10f20fea81e894f41a17f81fe9bb092667c27dfca66a700b72ae007 SHA512 9bc95eeff0ad2c4cfafd4346b47d1bf23db1a8b9a37108644fe3f97b495807a23c843325f079edd445f450514a6f1b9f10b0f87fa5d47ff0c09f19215f34d49f
EBUILD chromium-96.0.4664.27.ebuild 30075 BLAKE2B 821daa72d15d4bb04bd89fc04d90f58489181e0069096b202910fc2d7f3b2dd15e146aa9229ec9e662e7652440fd07c52f4ca6f2a21945c6f169e9fe9da3a056 SHA512 e664f0751bd03d37306300c448a497c947ef59a0f97fd16743a57d91d8dc0ddd83e55a548a9cbeeef0af99c64224a8cc5a8528a21f1d99a205c7bab40028dea3
EBUILD chromium-97.0.4682.3.ebuild 30059 BLAKE2B 482b4831d47e267cd8f26f93b47f3c319a3755cc242b3c536bfe3795f7f45448fb8fe96ae4f328e671894712475398c83be2391388cd7a44aca1da90e7a4593b SHA512 1dac00543ea65fa63a5668dbd7fa6474dd205e6fe284f47ee7655d07d2f8c6bafeeaa6db7173dda98c4688e3d659b440b4c045a9432acf85e2b8f09cc264d10d
MISC metadata.xml 1775 BLAKE2B 2fa038c0f6ebe1d86427cdf0806400dd690e31a9ee2667ea9f4f744478a675b9da89f0f541869bfea4ae5e28af1210d67b2766474d16752322407aad401d2c37 SHA512 0f4430b96a7d4dea4f2f1707cc81b184445c0f9da1d5c35a84c7958a037c13068b1a1073edc4576d7131564fc14c2f3b41a97cb8665f45e5a18eddc428c9ed23
diff --git a/www-client/chromium/chromium-95.0.4638.54.ebuild b/www-client/chromium/chromium-95.0.4638.69.ebuild
index 8d1013b3446b..1bddaf4e20e0 100644
--- a/www-client/chromium/chromium-95.0.4638.54.ebuild
+++ b/www-client/chromium/chromium-95.0.4638.69.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/stable"
KEYWORDS="amd64 arm64 ~x86"
IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine"
REQUIRED_USE="
@@ -134,7 +134,6 @@ if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
DEPEND+=" >=sys-libs/libcxx-12"
else
COMMON_DEPEND="
- app-arch/snappy:=
dev-libs/libxslt:=
>=dev-libs/re2-0.2019.08.01:=
>=media-libs/openh264-1.6.0:=
@@ -238,6 +237,7 @@ src_prepare() {
"${FILESDIR}/chromium-95-eigen-avx-2.patch"
"${FILESDIR}/chromium-95-eigen-avx-3.patch"
"${FILESDIR}/chromium-95-harfbuzz-3.patch"
+ "${FILESDIR}/chromium-95-xfce-maximize.patch"
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
"${FILESDIR}/chromium-shim_headers.patch"
)
@@ -434,6 +434,7 @@ src_prepare() {
third_party/skia/third_party/skcms
third_party/skia/third_party/vulkan
third_party/smhasher
+ third_party/snappy
third_party/sqlite
third_party/swiftshader
third_party/swiftshader/third_party/astc-encoder
@@ -504,7 +505,6 @@ src_prepare() {
keeplibs+=( third_party/libxslt )
keeplibs+=( third_party/openh264 )
keeplibs+=( third_party/re2 )
- keeplibs+=( third_party/snappy )
if use system-icu; then
keeplibs+=( third_party/icu )
fi
@@ -615,7 +615,6 @@ src_configure() {
gn_system_libraries+=( libxslt )
gn_system_libraries+=( openh264 )
gn_system_libraries+=( re2 )
- gn_system_libraries+=( snappy )
fi
build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
diff --git a/www-client/elinks/Manifest b/www-client/elinks/Manifest
index ee9baae61f02..c4ec317265f9 100644
--- a/www-client/elinks/Manifest
+++ b/www-client/elinks/Manifest
@@ -1,5 +1,5 @@
AUX elinks-9999-parallel-make.patch 1620 BLAKE2B d3b345813b9c9c82a93f2709036d9ae63f8014b6ff50d96f5534d1c08a0eaf73825da5cf1605d8a0997c6bd659b621b8f174a555f1adc026823fd2f87196eadb SHA512 bdd612c1ce226115170e97d70519b5ec4816d8469e0cd31ec66000b603c92913645f2b57eca9f030b90af811e43db5647928d27f7bc3a8c06560be40a8063248
DIST elinks-0.13.5.tar.gz 3600196 BLAKE2B e1e51674b5630d6dab3de3030aee671876750fc97808bf4dca50b505fa2c31af669c4c3773b3830186fb98acda5c692ff1902c6e1240251ea699103a70bb4e43 SHA512 786f6142c03bca4a47a1043ca4f9c36aab431d192eb13bcad14c1da391f5746779a8f65e53eb781dff79f619ceb3ed30ef939eae8d81f64251fad9b803c0ae7b
-EBUILD elinks-0.13.5-r100.ebuild 3796 BLAKE2B 72b6a3767ef40513e5603b77fabcfdf1325fc816cb594e90b9c8b0a20d0038fa776ece823e2760fc91cbe4343b422157c586562086ca21e9214534ad0662dbeb SHA512 534083fb048787421d67ec8acabeb916771f083b5aaf97489fbf052c54973a4aad6871e0ec58acf6d79dbf86668550c3fac839ac0b9a89c3c4f44bc3f72c2de4
-EBUILD elinks-9999.ebuild 3629 BLAKE2B fa87e6e3a6cb4b3f923946a74b6f340061c7fd27a4d67bbe8a5dd0f9009d28b4d7455dc915175328d38ddeece595ba561c2098d3cfb661d9c25627f2ad62bd30 SHA512 c582af6ef04296b515da6aeed539a96c9eacff28a8e46a99213080c51e44a2e357e59575bfced0e0db63d1c97cb9f7f83562941a8715d1e3cc4faf8526368be8
+EBUILD elinks-0.13.5-r100.ebuild 3796 BLAKE2B 9e3a6ca9385b17b808a6e383c892b5e1aaf037aaee591577bee5d93613c5188f0afd916c43eb853adf7ee52598ad79d768dac6ec990c506340f5c6126a11d835 SHA512 2260d36a989d28bec8640ae685b9fa47d42ceb57df24f83965acf93f7144a9e767a63db1dea040d2a166e352a449e45e41e83ee7eb02655784945c7065a193a1
+EBUILD elinks-9999.ebuild 3629 BLAKE2B 1de33e0eb42443ab467d5508fff2885436d91509535cd7cf4371a23e0a42b507fd2f3701490f27f68f1c2cf46c5b0e8a97290366fbfa60df4119a745e50f33a2 SHA512 5687cc0b860ae17fb5eef7c3b535a7d38c06b65083818d33ed0d99a4664433eca249e466dcbd1903c937396b454518c8ce14ad39d46e35804f8724ff04f0fa3a
MISC metadata.xml 928 BLAKE2B 397436880826c298c19931584ba17af2189125b5a301ba4c831bec34942cff799538aad69ded61dcbeb458e1f48bdb42de7aa16e8a6325ef75b35486bfc0483c SHA512 49b2a9a8340eba67919261983d53ce8a089883bcc8ac26edae1305c1fc9cc1aac17da37592c8287441b953c7272d4135c1c876eebad7885bb90ae525b7a0c757
diff --git a/www-client/elinks/elinks-0.13.5-r100.ebuild b/www-client/elinks/elinks-0.13.5-r100.ebuild
index 5a3f8874262c..b4dfb74b0dae 100644
--- a/www-client/elinks/elinks-0.13.5-r100.ebuild
+++ b/www-client/elinks/elinks-0.13.5-r100.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8..10} )
LUA_COMPAT=( lua5-{1,2} )
inherit autotools lua-single python-any-r1
diff --git a/www-client/elinks/elinks-9999.ebuild b/www-client/elinks/elinks-9999.ebuild
index 991578db5b64..d5b093e3bfd6 100644
--- a/www-client/elinks/elinks-9999.ebuild
+++ b/www-client/elinks/elinks-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8..10} )
LUA_COMPAT=( lua5-{1,2} )
inherit autotools git-r3 lua-single python-any-r1
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index b6f1cd14132d..56c956735543 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -103,6 +103,101 @@ DIST firefox-78.15.0esr-vi.xpi 562848 BLAKE2B 7dadd051a61597f548a45f47f8a2b085ce
DIST firefox-78.15.0esr-xh.xpi 427847 BLAKE2B aaf667de15953c99c580766047afe082e414eb38cc8c048121aad026db6ba5b45b4c97a1d5f85bb8813108bf3e69e8a4e4ab67d320d32e2d1fd6f9b175dd90c5 SHA512 8689c86b30e229c96014e1c930bd4d7eb1d6ef7e6e18f3e757d553923edf0cd5923dd83e8f20f4608b691cecbb1df2035dbb45ce1ffe2202562784acf000f1f3
DIST firefox-78.15.0esr-zh-CN.xpi 564764 BLAKE2B df0b207411e7731c9238dd069fd42e47c7ecd0477089e0673a98fc879e76db566dc6f92c60a515938a831c0e0ef116f4f75f9a0b37350ce2f04be4fd72e53677 SHA512 072aba4d663091121118ecf6978129ad3cad28ae16eea7e1f680831ae0326d8ad5e0f853cac25827719229d7eb51635d1d8ed33e6fec01a48ce05875e15db2f3
DIST firefox-78.15.0esr-zh-TW.xpi 564733 BLAKE2B dfcc1df31227d62486a8a36428c413523e2b6a81f96fc91481fc35fa65744bdb06f92ec1b259a1b79d1e5b43f1cb16c6fefb0a74fe2d4b33538783755b165453 SHA512 b5b9c3c6a4d717fef8ca250e6ccc636be2de0b22988f3f1da634266622ee0304b59a10a194f424d2b6693ce3262658172fe2a015474de600e1686950f8b90370
+DIST firefox-91.3.0esr-ach.xpi 465504 BLAKE2B bba9ecb26423405f8a89c2f736e761e3726b13b430dc697be9e3ef7daa8de476a588fac47f3ec3c8f217744a33d9b62f7c8de919ed851044b97ea05292720912 SHA512 4f645517df27da2c02d59c752e1893ecb289d9213a6d4d0ab6b199c2562c8e16b14ee3a2cbfc70846cfe8e4a6fd4ccdf7e47e2963823b38a8fd2f70eef4c3421
+DIST firefox-91.3.0esr-af.xpi 433476 BLAKE2B 15e53cc1f41e4bc7b139a098d200a4cb2feae696101f9fef473edd5fb3a1e1789d4566d1d2b45c7fd8313a9aba8462c37adc32bf784142310541db7976a85b32 SHA512 0ccf4a8a6862676e84f001b62e76a07deaf0acf17477a1d880ae77d76925dda5e009f61c317475bad7b44908d1dcd2b4d57eb3618116106eb9f843abe988235c
+DIST firefox-91.3.0esr-an.xpi 516389 BLAKE2B 6149b95aa8b23753beaad6da38e808bdf8f2e2003e3b311901613651db53dd09bd99c16a05fce0be9c9927f54ac554bdbd885c0744a672dcb587a0607c1cfca7 SHA512 9539510ac122a856d0949e6ada18d69c59c4f2b57afe3a00bca71def119d34ec7342dcfa78128bb8eaa9bafb1b413404e2667dfc732a97c7f3ab544c97be028f
+DIST firefox-91.3.0esr-ar.xpi 575196 BLAKE2B 8061ac755ab45bd6aa29a15e9e1f005b576ab5338c7283af51bcb38d437f468f466ff5e2e979a21af917f42d6a92be731bd76fd1abb5acdea88e4f7675b05d4c SHA512 13736873b2bf2475885fddd0a806a45c6392df24e19198a74ad8222d1bad37cdf1713aec7db1e0b090fd66d2508a770ee04534f79ec8ac823a93fcf78d2020e2
+DIST firefox-91.3.0esr-ast.xpi 503834 BLAKE2B 78a7bfd02c844dc0e3d2611c395a9a337751707e31f3524d599b7ceeb740a818bdcde991320e9ac7634a840afdae6e4f34ba84aafcc8a4294f692231cfc86bcc SHA512 1d3b56ee24692071ba5377c157e42c7de8e8511cb5c4414b0918c2a16a06be42984d9a3d5aeb2ed99403d45eee1878862b550a922572834e7d71b48d13a54643
+DIST firefox-91.3.0esr-az.xpi 501266 BLAKE2B 7d2396b76b79467cc2702201adf1514ae9ce76aa8a7a2057decc1ab764830fbb77d29e2793f223feba9777b5acfbb3b9fad38c8520e9fd7d83ec8334f54f73ce SHA512 23719ddad4c82ae8cfcf6d7664affe46fc2fabdaa9352152ddba537e1a08ef724c4c5e51209eb3684cfe735cd6b4f0df80e5f0c8717152ee4b97957127103baa
+DIST firefox-91.3.0esr-be.xpi 631737 BLAKE2B 582375c5fc70712de533cc2475f1da53be5162adbafe0c808509dfcc58c21fd9e885e7538803ac41def37898ee3a41591633db9acafb276148eb7d9e3de9b6d5 SHA512 c7b3cb3792fbd45502e14d6f1d4d501f477204e73743bb61997fb778f047be286e4b112ecf65fe41f5dd00f8f48c0408e0fc7cb6a6579774a29a76dbe5d8ddc8
+DIST firefox-91.3.0esr-bg.xpi 585450 BLAKE2B 5a0d2f0dd9219a067bf91ea6b48d8f6c236483d6b08d626c78bfc6886a9b0044a6506be30fda219dee519aaaececefb00f896d4a76ef3d4b277e9993d3ee6a6e SHA512 c1059741da643937c50a5d2be9016cc5ad5260240ef020b38a5f7029e593e67ad0cc0136fe53353b1278faf55f5de91ab004e517c048f89a86db940242197b1d
+DIST firefox-91.3.0esr-bn.xpi 576657 BLAKE2B fd14c81b08a8328634abe5190a978a768550bfa6fd9e899995302c5e870c7ac875ae27a16267e9cab88d51a3703f95aae80061ac572aeaf6f09a8ca32f4d72b5 SHA512 71f2e15c69e3fefdeba61b29a1cbac4a8ee11d2427b898df21da9615ff72566da62e7192662310ccb8345a5afe971aaa4df2f08e5bb0e253112ca6aa02b64611
+DIST firefox-91.3.0esr-br.xpi 535048 BLAKE2B 1e48fbc6d8c1ec1b6e469c910c0ef3c6c4e4bca402c98b7aa249e47be6a94e64c4284b2ba248c475cb8429d751f6e43789fbf667423666dee089c5f05b72b459 SHA512 58dd2fbf4fcd0440448acf1e69569b69beeeb2212f2e585fec85e2da74d9d356af2a3838d98f13ed5bcb6f3aa6d9798a370f9d5ee9d590e76492586654a2d73c
+DIST firefox-91.3.0esr-bs.xpi 473386 BLAKE2B 01acc36f92e495d1cc4aed1521e733375215368a93a0a404de0b02644bccde69c99a01c0b6fcd93a248f94dd2ab696237f45821705ecd72246f8ac69f9051aa3 SHA512 739d6b139f848c56680f033c133098e369b01d7a28f4184f3b6bfdfc417db16c99a49136eeee219a5831e6cabd866253932c7996b1c0a0ea2b46229ff0e52125
+DIST firefox-91.3.0esr-ca-valencia.xpi 543528 BLAKE2B 4009e37882e4b7911d0766a848f6c0d5a60261ba3b4fec54a3cee352e512025d382ba547dacd795e2014ed6571ce2f3500a13ce665ae73fe2bdc50239d38876e SHA512 38233e4bf456e22d5108f8f1d6976bc2dc0ded61452ee61d5592c916344fd7705a5bcd9cc8b1d42472fbfef75e3bf7fe820fa0bf40c102e692d592919a3d86db
+DIST firefox-91.3.0esr-ca.xpi 542008 BLAKE2B 79412ad6a22f88b81e7b4bdff6fb4f0749d441b1f92b58c29143495c84ae3daa2f9d025dcd61e54792f7e6f15edcc505991110c5c08d98d0aa7f4aa4c5025b59 SHA512 bc730ee37a0ba57f9ed000be64b823fe22a97179aeacca9bc0a2b7e70c782fe49bec17a33dacf26308c0d12d0516788de3c5f07185d667dd56270263ebe95cf0
+DIST firefox-91.3.0esr-cak.xpi 568379 BLAKE2B b042574decb02ec495df059dc17540f026c7111c9318f95c0b7c1e54164ec37e235c766add4e69c79960e02d2793c1e0f296b7e09a0bd603963927a877447372 SHA512 42ef318eb9de709fe8ed8f6d844bebd1a81fa7245d3422e6d98441f02858167a4b83105fc4a95df8325c0ad831abfe4793c7b0b84b870dbaabe85613c00a551b
+DIST firefox-91.3.0esr-cs.xpi 572928 BLAKE2B dd95dc8d17ddfd5e019bca2808dd9a1c97ed747405b01384512c048c63738b4a61ac1a44ca141f8a6afa5139274d9eccd29b7391d6493254e7f4ce9b8580ce96 SHA512 83108345a1b0929c2fc147123d86cb84596880549363cfe9c821b209b20d4c5ad034850028b64794c4302364cd163685819a6c2d5753c05014cd23e75b6bd859
+DIST firefox-91.3.0esr-cy.xpi 549207 BLAKE2B 670df1ce98132291e2f8a2a956af0c30f8cab319023191acc13995e31d2a16c8536d54c91781d6a1e4f5f75fab4b399a23f79482f8687352709720882d143ff7 SHA512 c96f65d351331ca01f2ec6398202257280d6c0d1bca554ce677a83500572b5628e6394974b65e1ff11fd65dd2abed2f100091c43392f316e23cf8c2a631f44f6
+DIST firefox-91.3.0esr-da.xpi 540828 BLAKE2B a69ce9ca6e8eb34bcf8e3df380f383eaaaed9f0c4520373ee209f9fd704fb319fb079ba22df2983259885fb7f0831bb2bef91471d0f323d0fae917dc9f330df2 SHA512 c13211f36e19ae03b9b2c80df891720b86fd070c11d257aea87ff6c47abe905caebd2db3e7d8b7d5ee9cd7e7f64cdef12d0cd6e6fd12aff11e34112e7f929f83
+DIST firefox-91.3.0esr-de.xpi 561498 BLAKE2B 1527caf596272a2e532491b3cd1614871a1e312ae05769049c333f33bfe9b66417e22acc796bdaf0cfd21833e49c767254859f86cbfb92fbd5822aa367f8d03b SHA512 f42dd3e8a9365c709ad39e8ca96dfac475c3aa48ef5b554f240b95b9ece27353d7fa640b5321b05a44a7382601367346128a1e00c8f010bdcb4d52f30724b9af
+DIST firefox-91.3.0esr-dsb.xpi 574176 BLAKE2B a40133c5575b6ac80a500d7e4d6c8abb0ae3084cd9b926345b043b66c85320c08f15842fc316110f0d5a413a5688106779211df2b1d55e8fc9fab7250d737297 SHA512 091fb20d42b60c3a73e0b8cada6069b4d168de66751d72a5bd878cb19d8b1e222ede057bfbed72c4a16175bdc9d62dcba20ff60220ab63b562e3565b862c553c
+DIST firefox-91.3.0esr-el.xpi 647258 BLAKE2B 585223a672140f88e63f39b26669dcf5d738ce03975838425698dc78d16464302c6b3f7eed76476e343cd9d86f89ae2928d2b664c71c1411f1fac750a351b266 SHA512 d76784d0fbe38cd0e438bc9ca86f218afdb8264d3850fba72909c69158624cc5d98018c9588adca3f44a1593191835d4eae8716721a33d114964e55b3efddbf1
+DIST firefox-91.3.0esr-en-CA.xpi 516472 BLAKE2B 2248530d7b3226fe9c9ab2c32769cc9419f1eec81696961469bee9bebefe44e45ea6b1b6f063f657fc0f7062e738d78fdffe3775e08fbdda0a7f44f28fc44c16 SHA512 e720fc864b9f2a6a1e00383fa3e84ad7bc9d6a7cb1104e172bca6acf89c829e5cbf638be3acb47d2eee2d029fe49349b1cf6fcececd8c2b8a51a344b91135b5e
+DIST firefox-91.3.0esr-en-GB.xpi 517069 BLAKE2B d7cac13741d46b7c39f5b812406aae16caa3f6a3f2e67b7d52a85fa84f144e04a913cb2cbf9efbaf2fca3809391aae94bad79b00658a210e45d671b5593a923f SHA512 4aa91264a254076404d066779badbe57fa9128f74c410308a3c637a4d684544b14110a8ba402ef5c8849f679e83bb92438cda470107ba1f00fdbc875299498c0
+DIST firefox-91.3.0esr-eo.xpi 542949 BLAKE2B 24f79414c1b4519d288fba4015e3242ed0f758d067c91bb38ee23178637745e03f622fb640f9edce0d9e3c31c59840f7d4d333ce678bdfa51e62caeb6bf438f0 SHA512 3c9119b00b56ed0ce80c5dc96a56aa852715c2512ef779dcaea192efdb348e05e2478f9681681b456038591295be059e86f51517e536aca38a65b8c17efd1523
+DIST firefox-91.3.0esr-es-AR.xpi 554544 BLAKE2B 3e00c260c9d7cb2dd51c7676ae3251ee280bb68068b7b4fedba83194e021d6bd6934c6302d5393b32fe510f6bcdd92790b467b1476a21f27469e8798c02ff9b2 SHA512 4d1b5ed49025cdeb3c9187c54aa8cad3517bf9e2fbad6ea9e279a1603a81e582837abf87990a6e8621a18bfa13f3d70ca2c1903a3b46fdb5060bd4d0529a3067
+DIST firefox-91.3.0esr-es-CL.xpi 553849 BLAKE2B bdb3803e846117dacb8e0eec2e2ee19e409b2186c39d9eff242edb7ad5ddff15249ab8bbbf75876e7f3d18f108e6d0bc2d5573a0cb3e5fc740777fccc7f4bc99 SHA512 7628ae3ffd00a980bb74690180fbda6d0de3c4c664c404e93d3c61796b0351e71a22195d36a41bb9a2de182d192a0fa5c6692914bf3f85c50e30dbc052895ae5
+DIST firefox-91.3.0esr-es-ES.xpi 542847 BLAKE2B 915a85467ed5b7778df38436325c0cf6faf1d4ec208a8327c08d87788b6fd0f2fe12c9d6554c48e891c92ab33ddc0816b1f7527bab3786b46171ceae07bd93c5 SHA512 5f6e62752e9373445352ab1c52dc71f03c4cb97cbc0dcc246063ced993465b518c5cc30e6d66eaa4249f46078df7b86540100213c6d90497840c224d63133ee1
+DIST firefox-91.3.0esr-es-MX.xpi 556754 BLAKE2B fd611f581571eb90c5c8be76a5be36d2a9208bc9af5b50dca2a1f5248e47f0b3b31fed7ff8df83c97bcfeb1a0906dd90f7c8bdfb09ec5bcc3f9161c0a8756d22 SHA512 5e6cb4e59f083d34cfc035967e349a2e25f24a443499dfdb06da3f059df3c22a52eb5fe996eafeb2f374e04f130c18e18848aee9188a76a230f9c74d30f99b14
+DIST firefox-91.3.0esr-et.xpi 494584 BLAKE2B b00cc101d67003d8cfff27194224fef4a05f7dd3d9bb6ec5adb8fbecd846ae13abf86641deac6b7471a4b9251e4a8519a05c4c2b07e0ae1861879e082306feba SHA512 38e2c8bd90000122f7437f1a282e6d62dcd48ae6aa209016f3ddaf42c0cfeeb914cc41a0b3231e8b8bbce23139d5664d971e2c27fb5c7f68d74df62c482e1aeb
+DIST firefox-91.3.0esr-eu.xpi 539373 BLAKE2B cd47d852c57f93bf415f047639094c4d5193c81b69c65d743eac9c17510a6e64907fb753cba55f6e75ae4b748b8fdeaa77d9c9262ef91a3dcc218c3061a0a334 SHA512 ef6d06fd530c38d5ea224db08c849c4583d6901a528e918e9bea3162cb4a73fc3839dc45592c1a56efe3808f7d1938d02399859251edb17354db575980a3b360
+DIST firefox-91.3.0esr-fa.xpi 570986 BLAKE2B c98f1b4aacf241d4e479fa2e8826511d5e1b97b92c8b148bb518abbe50c0cfb44d44bad89c2717fdb13ef2e84a6fedbc6dd6216d60ccbc204255852a3702c967 SHA512 6411e81d81f394c89be6f2df9dfcd9185c3c2b00f5bf9f163281e9d5db1e51a79009c5b753c0d739eec94f07fee0b82c91c2974b0f6e7182ae0baadcda1e27f8
+DIST firefox-91.3.0esr-ff.xpi 486054 BLAKE2B 45fa8a6fa3f3c257c122b5d09b982efe57282ead478e5cb74728ef10c1e0339d67f033c23daf3d20fb851f25bf64265720c1b4f6ae67bc787e19f4be212ce5bb SHA512 ae8f4bce9833b73afdbb71116f24ff1895fd3d5f077b165314743bf0156d2eb697f1a26972272499bb70447336c376c6b1a4e8af9f19f347df1d999af12ecb03
+DIST firefox-91.3.0esr-fi.xpi 540701 BLAKE2B c39cce82a73c14a1a5adbd2d1e2a489f9ce383874db569498afd956e61e3d1e9ba84f98928b73b31dd85147642f098dd8633325a5f2f7a1c6c6227f82fbb36dc SHA512 6ddff885638217fe6935bd8e63cf9efef0d675bd50b368e22906b360965684033e98f73f66ed152db3af6439d4626b7aaa1a765ee2a49721163986f7cbc904c3
+DIST firefox-91.3.0esr-fr.xpi 565634 BLAKE2B 81c5125436f1e29373cf2a93927faa2c7f8cb4d04302e358889966ee98c4fb11748e3755ca04b4709686a3444a664cf8d7f38aba70c734fdbcdab7c78940586b SHA512 88d259d80760cac53f9fa6162843d39d46020dc52dc27bd63b72c80b20876a0a255a42686f67e21f526f79300e4258275ab3b7490fd936f386908fe432047972
+DIST firefox-91.3.0esr-fy-NL.xpi 549525 BLAKE2B 45bde4730b56bce4119943ea3a62d8f298a38e0b9abf5f8be76f5a9f81b71dc1fc15fb997cf996926bdccd38b106ef267583e7ee4c7fd3f186fc7dcad003f896 SHA512 d6a6801e25d5ed19f2c14b7d5914a5057d2c8099d01874b703357206a3b41c888a7e190fbdb36f6c2facb8fec7cd44e3cafdd45187712e80d28d7113f570b563
+DIST firefox-91.3.0esr-ga-IE.xpi 471091 BLAKE2B e72490b6d6a66b42acbe60027b78fa49900a8dd5197f94e839e49cc75c94408c5287bbaabf3fc29a2402849e3c4f6500298754e9b11a1dd5cebc8e2b253705e5 SHA512 d515fe37ea675e18f853b762d0723f1e96d2a2ad2fbc8a367b791533a6879625d4f6d1b664a4f8d80432306127c6058a7120d6ff674bbc7e5c52269267d3d27a
+DIST firefox-91.3.0esr-gd.xpi 545671 BLAKE2B 99ef84187f3af2b5a1f93ab20b54df7ab9827d352dbe85d6f720cecda0d1e4fb2c0b433e68fce6e7c83f05bc1c3d3b308fde9b1440cb181698386488d2824b30 SHA512 77b88c58e129e76944c74dfd000d1ccf01980ce04829693f94949dda709c4b11cd01d6ab6517521d36f95fd049a8e08c943da4fbdf598d638511b4b640207b66
+DIST firefox-91.3.0esr-gl.xpi 548590 BLAKE2B b41ddc999b13fd51d6333c7e2d19759602420b92099c0180b672ec750ffe1b7741df3c41cba7529333986e498f5b951f24768ba9df83b2d78d5fa220cf4d5c7f SHA512 e0ab44d7fcb4baa364a6f74aae02ed1de97c32c9b738ad7a0bb7ea16925ed7e808485bfc2a8aff98db5ce965420a0af09080f3f0976989c40e591ef94de81019
+DIST firefox-91.3.0esr-gn.xpi 566594 BLAKE2B 4465cdf59dc74823ba58c8c947e63e3ea863b75e04e3bbe19fefcbf6dbccaf390dc5ffc8f55328bc4f0e6daa575377a3d26a7d78bc65254e6853bae7a35a7d60 SHA512 f3d4d2cde4a4120d1c5ef323e5b2d8ce0109c0d2be32cc56bd3068dab10bdd762a1728e9c8014204658a5af21f763c0d6bc96ab11d9d6f1265bce3de3f648f6b
+DIST firefox-91.3.0esr-gu-IN.xpi 544926 BLAKE2B 04eba9c891297d1545bdf7f466ab366bfe41f89db178f9315fd161d14569cd836005b2730c8e2fc73a0cac873b3c3d71373fff00d14a26d1fdcf5e12052b27a4 SHA512 d21da8323368b989cc0a5b372e86fd3a7df52d0b29fe5448d0a10d2d43ea7bbc5d6ce137a1974d3f19040416510a7a9b75f264429cb6e56e4a072bac471491f4
+DIST firefox-91.3.0esr-he.xpi 563925 BLAKE2B 47409cab870b7976a51a6f128dc7ce1a323f0c9ed4a8c0dc00632087dd06ced8b7dd2ea22e7393ad2eb12f4b1e9eb61f6cd3c404dd57be3ed2327736cdb94fe1 SHA512 af138a527cf815ba6e9b9dea93a5ec1d6348a3eedbb6dca15fa3b4672bcd122b64785746d5823f661c631773af74f4a12ef8d2c98dbcf7e81988bc74db0df1e0
+DIST firefox-91.3.0esr-hi-IN.xpi 575956 BLAKE2B fc7f15f06b7d16e66b73ea6aae0e87bee13ab280d4a8298b45b270555c70bc661267dd587d1424f50b07d535bb6fa24ff67423c8913bd2a17ce1a459bd3abecd SHA512 04563b192bb50d580dae0d8ebf576328e785f3bf971f54e4abb3ed52f1edcfe7154283396daea15af72cea075426013acb4eeb13eada1c06afc69f7bf16d21ce
+DIST firefox-91.3.0esr-hr.xpi 544690 BLAKE2B efebd168624b686678e5cea3122b4eed6993b1b001ae807e677c71fa6b354dc86d69b5dd52bc462a359ca256053c117afb609ce58a7090a9216937f70771cdf1 SHA512 03a10939a2949ae3a4ce0fd637f892bfa163adc172121c45ce85a68e49055b7f84117d8dfabe974f5e114fb31e0d63a50cf6116c23e2cd131c583c01f78beda8
+DIST firefox-91.3.0esr-hsb.xpi 570287 BLAKE2B 801e6dd924e9987bbfbcf61dbfec8fd026ada2e0a8f439165a93b15783a749cbe911cab7746cdf7c62e255918399f988e8febcba383a0b25e4f3fa2e65d0729b SHA512 2717cb31d6bdca52098b14e8cb640f437ca2d8084968283639f8cf08d8d1ae9887891d4276d8619da2d01a03ee5be8d4212b1b0691b53e1e9a08a462ea4e3790
+DIST firefox-91.3.0esr-hu.xpi 574172 BLAKE2B 829fe11f64d78da1972d3405e636bfae83456a797414aa992422cb455e17ef9cfbcc608212b99e312b6509786dcf60b941517721ad5029f60e903fd9b126d1c2 SHA512 5dd972b42c1f58601bdfa2bba3e9ea8d2358624428754994ac61fa7b31dce0e0a76b320fe36324950a31bc5d9770e52acf627d7dcf7771af6b4b820df8c11f95
+DIST firefox-91.3.0esr-hy-AM.xpi 599321 BLAKE2B 02f3a479176e71f9c225bdb4448c9e4da1cf111b854bf0342617a08906429a101bbef29cc24717ebd71549feaff378e22d526318f58a67bad4026e8b6484edb3 SHA512 1e986afb36a0f28d44735700192727645ad8116a77d06cefb79883e7e223c8cff5f8721bf218dbee05e078cd355ac6683a143a7c717456fd96c91411b5401cbd
+DIST firefox-91.3.0esr-ia.xpi 539816 BLAKE2B af6e24bdb46fb7ef6fa4806c4a191f90e2431fbbe377c5d1ee0fefb33d71005f1a79b24b201df34d1bef9a233103cb42162643274f7ce77bca149a27c34b2434 SHA512 7478a1c90d05b800dbc8cbdf286c1b55e6377511e7a479fdd64bc02d5d8c4ba256aee30a84626a3ddd3ea81a795eed826f85246a1cbe2272523578bbf913d896
+DIST firefox-91.3.0esr-id.xpi 534169 BLAKE2B 1efcfd47aaac2a053a3bf5bb86b1dded26ebe572dfd1e3a8ad431aeb0191b1adf09cd1908d87696eee7c35404b20cac3c5159b3b61abc346595bc678945f786f SHA512 e9df4affb1fae3fcaae299a8953fbfa0c703123bbd75519d1c20668e64d7cc0e50705379871a1587aa0a8ac274e3fd37118bf36adabee75e0b884e04aa151131
+DIST firefox-91.3.0esr-is.xpi 481673 BLAKE2B 490f43b879857ab81daed8996389910547cde64eb97a60e69d138b19a971a5a85079f299eeaf6d423ccc3dc483d5a888e20404cda2d7f5863b8027a69a88b613 SHA512 70f3245bcc3302c59471c3e781ad07ff076e56ae24affe06280bbe817ae0255a816aef85d958b3ff873e9f52954186460f102d5172271d78609790da6ae15e63
+DIST firefox-91.3.0esr-it.xpi 467592 BLAKE2B 58faaca1155250686f459623d2dc16748575795bc589edd2487df734802dba00755bd9dd191f91dab97461746a04c160730fae6956e8004445243e712a5f48b6 SHA512 7d5b1ef7677d735267d81d9923212ce89e44fa39511a0cc8ce947c59517e5acf43ea498d23fdfe52625390a031a7eb347a2aa625ab46de97d17c6203192d7e51
+DIST firefox-91.3.0esr-ja.xpi 599763 BLAKE2B 51cdfeb9f96f2555c5abe129a1685494fd845a75a2924a602a4f29346cccda2214107bd7cebd1f3e13b39af3c088321c556e00b3b1cc25237397cbc82989f0cd SHA512 dc124952e98ac7aa56dde4621737d5ed10faa520508de67de940ff45488582bddd920017700c8879c6147542e493457cafed536cb7f3feeb1e2e05cab186a7ef
+DIST firefox-91.3.0esr-ka.xpi 601252 BLAKE2B 84a8430f902b8bcc919459d26f7bc1f5b669dcf8791b6d966bca09fb35fbfa9be29368e24a64b16c89052386c14ebf3a7441efdd7447b535fbfd0ee8ca8da004 SHA512 06338fb80b444589c4e01630b015b79d0fb1589b19e067d54e03aad81245561aa9659ed9ea1b5fe016fef74a93c315ab199d13c3379386fb73958a429ca2b043
+DIST firefox-91.3.0esr-kab.xpi 558644 BLAKE2B 652537fce44914933ac544ca261315bdf7f6897c7fe56ea985bf5c4abd8df868aec5ed4a2e77f5c61586d3881374909ed43196a3d00f6f3b809a259b582e8112 SHA512 413d0c4937beb8348e034d133e10d13e47d5bc2dc72b901d7a2e8d74364735465b90187cd23d455f78db30f48c94f531851c8e9e8a026ba6e61e3d18c19170bc
+DIST firefox-91.3.0esr-kk.xpi 615023 BLAKE2B c261060b04c2f815e57b0334e6a39c8d230fe04f80759e790857505d3cc21956c886de892c9c73136d53b3ff5d7ae02b7892d5a333c021cdf8dae1bd01fd31c2 SHA512 fdd4430f4eb6c1a4bc3ffc0bd91732286b7656637eb1b88b2fe8da99dc450b10971ae46caa08bc864048f801bf715c3a8be9d65f7b99f34b1e68a80cae0657e1
+DIST firefox-91.3.0esr-km.xpi 545289 BLAKE2B dec98240d0a2077b4b8171260cbabf8be624dddc114e37c886211a98b7d15b0af09865f0d1a7641217f62bd0d3addb0ef35d410f3eb136e2da87b6b05655908e SHA512 48ad4e4eca64f38830867475bd6eab317f086530f1baa9e4be8212913876cb57b29b715689d2a6dd2706c0fab73fd82f5ff0d09a788a2c67f351cb89b834eb2f
+DIST firefox-91.3.0esr-kn.xpi 508936 BLAKE2B d00c95eff39a028ee5462505133f1dd691115b7879c6d32db0f4cb998b33ffe0cb0dfe095af6bd0b721156acccf8ac68ff72d6cc3915e414c710ee66d1810126 SHA512 17491cf459f0a71e2b14b05ca36472854a9b379605c034f69ea868e751e6ccabad779384c5c3b755ed13f6b672957788334cbac7e8c4bcbeb585085f7638e48b
+DIST firefox-91.3.0esr-ko.xpi 585482 BLAKE2B 715cb964601375bd2676a456b01b20c5e0cc7aba9bffb94a455fff9e3a07413c2c7ff47e88706b7f100fe33ff15437a1e0274575b061d00b254208a3a5b7fbe6 SHA512 9921b4b07cb25d799130f9cbe469025dad111dc774399c86dce39e84541030f46ba3f3c25ea7ddde072e4796902856741ebe97acaf85acacc22a18eb9cc2add4
+DIST firefox-91.3.0esr-lij.xpi 482099 BLAKE2B 0526982b5cefcbd5d1d3772504315672f66744d4cc99c4b3afe9d338cad436b06f58a5197754ca87a68832859cb8e4e41947db5c4197efa08b263d1db664c860 SHA512 9c445535c6de513c7911b273f4ef3849ea5e87e58e81b10e07f6c041d255af95578f7f09100fccec92488a47e1039d2ad4f10b05834e61829524c2d64fa2e647
+DIST firefox-91.3.0esr-lt.xpi 567966 BLAKE2B 7df84a326c101085dc0169bb259de3df4cb1855d361dda6ba794556def3821f49a8f77a0bc8339c2c84a077f04c38c38ad24dec1fd6b472a25bc90401587242b SHA512 c1f1c5a29a915815bc16dda84e38b1f325361f1e859df5bc746a49196cbb6b30094f9a57a6a2f5b6eb6ca4568c8d94ca51456af601eb45181e17aa5d0df42951
+DIST firefox-91.3.0esr-lv.xpi 473686 BLAKE2B 44f92e2d9f24b5737237b09c280fd4543dd161ce8ef5832eabeb1e68bc1f3df564cec96e73fb30e4a7febfd9a5556c134f8927b965793b7eccce4d0464e59dfa SHA512 336efcb898c957412bdb4daaedae7988e35a03e32ea489e15e1060bbbce21c26d486c52626313245e03de41d19bcf35063dcf367bb490a40171322e7ebed597b
+DIST firefox-91.3.0esr-mk.xpi 473756 BLAKE2B c161f1103edbf0a62d4d8abc3ceb5145382761110157dd8e8c7b894dea1c11cda876df0f3e74fd2ba022e9627991f62c65df6e27d022f6b92d13bd83b662b1af SHA512 ee4c6a00c2af8b53267e560ed57665996d0668a2dec42eb960dcff5d474557738485f31796c014d3d613a624e805adcf29a94c38290c0ec62150db07cafe09fa
+DIST firefox-91.3.0esr-mr.xpi 547134 BLAKE2B d61d0ab6787f5c51039df91313950dcae2d3d0bc6364171e4f361f13b62fe483a0c3aad4ac3bdfe23b9dc764affc95f51592140a98b03f8084d318c0e77d6656 SHA512 130998d5d61d892cb60aa375d8164cd562b328145b110ee5b637ff7e642fbc644825fe7e45f5c11bbb198a51d034ae63143c8a968a9747f0dc7bcb4778f81053
+DIST firefox-91.3.0esr-ms.xpi 457537 BLAKE2B 7dc872a84e97b0ca1b93891f6c372146129926906171f9923b2d3fbebfc29b01448ac213af699a86f20bc8249f8871cee3d5135868a27a582c771bc6abaed035 SHA512 1688eca7a9a82c13ff3e8d539097ac5342b3399fc5c057f39cbae2377a3dadc641240ba2814745a47936abf0f4527e5da21d7cf2ea26939029a448318d7f812b
+DIST firefox-91.3.0esr-my.xpi 530545 BLAKE2B 7df234a0b9759c44aedb8b04e66a5a9b60b0e611111bf3c078a7f22100592b2b1d04890b500846dddf1f77a2f4931d9059e42c649c92920c1cd57ddfc7162af5 SHA512 5e6e9a4649fd5008024ac45ef8161d6115446aca480a018599b154f0cc806ea737e515769fc28065b6bd48824e4dc88a88468946b9c6bb49ee6a405979ec834e
+DIST firefox-91.3.0esr-nb-NO.xpi 536416 BLAKE2B d0001f96738bcd509fd71a093308ee7091e604acc7544d0ca57f7dfd25f21445b338f53e77f334b4186c4f9b545e5a00e0e97adc3c748ad8ad99bd24c0d22954 SHA512 1bccd54f8c0f0481535ad276da2ac52231f2ad425e8fced16b8e17010a30142162f266d089c9fc2a57e4b1c8e056a2babc970d56c4e4f64952f6b4b36e7f066c
+DIST firefox-91.3.0esr-ne-NP.xpi 486609 BLAKE2B ffcb6c7af30e0b9c87985956668b2b1679d9befa51eeae7d7eb4b90ff9dec5ee10395f290a9da3dd3e54e171bdc8b1bc2c9afabf8e13d212471094e9e033a558 SHA512 06296bd9d8eab79b19c3bf636a04354fd96d4c2fe1903343c48f290aa9bf43fd8b2d175e37e6ee6a9a6ace1d60b7494a33187a94e70d884541af3a08b26c7567
+DIST firefox-91.3.0esr-nl.xpi 544349 BLAKE2B 95be5d0652cd9af9a263f800f08e0d1da7b7f20b88f18fb6249b397d37e2989de07723bdbeddf6beea79a513cc3a9fe35664e7868d3a42ea08ecc1839f7f8d38 SHA512 3c608305a915693abe99a99d03d0bcd96ec5a580f9545e061f1e9c2438c79506445310f216c65b4d62f0cb507467fd5e9f06e128eccd10270b2a9a172b40b6e4
+DIST firefox-91.3.0esr-nn-NO.xpi 539202 BLAKE2B 4dc36634d372292efc74d82a0b28edb1c35ed52107048c3ce9153950254cdc18c82f5b7e6ca2c463232d3a7b3cb1a2752b710a6f4dfdd8169232bea34ed23f0b SHA512 e4bb708b1eab90c28deca352898956908bd0fddb5c9f5f3718156b53f6498a3d3608b6e614f7f09f11ac2a7d86e4da483ef431cba23c51381799377900d04436
+DIST firefox-91.3.0esr-oc.xpi 560173 BLAKE2B b89c674524e093378442092444491724faaaf388f47ea99ad5e02c15b8aea32256f517c83acbea59a04cd1832eea26fe2db7a0c2861b4643bc65be858835ceaa SHA512 fd30f7884ffc3c5d202ebc033762d8cdc03118eedfec888f2c399d182707ff8600e4189776f9815e5782478859656c1adc2c8b080e914c01928343dd70fb8ab4
+DIST firefox-91.3.0esr-pa-IN.xpi 605327 BLAKE2B b877537f8cb8b381be25358bb18dbc8b89df4d00765af9c26e9fcb4aa4051cc95c5cf281f0a1ddeba8ec8fbc6f646bd7ace0d9cbd1e49c1f694e942dd186aa08 SHA512 6b6d5cda222b073a8e3dbc61b68f4460661f21686d03d81a30b59430ff41b32a3190d14f5b011e5b251edbf881d42d673c4adf32d7f75205772fee2a2f2f68d7
+DIST firefox-91.3.0esr-pl.xpi 564260 BLAKE2B 3a6de18dc86f1232579b72d45d17daf60ce75b014495d0412fe39df6bcc83a420a527a3c9ba7af5c105b2ed1f33ba1de8a8f4fe9e20a07eb0f1fbc776cf887b9 SHA512 6be4b84817d4406b74d339050ab2fc73e7213bacc54e111a01edf9e79839d4513f5b8e5e8d2bab33af9914905a56b56fd5e4be9545f2a51ccaa256a8ba2ad5ff
+DIST firefox-91.3.0esr-pt-BR.xpi 550106 BLAKE2B feccbe76d93838c309dea0284c2d3767e4c224a44a9fdfd009f47260b32db25327435e7ee437dc269baf0ab1fbffc594178414679cae152d2d68fd925bd4371e SHA512 660d7d293fec0d434dd5184176e41a4d8096b2d245206741c3a997674e6ad55c0c1ec604683e9419d5627dc3932c624ccd160eeb535a097d419b0d9d23d4d599
+DIST firefox-91.3.0esr-pt-PT.xpi 553474 BLAKE2B 138281c56c435734cdfb59ee50c19958aaba73f53abc32ad565bbae0b2eec42cb697d48f742b979019a7995b39fb07f6b531de9f682e97503c89013967966f93 SHA512 6855854c6a7cd009e7a5f17833cb09a1c85e2a56a333e662252d15ab0eac38b20ac61822bcb23ac389ac6967497211e20bffd22047ea15241bfe98b9d3cce111
+DIST firefox-91.3.0esr-rm.xpi 544478 BLAKE2B 7df044279ac4de819ababa59600420ae2eb8d8d8dd76fb9f76a01e82436d4d592e2010149bd7d89f1ebbe21616577af2dff799f6afac5aa86050281d54465b22 SHA512 bb8dd03ce00c41c6986e6b21d16f1df40ba31b21b6aa42366745c0cc616ca7fc1a9780f11e588796e5a1c4cbdb05984f933caaacbc274182fd3a88000821d66f
+DIST firefox-91.3.0esr-ro.xpi 545828 BLAKE2B a24d75cd7336f3b3387322425930fae6443d748f3dc32f4fb45c772f60e3961fad98bfd53418559a3ac32a799bd1480c85660cf99a16d19853fcda0cb85f2811 SHA512 831957527688f21c45ffcbb5993d11a7ace7d60ef3383850c5c03811e876ac4bb768766b3f5d132210656ee19acb3748bb5216ba105bc61682b7a7efed9153e9
+DIST firefox-91.3.0esr-ru.xpi 636051 BLAKE2B 266ac362c40d49f8077fd96ba8f95b9825426dae681ae7975f644c8f06a1f7fc676daca67a972e96313a867f4f2a9d89164dacdeb76dd63e4e75fda469367ee7 SHA512 51c47c04d9ee5890ff3a9656a964f96ee1eadb81dc88e2fd38fccdc9e052ea560c74d95a5778999906a508c8e3bf6fd748d5fece40ccab507c08262c14bacf3e
+DIST firefox-91.3.0esr-si.xpi 497218 BLAKE2B 2729a8ff6ee4687c7c7cd9a917c20d01dc49f8ba5ac12c4abed541104c8f505814db86b6f3542be1add8ddf170996e8dfdc1b4fdce7fc011b56767124fbc12c4 SHA512 42ba20d16c92b49f5c165715b67ad9d3d686c08238040def58ecf2874b3b5e3ef26c4c3d2afc248c4ae658922c0b5c0bf75b9f097850cf56d6d7e5b26209d76c
+DIST firefox-91.3.0esr-sk.xpi 573547 BLAKE2B f14711ddef612ea1dffbdabea0f545928f2c3cff5cc6a5fa8a325495e619a8bd49f1dc10cb980b95f8d5394eab6052f660a39ed52e59a9f24a920ba80073fe92 SHA512 bd096c518c13914457abd0720eeb5c48202ba9efedde512325ac9004d778034694c0ed6543f893639588aaecff2caa93dfdedc228be744f54a873f9d92fd77b6
+DIST firefox-91.3.0esr-sl.xpi 543046 BLAKE2B f9c44c70835f8fa7c9355c0ba8cc49a79e126569bcfa3d6d794cafe3efe6d804d8bdac9d2efdbd88b38f4b01140aaeb43ab434de985475daf387dc86f0ed3a0e SHA512 6f3561bbe6a2e8a4862fde0e65ba735086b181f30ae61386a391460d844e2b88b73c969d4ad963efca7f2cc96e1fc42d9adaf2de13490dec445f9af538975b72
+DIST firefox-91.3.0esr-son.xpi 433071 BLAKE2B deef2d272dd6df94fbe37cb76f00e4c657c2df7d96e6477972819f92f22750c77ebf9525974106156650cf2dd90914a2009a0c5c3368959e02af050d4537880b SHA512 97dd89f0e188f8227b88982b203ce627a39ed844377337c9959a51aa72a10166811b50cd58e2bd9b7692d39a6000e3d95f6139b017f92e9c6044f74874aba50d
+DIST firefox-91.3.0esr-sq.xpi 562512 BLAKE2B f1feb2531d4670cdc6011deec368e906f71dcfcab56bf7662a5802beeef1d5b8b5e7ef82d765a4baf6b37e54a245fd6fbb41bc57e2dea18939cf0d2b1bed1273 SHA512 0bf7b349b13e86d5e08741fd12df0f0894f1da560830c381b16f50925ad3c67ecea448c115cc7338915e77415b706b6b52001af48561a1403b6274612a5a4c36
+DIST firefox-91.3.0esr-sr.xpi 601681 BLAKE2B 0eb9dbe2de8b9e23cb44ac07a2073a2f7de350c0ce26e5ce7d36efabb906e5fe063f5a63ba91cd32a9176788e74c6c5c26aa90280ef6b4f71872f095453c4b18 SHA512 37a9c7171560b39834617c1444b84a6e748aee3b503a6def9c3d53ef659eb0bda32ca560b71c7eb822f18934feb55e208e9c77397dbbc9d330b8dce77caff31d
+DIST firefox-91.3.0esr-sv-SE.xpi 547621 BLAKE2B 08bd3b771cf6eeeb153d95e7d23665b1f0edbb16fd5430a4aeba3198609eaf2534e8ad4d93cb5e9da030eabfcb0688268392cefbc62b10df5202e0f5f83ce2f2 SHA512 d93d452135010f1cfc2d18f1f25f15977ad1a9fe08fe5a1efc6ce5a3f3518b5148f47022fbe004aef40ae0269beab20d39a6bfcff4eb33456e7c3ad6b3c07548
+DIST firefox-91.3.0esr-ta.xpi 525427 BLAKE2B a87bfb00781a1de250b00a5006d5a500a5e84e540bda38609bde9a596cfcb70d798295ca4b28153dbeae93af63dfa0631365991d89a5489ea9f2405f71cc893b SHA512 97070e3d1eeab0ac44cc6bdaf3de361e28be5041b58fc97a2c403cab948842a6a4a0efa4d80b6804d9ba67020f23291cc82ada5e843207d804c2cbcdc2d79cb9
+DIST firefox-91.3.0esr-te.xpi 565913 BLAKE2B b3be6348add4cad303525b90ae55a7681bf05d44ce4cd3b8ec1281143133bf8c29cb215d5ed1a0376689a5a434ee1c2989867d4ece8aff0994e9dceccc8c4af3 SHA512 72f0b5cd8a5b177be66fd6294521c555125be670aefff330c2703cdea7fff738decd7803989c07f307dc84f7ecf25142e4cd847a406edc672ac03b796f178195
+DIST firefox-91.3.0esr-th.xpi 614796 BLAKE2B ab5b057ffd367c917af6afb1b0959df87121bc8fd37dd8eb3dbb34f66508f0004df81d031382a55a2ace4669e36af823d2d6c73a5d0c27f48cec358d73716651 SHA512 95c3986a1baeac27266ff004631f4a4f0ff298f5c06eb364282f4c90856df6d356aa9aa0d04640d80c06ff8e13ddf7169e64641bdae16bdf219eb81bcc3d0b4f
+DIST firefox-91.3.0esr-tl.xpi 531783 BLAKE2B 066b2146125f9a5dddc544752b9955661168c5d1616ecede7ffd4ca4553aed22c343230a5d15a3a1de908e82456f6bddddac4b1342ecd3b8a7666adfdcb36ead SHA512 33a89f900e388f2ad1372f32b4e726fbcbeca11e25783ebf3aed5153b557cea05885f36436aae9dc268c0de83a9449446c73b1405cc1fcf56c8dfae3e438ceaa
+DIST firefox-91.3.0esr-tr.xpi 560033 BLAKE2B 6b13f234a86d38a5c4dd4eb46e82fac3d37845a909cfee19df634dc52b24333c8a78e6643715474615a6d6e2a2d62915b8fbf86496517b404400e484d82e2847 SHA512 f508ddcee0e1c423ee437bbf20b98d96a7f40d70311df05efab9b467d56c0bb9ec5030cef0a3f206b787b15e3baa0fe649bc9bd8ba03ce9e050278929c572c85
+DIST firefox-91.3.0esr-trs.xpi 503925 BLAKE2B 11b9fe4f1a914038e9ac82247957fbff539c2d19aa7fec681ccdf7ce4c721a96c6d1f445bb007bb17780bb5b0fc69840fb6f7d39bf0e57ed2168321603003477 SHA512 42ccf89c4ab2b02d015b6a5d5b81185409a1b49d837c6d8da743fa1f6d6935564a9a28fbfc185ee56161903ca5f39987b15be54a63461cbf349a0e27a1daabe1
+DIST firefox-91.3.0esr-uk.xpi 630023 BLAKE2B a65d6e9d1a04b357b2848687762dca572729a057ca534d8bc1c7b75f3c9aaa49bb5f5a29c6ff1a77428cfe6d788f7ac78fa2fdb65a339f0fa533da152cc8c6bb SHA512 ee66098a00bc371ecc4883ddb022bca5960e324349bca047abaf11fcc795075e532cb075160899fd25c86357e865a5dc70548a777eb393b82ed15d7d98819692
+DIST firefox-91.3.0esr-ur.xpi 573052 BLAKE2B 8bf7de96591f439196803a89e5eb02e37ec7747ade75b1d1f313f09073b2e7a0a482d3ac6bccaf4863aa74768ad86efa7922f6f35606ea71aa33f9db286a5686 SHA512 01f8a4fff5f425f25ef498a9f99dd65d9ecaaadf205237becba0d52a0e8054b5203104cc3e19a11e68bc19a57f62a4f72fb8aecfc1450fe39dfaef30768495b8
+DIST firefox-91.3.0esr-uz.xpi 481199 BLAKE2B 9313487f4a8a59ef28645dd9fe1bb81a77fd05ebf5402b442ac4c1cd2f533917f9a0a8a20fa442a48a60fdb40e4111993659ba907230af98d98eda8087025201 SHA512 9d71b314ee860809aac0deb903363f8db1151cdb21792c1524593ed0a86a36c9a132d4760cb749e6f99d22e5fa75f243efe85cd7ece395e7779d9197612b80b5
+DIST firefox-91.3.0esr-vi.xpi 581328 BLAKE2B 596dd95b4a8573c4d0dc0434be2ee5eff4ac5caaeee263f95838ee9e7e607ef9a4adeb5d08f9302235f91715a819ca90c04d16cfbdb2d611540aaa55dfb274a1 SHA512 dcb4d1ef7746844c2d25d9362868bd776cffac08aae936091d043a6b09f1f15cf66f2698eacfda957c4b0cf8576ad7a8191249201a604b13442541c984b874f8
+DIST firefox-91.3.0esr-xh.xpi 435358 BLAKE2B 96c7c7f452184145ef154126b6c2fe6216faa90b62267a0946871951547c13d86612066696549b06b99a0776a88911b26432758e9b32cb73715a73d415e82c2b SHA512 6cc4acd79aabf3f062811578bd4ec98a26520fd05af7c878fe3fec699fdc86da760332fac5c0a6d814abfa1fb2919ed869ef8f0dc5b1c5f0b582dfee4f0bbd74
+DIST firefox-91.3.0esr-zh-CN.xpi 583248 BLAKE2B 3caf831df6288ec5c1025f20c1834b6993fb5f50349d9b8715e6e020ebe5e1dcb0bf62592f800e03066cf1564a8bcfe0cddc8e90f72f6d7e3298e1ecc97c71b3 SHA512 95044ccbd6ef200deec8e4d3143a3989277fa309182248d8bf3941c25778841243f525410c391d49aee33a6bfc9d6d625ea45ce96ab7df9e2d70264ce1a3a438
+DIST firefox-91.3.0esr-zh-TW.xpi 583430 BLAKE2B 848ba2ff85a16105153a1810594ec9c76f4376aed110a896cb2de21b8a98574ed6d8ef1b5b290a2c650cac072e4bc7420405263595225170d51682fd5a0b8fd3 SHA512 0d4ab413bda98207f76d4b8ff5f895dbe2e42e67856a93027de18175927e24f7b3d1eb4beb6c1902f2dbd6bdd4e6e3ac164a7a1061de77acd43331b1dbc1d68a
DIST firefox-93.0-ach.xpi 452270 BLAKE2B c7fd81469026d99e21553ec59d0d005e906915483b3765898beba694cf31c02aef3c15789a5c2e2e2d1ee242aef323ca7fa1c142912917ec2ca02a8cb9c604fa SHA512 9a4c7f880801eb1c4391a57107e88e3d43e6ce0a1bd617ba4d11951957e2d62116f102e55bb62db22378460c68d2ecb3a9b9b0285951c46846920ae02360749b
DIST firefox-93.0-af.xpi 425657 BLAKE2B 8f0f1df2ddc330f386d831696dbbbd15f639b0d95ae4d85b268924116f93f1bce22adc10b6053873f0ed6d69f9067515774b7904f7595c89a25edffde2e25e97 SHA512 f8c122c624c139c0afea5920f063b981665771ae107d32b654206dc0d00a8173230a357ca72649bc636d02825f1af90d291b5e09f9b7044d05b4af1ce39f6e6f
DIST firefox-93.0-an.xpi 498005 BLAKE2B d0830dfa4f7a0ea4c85a5a3a7a1e90714e2e476024b77d0b8b44ce4ad241f0df1f0090eb4263caca3d05a66c8885c3c75bf167ccb7055716d7efc01ba4554515 SHA512 df7853f86853cc457eb85b8130f7b2ebf7be97ce28f23f963eb9b05b16dae605c5d3f3b925c98a0aa252dcd84e172e42f87256feac042af57294f8cdd3e69383
@@ -198,10 +293,111 @@ DIST firefox-93.0-vi.xpi 566298 BLAKE2B bb823f537d52dc6ee414c366095396299e47a779
DIST firefox-93.0-xh.xpi 426899 BLAKE2B d089a23aa56a881db5a5092bf6da2133c001802c269a1e99ce7b187eb428c54cfd5642dcf3ecc9362f5f1f8eafaccf5e6b3ff5633f4b908ae72582bf86e0e26a SHA512 3ed06b3dd1d86cc10b4323b441fabd926999a0fcc6aff15c661c91c150fc0a6f9384e310fb1be4d97bd1770a98062d030205033e81d0a674af74f986afca9fcf
DIST firefox-93.0-zh-CN.xpi 567752 BLAKE2B f21d32140357de5cb98da2c75f5d8511c4d98e8405178b7c54553bfeb043aa372c796a79ac6b33704a64427edafa511ce40f69d8b7267d72f4c2037199972f20 SHA512 17c1f6cb48fec384a61ad60b0da4a93648bbd6da9a752be8db1f076dab13efaf5c22fbf539b89b4106427cb310e26aa0f708164f8eb13e045cfeba4e30d048cd
DIST firefox-93.0-zh-TW.xpi 568218 BLAKE2B 4d842b6492967fa0a4e5cfd2fd46091e5f683df3b0cbc4dd13b4693023e79652a21eda449690acbced52df9e302e50ea32533420929baf76ca70cad416fc1a13 SHA512 11baeb65242512faccb1f4e813b62de681647e246268af1c0763e5a801e8d73dd741eb58b30a0a368f354f4a708dac88f7a1ad32a0497e98b67eb57ab0ef654d
+DIST firefox-94.0-ach.xpi 446929 BLAKE2B cadcdc877a4a7a8c52fcf296957b5cece4a70944d138529c042f0a91d0f955f78918852dc3d0711bc86a4f5b9c308bd2ebca40a1c3999309903b4de8dd22f719 SHA512 68712b5d1d427f2be8b875d3339010ff1159de68400963eca476de0675f5ee28d6a2b0fa5254ea15505e4734acdec5595fa10bb9db176b758d502519d10b4a80
+DIST firefox-94.0-af.xpi 418381 BLAKE2B 1a812192fbdb962d00b104b954d77ffeb9fc98846ae18d08202eb7e7e5516d3c8b0afb7a7d7ff3e1bcc8fc4f95570664159c230f9a73553e6b42c5719301ca7a SHA512 d06a946fb8d26449e1cecff988c053e2e0e4d9aeae52a456c306a465f8d55b9afdb8f4779585df9b4393b91d0c5a45ed7f63d954a03491b7e8b69b28f6ccbcf5
+DIST firefox-94.0-an.xpi 494159 BLAKE2B 3c91e01ecc3bd5fecca68bd3f3a0de83ab735b0c6808f3cf7557b94d0e3f7aff5ef801bc3d76891c3b5ac67d976e6d9677a4194ab19f9c3d69db6bcb37d0e1d1 SHA512 f51a206408de03bae5b2c5b26778f206ed79d8396e3b805d47173271f96ecb6effaab434f9a9e8b1dd24233d299570ecbcb1feb007fb0a4918f2a935decfc3e1
+DIST firefox-94.0-ar.xpi 552880 BLAKE2B b0bb09a7a06515875beaa966aa94e1357204a088edf59a756bb9a5ff0b0bef7b69b2b1c55585cd5d8b9fa5016a9067821c03614c9ead962d714f33e4739223ca SHA512 489d61121ab6991eca8d4e2e6440aa38f8b06c45b9b829b0e4e58e07a1870e95873a31b2d7513fb9fe7c1a638ee21dbcfc9d1a654fba52315338fa6493fb3c13
+DIST firefox-94.0-ast.xpi 492496 BLAKE2B 1615af33cdcf7dfb46e447763ca39ad19cf02a454957a97ed6df567a6eb1204a0a459c0ea8f4adea6af2dc17b0e1b739276c6a1f5da58b7388504fa5dac3a6f1 SHA512 3b9fb3394b991e01dc3a06d8c260fb46751663275ad2d1eec2c0c6fb81bf394b6062b470e02bbf171267645fedf82ca2bf1833c98261358bacaee75bee1e53f7
+DIST firefox-94.0-az.xpi 482624 BLAKE2B f546e39f453fb075bdfd8f48876bc0ae2795d0d1548793291f48071e8516b4dd86aa3984a482b5ed4fde09091e0807203efe153e35f0f9fdf932ce6a25afe944 SHA512 411d100a2aaecfdefb563a4170e96d1c548a24e7bf3736e472f24114b858459fa4b6e243a02f3bcf853172c2931986bb7532ca180c01336aff37e53b1edd5a86
+DIST firefox-94.0-be.xpi 611836 BLAKE2B ec34477a19bea5ed81e0e1bc8a0ad6fd9b805fff357078c2b83b158c7b6adca350d1831a902636379b448da336e9aaa3aeeb350ab2a1338a93c11c45654ebeb5 SHA512 331b4283c3fccaa3ac1b9699f8c4c0b50981f1b93df4652c3e828d2d3a6914e3f4b8856d080f52a9948675aa2a98560cde5d2b054d37afd5016df2958591ec2e
+DIST firefox-94.0-bg.xpi 561273 BLAKE2B 03a15d0d7bff358dcd86ecd1c0ec7ada4be3f77818e84081f9fbd760abd9174443ce7cf785a57df198754b41ca2db873db87f27fcbd118673d138a0631ab2cb2 SHA512 6e1cfd9616d67972d4d19b838a244d0a1dcf35d699defea229287a7dfa0a3b89e0e4adf1453a49b7fd790448e8cf193b573a6aec94acef8ca55b6fcfba302746
+DIST firefox-94.0-bn.xpi 549314 BLAKE2B e1b007557cb930a3080a169c15e0330d8bf0ca423f3b57e0abae5e052ed5df4bd198f4f932b3bf2531e97bade1849996048bb83e2539f3dc9a984ea615fbb3fd SHA512 0c9bc3df94c53406f2286d7cf2fdab9536fa5342868eed23b4c9b1b60a9389b342c558569cb40539edcdbda4ed7fa7a67e13396a2eb3181cfa77fc80350ba9cf
+DIST firefox-94.0-br.xpi 518584 BLAKE2B 26de8e4f744fc2a4fe42992aa94ecfa82939ddf6e07d20d2adbe5f94abbcbe825eea4c8696b9fa83a2a1e0df7b603550bcc5d65917bc1a6228bb17d76c3aa70a SHA512 0853d0bfb53b391b58f8a21169ef5d7f2520649006a51b04d2f69348f5029beea799beabf22b5c6c3abc8e112a3676ec2da1f4e990a2ea4fabf3ea3a886099ab
+DIST firefox-94.0-bs.xpi 457395 BLAKE2B dfbfb17d82fe8586cbdc0027bfdc91f7507a8f0bbb9a8983ce7f28f2ac6109616ab6f56bd91895afba4f4bfe4150e95bad7724ef180c6b6379ee9ad210886e2f SHA512 ecd86035a1fc9a39a88d972709722479865f11466bba7f0d4689e26950dcdc41ee67a4ab11a3e9084d4b525c7d783b31fb3417d323e770c08033cf3ba187a5bb
+DIST firefox-94.0-ca-valencia.xpi 522750 BLAKE2B 3d6ad18c10d4693b700919961c734cea1f4d0484b7a913a9aad7eb0f4c3b6f91c0df839d77f650eb077ff89ca7822af547f4da0d23f8c111c7875c8d1f1c2030 SHA512 d8743d698498491378c5b19a71e799675a2234f1a73419d60791da4f49bc48d7aad36a78b85f29b6e4ccea5e9363abdde3b175d5b9f128e030277f79fcd6bb7f
+DIST firefox-94.0-ca.xpi 523365 BLAKE2B ab9cf0c8ac61d908434527e10dca9675a4f72f8f056708ff73146ae35a56be124133d2835b4cc236a1576145810672cd77405d19f6643edb7d65ac9c91d6f066 SHA512 8b1ba49a465436aa1af66c52f5a539a49c50fc9cb6b14d25a64c048549226675bf173a4c1e70f6f975bf2eb7eeeccf539e5ceb0d0ff6ee04f2ce866e955b9f4d
+DIST firefox-94.0-cak.xpi 546837 BLAKE2B bb487d955a48c1ca65576bb1d6a2d915a252c498af3deb5a5c6a8b4b74076504fa2cef03e17df45dc165e0b32f0bac2d357bc7fcdd398e993b926bb557d14606 SHA512 80529c5af340a5927b0d6e2b22fe61498d6c792344e6f5339d8566ac4bb7c9f8bd6f9a0fec30749f60a2d5911fb45c54e632b78145147e50ac6a1927c8dca821
+DIST firefox-94.0-cs.xpi 554906 BLAKE2B 18a991387d47d93c11afaf92913cbe2fa72895869bfe8d09d33ede6c003b118e54f178602f415414800fc5be1d6d28df16917cff52a8bebb82fe978db071ee66 SHA512 0e8e3ed65eb099027c96d57ee85c164d99a60ba9f2df946c3d8a33c177bf55de5d941797e3675ba23924867a09fbe5fea5071c742998ff998b5aeb148766b511
+DIST firefox-94.0-cy.xpi 533294 BLAKE2B 17170da6d82a8576e55115d794dc283ef615ced653c4b77058fed0703234e173527c7ae8ef4383125abc3cb08c13965631316e0d4c4ab40e1acd4ae6f92a6913 SHA512 580983d58404f176d7dde5aff705616189968ee5ba5056c5be1a1b6875e71b935dc78acecb8f7b76174bb912b7c1e8d412a86f7ef403ef46e8dca8da3f8c832c
+DIST firefox-94.0-da.xpi 525179 BLAKE2B 5fa775427d920d596b45bd50af869368a9c2d8838d856bd6e5dc8b968b1a69536f8e5bee31660c9dc6cf1b1c911de1f7ec795ddbbecd463ea795fa51bc7c73b2 SHA512 a8b8437b614324809946aee1e78a5ab05ec7fb5f85c615aaf564e5a3074ea15bfaaec782add4f8452365098dc2b44f118911bce67948fbe916713f228eeb2c25
+DIST firefox-94.0-de.xpi 544130 BLAKE2B b01cd37cf5209575e902209ec498f60300ccd3a0487905ed8a93a783bd86b0a2944b3302843ae0595f8e61a0678caed96f5c14bb8ce33858f41062386bdb431c SHA512 3a47a95eaaa1c9f2c15c4c999c1e058311b2fca95497290d46d5c07b897d776ba31d22e59f9ba4b8c02688a25d17c29a574e7a2d35ebb6bdcf7ffbc16f9f0a58
+DIST firefox-94.0-dsb.xpi 556677 BLAKE2B 57d60b1b4f6202d613f70c0f8b87362f6845a70602438c7d20224f292ab8cd3aad91fcb9aba91bd12801109214ea2f4eb8728ef110b7e4ffa124c7a43deac7df SHA512 dc59c7fd279d2824d9211cc619423b8f088c7b35bfbdd8813ac31a4351aa4c7a2b16d44850d6ffa0b720f8be5592fc4734734f30ca8a8c19415a845d531cfd47
+DIST firefox-94.0-el.xpi 628432 BLAKE2B 86b75aff518f774e64c20a0fd1c3c456786fee806ed49ea92b6e85aafd701063fe506510ea8258595e6f6b512b142caa097234e175d066b0ef8ebbf914e5f931 SHA512 89eacb70327503143e22a38d7c1fbf150984e29976e8d2cc47d78a6933ea9ba945199c3b533b14b5b908cd3dcc5d0b4107cc93a5d98f1a30d5ae8e1ad61fb19a
+DIST firefox-94.0-en-CA.xpi 501775 BLAKE2B b3f0dddbeb0af47e5785a13636d1080b92ee2cc1e6b8a5dd4f1becd7ec6188ff2ff5112d2434e9e6cc176ee33cc79a45dca44ec3fc56857690c917b04b46ed27 SHA512 35696e7886f3fec06db4370df39e3ec913e4ba6fa79c2c631076db566fd368777f8382040a2ea8de822c1d7378f8322186df64a28d663d76d7c35dc48b550dbf
+DIST firefox-94.0-en-GB.xpi 502275 BLAKE2B e846073baba6b15e2df84c77ae4bdbb27707a0adaae4c757b885bdadac4b6b1e324d84df4a04b2f8ee78cda767a090e457863a066790aae4ea8bf6b4cf6f6cc9 SHA512 2a851196c251ceabfc0ddbc42ac82ee36287f63c8d6b43efa11c11ecc2ac5045f9ef61e7b74f90a0fd885e2d81ac34cbd129decbd0ccfdab6024dfb32a91a8c5
+DIST firefox-94.0-eo.xpi 524226 BLAKE2B f2824ba3ee872cb17c40c7773e8a2145f3aa404450e51d80bfa9958fbd4f1cc822a5f8951ac2b5682105a454e327a3dd85c938ba3129d6584b9909e3fd8adb36 SHA512 f71bb5b16284a1b250b5f23541c76d70cc923a896292fc22d744ad175cd3750c74dc460b0e297a2decc5e8b47d17cb4036e29f5d8c1c4fb38dea0a203642852f
+DIST firefox-94.0-es-AR.xpi 537698 BLAKE2B 43e9bf4cc96b55fd8f2474995f86e6e640f7568d10fb100b4eb115ba02083740a9dd404cdbff3ae8bb72a9721e0fe3fc9ce62f94a3efe590568bee43ff4c0d8d SHA512 f593dfd1f5fe2f173ad983e630b8a81835aec3cc0657ebf71a6c9cf63b16804f0951cdf6cabcf9a14766e3697466a9b867c35589ab82896bc2e3cabf075f49a6
+DIST firefox-94.0-es-CL.xpi 537216 BLAKE2B 144f0b3ff8552d7e55f22f398411790234932fa566ad9f2a58ff31900fc4e1fc6ead5481170fdc7677e5c85dd294d85e821bbb4fee138ca71c31d4cd8061ba68 SHA512 7080e4145f2b43a276a8168beac578585f6b27e3da3b974fcf1af8471d41534c886b67dae07e82d3028c3c5a2df672de864b83cac624e52b10e56d03d1d8ad71
+DIST firefox-94.0-es-ES.xpi 528002 BLAKE2B 1a3b0db3a2985641274353ed574a3a396b237c61eeafbb0dd91e441564eca6f231973363a15908d82e159ff17c650aff4c4441fdde54d20ad7824f01bab79186 SHA512 81027fcd5d1b8841c951dc40d92db2b22acbc1e746c28d094486634effba98041ec2a5d7067d0a9150647935b4fc0c7e289b514cc1b3beaa598f94c83876f638
+DIST firefox-94.0-es-MX.xpi 537413 BLAKE2B 16609c472da7cf08618a68e6bf1fc776a5f8f3a4bcaab469c77beefb9bb92d5343ad3f128d95082f7117de0b6488c5a5f5e5856b6e7d253be242feeb84315539 SHA512 3c5499d347c7d1c31236c4e526648bc89bf4f8678ce61c906d5e25983ef5087eb6c2fa9e913928903d55d4129d7ea09a8c13f7ed01d88cf02223dee8d77a22f1
+DIST firefox-94.0-et.xpi 475967 BLAKE2B dae63ff0e366546fce68aadedcd2eff0292e44921b6bf329c35c27e33acc070fc9157d2d0f3e1283542b91dce1aa97251d37fbd3569ba5a465ae86d2b34e51ee SHA512 64dfa10ed9802f9100211b11ffc4943f6842ae5e952c6be63b927f8140bcd83ff84f06e9f0a5b214b3e0eabdc15b95503e0d863a717b14628c2c989f145537e5
+DIST firefox-94.0-eu.xpi 527560 BLAKE2B b4b6d9cbf33e8296f55eed59fc21d388bec1e912ec8d42fa69d6638051e019029817ec87fbffb287eb538a07cecd79bd5ed322000634f5e99b9262034410173b SHA512 ba1c46467bdc760f70ac308f9b8b87629be77573863165263e87725b7ac74706209da69f445a4b7e9d3e7200a8fcbd5806514ab324ac1c8f95ae57a3ebdfbb04
+DIST firefox-94.0-fa.xpi 549175 BLAKE2B 2bb607c7c1814bf65ba44bd914062f304c81eab4fe0074906bd75e9347a9b8a29e6583b24e4621f03feb842685a1ddf0ff58f9b6b48226ade6d4d706b995c9fe SHA512 ce8df645ec089c73e5f699863b955bbd46678c55527af9c6bb85504abe63d6455b9a48f15534805cdbc89d581e3ebbcbc044dcc5e6002e5f80179c29f1e23042
+DIST firefox-94.0-ff.xpi 464854 BLAKE2B 27685a8513a97129d6234a62d8eeec30435422186b7f94d88447e8282c8f9bdaf0cea3079c0f61582c8a63c23c3f40696ffcca50f0f27a4f633ce49292ef01fb SHA512 784ad1f33f1a18a723136d5bdcb9eecd73ac2d87c52077875e1b7be940f8ed34a3116df3ebefd1d777a3e607441b11330cf707228516547d77ff0979836cc79b
+DIST firefox-94.0-fi.xpi 521624 BLAKE2B e044a3e374b2ce7d28cad2693d0552bc83109e7508ff9cf94c9a1541b09ee7f78a205a71cfe9d22c89d8067741ce067ca7d6e91d859fb841e6fb76c388fc6abd SHA512 90eb3f98d85c142cfa9b3bce9fbbd9e607be097de16c4a70914b1f509bed02292d0626714a1050c6fa1db3ed5cfb2a5e144197561d5e208b5eb6830c6b7802e7
+DIST firefox-94.0-fr.xpi 548390 BLAKE2B 562a0d83f003c7dfef31dd4f5cf244311977948dd8252678a10341bca255572c5bbec3fa5e21c999829f50f3e3d5d2300be74971ff4905909a1787580d41932a SHA512 362e7288975cd7ff5bd0b8f3736fbe09af81ea8e735e1a66cdd5bd746fd6bf0081202750938add753992fe42db1d2b9bbd13001d913cb066bb10963aa997e760
+DIST firefox-94.0-fy-NL.xpi 534125 BLAKE2B a646f8e922ad0c24082cdd154c11b98c372a24c9127255678acbf52803c646d318ae3053dfbcf2f8b8260c5fb5641ca87d69bf8dc694a8a916f946684ee85051 SHA512 a2d40196541c22e35b077dba113dd3164351a12ad54d98eec1e88c2add1c39dd658d75a4714592e6406947d08d0db32c4a84a3b5ce1a13935e277028b604cf09
+DIST firefox-94.0-ga-IE.xpi 453036 BLAKE2B abf27aed8e4f6da7f112498a79cd2501de033f6511ff88ab7635b4b83b3a4820e816f0cd2b27638aaff5f856ac0cbac28e1538b61e0b5025ce907cc6f55697f4 SHA512 251bbd87efba55d94d37029ec0830603505b3ffe3ad1035f8a3285ba667514e1ceff03483590cf3dbc8cc37aa59c4e77bc3fbf65c163a1a92f0d159232bd1311
+DIST firefox-94.0-gd.xpi 525192 BLAKE2B 629f9e6f67a23e660cb4a5d0719f37a1125b6bf41e1b10fe994db1833a565acef8ffb7e7e5d700163ed3c1e54ce5e3b705686ccc5d6f9b415731dc92937f997a SHA512 21b16dfd63a4628ef7363b071467bb6e418875db3be3a0a735af58116c484f1b04c76350303ce5e23b724ef2881a369c67e90d7c269ce6e4c4e749d6ce1e67b0
+DIST firefox-94.0-gl.xpi 532752 BLAKE2B 048a6b21d77f1cda8dc189ff3a903fc699877c01330ca4e9538a4af0cb47857a5da048115136c71211ca8d8d35c8c35d9ecbcfb9ebe6510059051a17e6f9e55d SHA512 61368347cfe1ce7689cf2efa85b8bdb18dc44ae2f530641216ba341dacda4c9f103e8a2fd253c63e606e35f589cf83980c521900baa21efec66266332dd87a37
+DIST firefox-94.0-gn.xpi 548780 BLAKE2B 8f72949ac158db9997ce2913eed0f923e9113117cd0cc05b0ca1caf8ac4020c04d4b3cbfb01449830714dd3ad39baf00cf075eae3eca9d25b396d89ba8739494 SHA512 6393e32b926259dd1787cca1463b3d00bada93b7caca8d2cc1d5415cf1194d70f67234bd74f8c273d6c8a7e695b21ece1334b08ee17ce39ec7310f94600f7255
+DIST firefox-94.0-gu-IN.xpi 521993 BLAKE2B dca90cc34d3d9a4e14b4f0877bd70c5232ada0a19c3351160e9971c22ddf22fde4974801d439ddd74109f0988ce4352cad668ad04cb1842ee33bd4f9c613c1ee SHA512 267658f7e7158deecabda41828573c12d506692635df072f704cabffc992fddea937e8fe7cd4ece2525c29f7f4c0527605a3b7bb88980da12c06c188221ac976
+DIST firefox-94.0-he.xpi 548088 BLAKE2B c06bc253e9f4a6a6c1a6e89df9db8fa22a147a5d26d10872d60f4d4f3a2b2ddc40634a89b84bb07048551f804fc82c5902d05b87dc621d326ed64ce6c8a2a833 SHA512 1ae1b47a24c5b65a5d5bd0c96c3bc2001e3c28aca417daf2d06aad71cea9071cafa1af853de3a39c9f79cf79f38c553bcce85994efb7be5302fc60985cafc435
+DIST firefox-94.0-hi-IN.xpi 549627 BLAKE2B b4dca16a609bc081add9620b1815c29b3f27551abdb72a3d3025c0ad9ba33b7e96c8ed25a79a9d6eeae1128c3d3b7a5dcbe42566c5e2ffe717f5bed812b639d9 SHA512 2931449d56622eecce2c99beb5e022dfbd2a552b166cc9eed6a9e66392a02fd192535b584ad081974f2f590393b3aaffa83ed560848120517ab2caac396fbbf3
+DIST firefox-94.0-hr.xpi 524158 BLAKE2B d18a723b0510669ee33af590b0aae56eecb536f78f7fd3f556f5114e72b7a59ea07a80bec9b3bde1d57fdb293b1a26b6b5805ffb915953a415d519f9beb6e6ea SHA512 56d049e10a1db1365507e230e4ca387169b34be5c07032fe5e3987bc2b18841b7fb22191af21022f341bf7d66fcef6dbd83d005628f76a87afa8db3da8c6924a
+DIST firefox-94.0-hsb.xpi 552757 BLAKE2B 803083a7e269a78688b2719f8c55510e6f9e1ebcb4b9642477e7f241d65ab9caadd44b0ecbee48655a27bea489b776bbdbe2cfd84a70c0e0db22d4e4221287b4 SHA512 8e398333d5d78518c6f7551bde0d73843b5876e75231286b7378524a1f3e8856c367de0033fdc44faf79fb5f8970a9cab49e39f0c71c409b0f491053644d44a7
+DIST firefox-94.0-hu.xpi 556535 BLAKE2B bfb59b70427e22e42d94eab63455ffb683f002372e6dba3826e02d677eaad02f8d3b8c552f07924f7a72ec590dbd3e18fd2478e6249f1b22e9f4c84d61cc54b2 SHA512 b81fadd7050c6e7a6a8be6f44208baf4ec2b42554d3ba0b5ae2d4cdee6111bc221ac1b0e26307735c9e658b519abc9ae32b7af0959c56a249c3f5135e638df3c
+DIST firefox-94.0-hy-AM.xpi 571518 BLAKE2B 0fe678107dcb4ea53d15fffe40bd86d66b0c24b1c7cd83b13964823ff0cc0211f587f8ca0d14e0dc3ba0e3e816b28845362a549ae134d9cb854ddc76f8db6a54 SHA512 74b100b486dc7ce3d837c5ab050d286bc774671915e8eacf9fac0c8f59315be2bb25bd0e4f6ff4eb316d7b92b2dc377b778ba77306bfefa53d0413e9aa5fa22d
+DIST firefox-94.0-ia.xpi 523402 BLAKE2B f0e2808610af6d2cde52c1daf3c9339712fd92e3461c638176a23a3e40a7cca1d03b8115835a9be1d46a343546cd38ac7e92dc7365d601d2b772ef280d06bb5c SHA512 6102730b2a1a7bbeeb33c57e6cbc20af94b26276afcd2778ab183b5c5720dafa7c3a8b5b693e141130e9f176c278000a3bcd65b4bd61e7cba0f5a74b4c9469f5
+DIST firefox-94.0-id.xpi 514260 BLAKE2B 80f40ef170c8ef8151ffa53ca0b5a657fc93b0a7d1c6490644e165d5605181a1885a52228cf034836f472a404ca727552f98039aa7af756919ffaa9da5aee9ec SHA512 d0759dad08ed747822ef57afecdbf1e90b831b5d9b6f6f982c3160f5afbc669674f6d8100b23112da9a0ce52773b95f2229625ccadf1cd29c60dad080b8edbaf
+DIST firefox-94.0-is.xpi 463534 BLAKE2B 663e2317996b922b79923939e1882292091278bf9ea6991d569acd99b06237aaed70b99af7201aaf2000a43161095df3782e78b1b8a081aa19483ccf971edfcc SHA512 9794e60e9080529d9c40e57b05707dd5527bc5c8b3df8706b3a483d273ef8d4fddef5fb56d7b95e8c8deb8507cfe9df0c1ed870b13683a1e44524a9d029c7bc9
+DIST firefox-94.0-it.xpi 451920 BLAKE2B 9bc8035ada6e4a7a504787785891dddccf08905f25b1de9e92f12d1776ffe023dce977ebab167696e941f69abf0753929642caac30aae0e0353da6b23014c287 SHA512 dccfba41bc0ed6e8e8e5c710d00fa2e2393177ba4151c082f802dcf2b1ab3f65add7477bff87d8e1df88dbc17dd7a140a4bf0e217e57a2771c4a9b2e88f2eee2
+DIST firefox-94.0-ja.xpi 578385 BLAKE2B 02f59df92c3ff73ba26c2ed2a9200d232dd5d034da5e8b38d7c4d6033539ec5580976b245ae0644c0af7f6130108b39dcde00c83a2afd48b9622813c20b8a3a3 SHA512 7640bf6129393001b940a374772d6bde37d71f6bc1af064e97058398c4d1683fefda00e879da1817d817b10215eee264981be24e66ded3ea40b670bc12b72ed0
+DIST firefox-94.0-ka.xpi 577168 BLAKE2B 48ac1ca6386dad7d31035b3884f76ae8022babff610df3aab481912473abc2ee71fd2034664e2f1fe10807577814af2fca4c6f0e6115e8fbf754c8afd9437b0c SHA512 0af9d8bf0ca2f561a48cc5f2b7e105156717df03f2c8bdd35dbfdb54d8f1568dfbf2d0b4495c3f9c7475c8e872ab966d7668edd20f2f1a8dae121c6cb7eaf166
+DIST firefox-94.0-kab.xpi 537772 BLAKE2B 14d324e9b5b6ea40228d922da78e62e13fdbfe75cbe4b9d8428aac7d8f97947a870e2281c185996beace7415a93d7480f3d47c2d683b792db9bedbe4f482905e SHA512 849c7a27c4e815cf9c3a0ec5b044da642d385b84fb673d645cc837663ad12395d4c4320cd906fe0c73ac737e7d1801c7eb5b33dddd5d6caa741769915b4cc71d
+DIST firefox-94.0-kk.xpi 597267 BLAKE2B f00a1ccb11def8e7421fbd90080c6dd0f5c64964b13c879f2735323781eda01b1765e4597fce6c1b81f98c15784c1182aea3d00ef5929d5a13ed89483a8c2e1e SHA512 8b538953ef00d75b7a887d8cf8880f8b4c40805d4410a4293cc382d65bd6ba7394278344c26796d2eea33142710a53d1c26cf02037f992574cb0f4458e215f6e
+DIST firefox-94.0-km.xpi 525206 BLAKE2B 0a8c7b10640f078914672f06cc4aaf3f01f7ab36854a8339df9feea686e10437de9efc04d2353bfc19571fb1e19a24631c06db089edca026981d6e2f74842303 SHA512 83b0f6fea01a34927707dfad1e60534cbe5f11dae487aa5fab869f158449ef519fc964c14ba3d8a41f6f4c7c64faed2179cbc12e33fa43e7978a84a579fee44b
+DIST firefox-94.0-kn.xpi 490301 BLAKE2B b5ee315471500bf9b110765046406eb71054e72faf6e1523e8e1d0f2360a06b4ecb33e723780287f933ad1a0fe6419a6a523b4f1aa613a52e66d58ffeac211bf SHA512 309e75b64bc8b43daf56b480e6982da4db0c40ba8fd6116df6519efce10c4195b2cdf644926b85cd892d87550051e3bb6940123f7bb248cdc021fcc8649e392b
+DIST firefox-94.0-ko.xpi 569343 BLAKE2B 091e68d4dfcefcbe9ef4f0ba45740eca3df606c8ef7cce7ab7a8db8267b7901857ecbec622a160d7298efed24ea3e82ce66b50db1c0fd219fcc14589627993a8 SHA512 d07cb3fd592be34bbace4b2fae03b5d536c073fff1d9e87a549944a338d87604db5966c24b6984daa08c9d6ad07f5338ff4f3dbe61d65f8bbe0257cf623355a1
+DIST firefox-94.0-lij.xpi 463827 BLAKE2B 522a1defd39e16468d204fdb34ab5c65c5eba79e2f848db81c8d7cff3867a199def6457131b74d293073b606477a649e5cea91a271f365f9c35c3ab769e3744a SHA512 b8a288d6cda6c41b449483e1dd70c49d67675d3fb8e288f47bda11b3e23093b28e9d6c267af6827cddbb0a8499e81d33852ff5fbd047758319b61cebc75ab1b1
+DIST firefox-94.0-lt.xpi 551271 BLAKE2B 4b02985400cb20f79721044005438e5db8d4d2b4658d847b7a21b2b51f44fdf99c08ce1834b4fe746a248714f23c24ed4c631fdbef41c309384e65a2a45856fd SHA512 0b76f799cbaf2ed2ce610ab432bc8e35bc4f7c244704c8e671b115b530a411dfdbe159417949150c9ec06f4874e4392875a57f70faa947be1db9e490e9919923
+DIST firefox-94.0-lv.xpi 455635 BLAKE2B 9faf704da87b4a430a1ce2af4567fadbbd9e08e3e7094ddb781fc4db4eb0f864894d657e88f5085f148d128267ddad054fc662ebccb507240d2b286f73e45005 SHA512 79a002f3b068b452fd771c18ab38cab67c35449d2094bba7a59d359dc33fd25e16089f543a28f2513c2d43e588b68f9eff96511336caac65578761da1dd00589
+DIST firefox-94.0-mk.xpi 457667 BLAKE2B e10548292cfa3eb8f905975cc197d215ff80fe6a802eafeea2fbf63d9a8f1df8bde13c6073b523325cb012e0845cb516f912459ddc885f625a54d0d4851a9527 SHA512 7408c93c8c24b3d81183427bdef84b436d9b636a1fc77913864f79d500906361e33ab003f362009f24100cb9ae15041ec78da1615b8121b5c180f8a62574ea87
+DIST firefox-94.0-mr.xpi 524926 BLAKE2B 8c97f00bd6a8e6a0d95841f1d44edf4d1d59f5aa305360b103e202139b0a4045b4f5396e29ab0330b08db55eaeca13a3766cf4506386c2ecf786a62106b07640 SHA512 785115dc974ed86e3bd9a49ebe660ca69a6963e7671bf0fa12b0b2eea611d01445ba910bacccb951c2aa51a95bfc7e74cb9e6495ecf647f35ec930591fd6bc2e
+DIST firefox-94.0-ms.xpi 440740 BLAKE2B 918e8deacdd19016d475035b6685891590292b9fe256107c3820dd9a250dd95207782ad24c4f55234e2028f8a7f1b3dddaad3b2db829be4c7a0950350e75d0e9 SHA512 00cba0d6232ac1ac3a5603e720e90eaaf1cbd24f6a8b4a620fb6ec5c6f254e6e508cdc647f4ab9f725db84cb0a4c9c2be7d2cf9f07a6e38fa7b526e51039820b
+DIST firefox-94.0-my.xpi 509186 BLAKE2B 46b595fed0d3a39ed53bb59dc21b04da9a24537a40eff91395a19d5bec654d49feebb939a0a42bd2e8a1fe11985918883043a7d931f43b4c6e1b16e5cecf9456 SHA512 85f17e57c032618e37ece3667d070f9537cc9ff0f0299373a74d678aafbc144697773d85ee72554f56f70096f3dcb95034ea4c5b6a3b49e7d4a170edf8ed5749
+DIST firefox-94.0-nb-NO.xpi 520733 BLAKE2B 00052b88231db8989406887d79e37be678d167ad3bbc7289152906099a581fe24f0c4eb137025f7f841f678f2df8e9d7c618e591476a17643f552cc4e34b3bb2 SHA512 1754754a7f1077173a235460fc58fa59fbbb7b9b7fc37059d216a89bef87d4a72df67eb393ea9a7a3646c85f8ce16ab5815465d2d7a62a91a4b29dc7bcb8fcc4
+DIST firefox-94.0-ne-NP.xpi 468604 BLAKE2B 3ec863871e29f442cfea90d56fdeda941bae8e911e3dab397c5b83f7ab2c942b4fd7bdf5b9dba400958bfae96318b6cb1c5888edb5b12a6fd91833a7075a6a26 SHA512 c97778e0f7d8ede6f416fbe0eda7fe5fd43719d446bdb2268262f2db52b430018057325835c287f7c073a61ea0de8c0f0183664cd52690b6aea6eca4f626cd85
+DIST firefox-94.0-nl.xpi 528251 BLAKE2B c5ad900bae877a34557e47a95662f4a4f138fa593ef5549978151329a1426934c66efa30849cb2432a89c9b203631bae1ac327197a27af246ef75da48e2a0598 SHA512 b0883ff9484c0fdec1a18651a3d032872d7c08e2684cff157f8cc494b7450465e899357e529df23ea531ad61e2fe5b5aad6a47cbeba84e5b447b25535e597208
+DIST firefox-94.0-nn-NO.xpi 522080 BLAKE2B 8a7781d2ff29740b7e90c947da2eb8591a1858f6ac35b5c7f41a66548ec564ed98119608ea80c6bf99a6c6ecc506268d91c0b08cfa58162ec7e8923247219cd4 SHA512 a9a12e79e8cd57bb94ef0404d12afcf3b91259988a25c5a918f650ea5038e30944f5316fb46f083452bd0d89f93a7186480b5ce88a0843b473bbbd9758146b95
+DIST firefox-94.0-oc.xpi 543830 BLAKE2B 2412359c4ba0611a88e86b075210ef07e88505c4f924d1479c2c85fe43097de6d6838fb83c2f81dba3457286c2285727d740956ac3a4fe1519e207fdc0d6bb7c SHA512 3ea68dd71a83d31420f9ff5b0b6788fdb225bb0709c2deede6b3424ec02c973b702c456def9ecfc2966014cf08dc53d28944d3a502a2537324c3065556029f81
+DIST firefox-94.0-pa-IN.xpi 584012 BLAKE2B 80cd83cc454a918f84b587fa0e18dd678807098727eb7de8c0daf340b8e8f8c2020772130f269e24dbb123464c7dcdc814a1b5b03191d5282914582da5404ef9 SHA512 f2f29ba3e4cf035b1da1dc0855dbae8d450434615b69fbdd0dea661807a435c73f08e0d6db071e5b0875514decddfda288f8e77f711e11bd65671d5949f1d7b6
+DIST firefox-94.0-pl.xpi 547602 BLAKE2B f26999651674ff64ff7cb6d8242f16890037eed53b30480a155ab27387a3848493b1db2e3fa749bee2a36c88fb38cac7d409fb762da320323e894dde33f96ccc SHA512 ac7d2168b307a1a60f701889566f458204c44a5a6874156e47f5c82e65292f6d1145e8ac98a786e41931b1d919535627c51b1ecd30a35a8e98fb8a318a8bcc25
+DIST firefox-94.0-pt-BR.xpi 533492 BLAKE2B 98777f5341a217445e5bbdf5c01627d9a6904e24dba1acf61cee96762a65837cf4b19142f7856a466cd5b6e46ccc6e6412e7f82cd01b0c72db3d018949a4d177 SHA512 90d6cba8619181d8b84c1264e7ba18563e4bd3441140546084c3d7683ed2e3c06dee883611b48deb6fd7617a979d831d5b15e42651dac4d0a947b746a412710e
+DIST firefox-94.0-pt-PT.xpi 537143 BLAKE2B ccf60f894b602183491daa3b79e39af0e8da06b7b5bf717a6f8a47980eec3a63dfd6cf6188fb98ebc4cc2e99f2272c484472b7d4bc47e6ad6b9b0ead23e37598 SHA512 66ad39f7eabbe47058a1de5ae9f5132715c63618b8f453689030bd8ad0c2494c46a461152650706ca6ff9828fda0cb18e577ea0848a3e367bdd1fcb7c74d8843
+DIST firefox-94.0-rm.xpi 528030 BLAKE2B 0f94c9856bfeccc2922560f8bfe43feb1dd483d05d71e0a570a8e4b4d90e698153d779a56b4b90cb0baa076d60fd24b8c9f438905568d9eb4a31086b4b014b5b SHA512 2716634a29e455bf47fd6cdc4aff7bbc8cceed967c463d73c83283e3860e50e8c6fabba3e50fa27c9c494101962f84917d5ff2e437c71980b4fc38311b560f70
+DIST firefox-94.0-ro.xpi 522825 BLAKE2B 2cf1137f569f229c360ba6dddd8062da366c7ff97af03f434c0538a2819c27b7a4c4c3cf6e6bf41ab0614436ba3342ac8b195870c665ee55103d23c4fbed72f8 SHA512 ed40207d633ee20e37f12afaa3b6544735f353eaa35ee73f9d447145c19f19ac808e1100bff13f8cd1842bf99553a7d0f26639c1955c610168ceeb2046c2c2e4
+DIST firefox-94.0-ru.xpi 616582 BLAKE2B 8afe50907e84154ab4f504fc24f1313d68653816d67b4aed2df7673684e02df0c6931a85703a14313aad400fb655f75b65debb95bdf2360d638261bba841e248 SHA512 86e3a46acb10015f4cda5e17699a2f54fa9032b6d5902fb3dc70710567b5665b26ae1ac74af00c84518a73b476eae11fd6647207fb5b3f2221ccfe489414dccc
+DIST firefox-94.0-si.xpi 480462 BLAKE2B 92261a69a20535381b7b238729ff97a086acb8f49702e6df145ee3604a7820895a8301378d8432d1926238789d9487492a9ef201a122a6000886ad17dff6616b SHA512 4dc80d56ed0bcd8934493cf8f8f6203487389c2d11aad8571a05cf25cdfe5739ed6146ebeaf6677e39ee4c8d1ac6c32fde5498bf77950a7eaa832eae2db14132
+DIST firefox-94.0-sk.xpi 556808 BLAKE2B 612dacf7c801984b3011befdfefb74ea3fd157832dafc3736a018b78052ca06ae73b12674f7aa818771dddfec51327bf237e16eaf904a5afe06a1d5966bed58c SHA512 5ef3fa73de62c6b32aaa090d13d011e78379db95f41e0ca72d4b21c2ab4d0ebf950f0a5afe4e670266bcc0a875af710b4d0b127c194cc9846c6da247c57ab8b7
+DIST firefox-94.0-sl.xpi 525781 BLAKE2B f4f9d1050eac788900189ee3bdb3a095c2a8fbeb1842b783789c54dfc2a72583fad758fa62c65dc50ba925ff5285ced7f89f91d4eed443e0b318076f8e18a9ef SHA512 1dc9c9bf0999bd0112069521c5c1d246f5014abb5efb2a2af1fceda3c5e355d3e6a1634763a77acda709b7386fb64a4bdd445ab132a762927ee195689cfa400f
+DIST firefox-94.0-son.xpi 417362 BLAKE2B 71be6c261b3cfad2e282f02debe508d75fcbf677a203f2d405ece4a5776c9f35544f3caeec6629e0e6bb4d53f518b2fb6d6d252e005ed03bc3102b97c4068755 SHA512 384128472d0071898eaed2b2a29c6c8fede0b97bdb9237dd24394057bd7dd82d6be417ab2d509e9ac34b9932e758380f59ba0e44822e04fd9363daa22306e905
+DIST firefox-94.0-sq.xpi 540827 BLAKE2B 4afd4e62e5880febcf5eec2e60939a7b6c0496536f157dcba46e4d74c17c3e53a052fe41b34436ff1e76326ded77df90b125f3aa30a068d1b3b82e1b2aef7b02 SHA512 f926089fb22e4e4b82c5a255241b33edf81c6c2344fd9235e8fee1dcde023eba088f5733fe0a60a036d8664d7d922c67be0d48bb0e902209bb6357457b1748e8
+DIST firefox-94.0-sr.xpi 578101 BLAKE2B 9d579edd8aa7de026313a649ea837d11d07884ace27c80d1478dab537e733656340d26417cfd5ed580f52c72c3ded28f7f7e15acc618dd61ef680033ce3b0668 SHA512 9e8cb18d4f9539d0899cb236731e629889b6f8c4489b87b8b9c7331b6ee62e142229f2910354ac0a2c1c35e1f40f1ca11809d4620dd6d45316ae4ff780213e18
+DIST firefox-94.0-sv-SE.xpi 531031 BLAKE2B 2ff0ce610f97bde58d07de58496c465b16d3430cfd29cc2d082852e661b6596d491250657b59742a2085786d6c076fe5fee96c8895209b12ad36338ceef68354 SHA512 324ccc85b6d4cb842e7d74528223814f332e11cd278a74065be3be07da727f438b3e88c06468692495aa62f422a76b80532dabfb27ad7265ab6a30ee90081cf0
+DIST firefox-94.0-ta.xpi 504703 BLAKE2B 5437c3b20815af5eb8dee09d4d976090a5394d78fe8ee009c7e5b8a5f51ba3bfc441b65bbdd6c186f18ff2468555f9c0af8eaf668914898e46136300970868fa SHA512 b291487cd4b9820d9d4cdf1d36e74086de8949c5e9237ac1588def96c753ee4d99dd533f474fd51236da1ff45d312fd0cb1c248fbef347a81169f1d53e09f069
+DIST firefox-94.0-te.xpi 543088 BLAKE2B 318ab87aa16529bf32a0251aa797a6ed295a7306d45aeab13c33e7c1d0f432ddba06ef3325ea864a51aa2ee32f1365d07b0c519b41e979bc1dfa6d4af713bc01 SHA512 f0d5109e810f87cf188881f52567be5352327a58ad4690e51f7c57eb240763d7e8b0079515af4930dc71d54abf1a6a880456fab2707c80fb9292b47ecbfced36
+DIST firefox-94.0-th.xpi 592797 BLAKE2B e16bfd49642a8712e4b9c6d56fc0fc95c3cc7ead2cbd17b5204e7ce19d70da1711a05f7e1717d5392a33e217792c752a02c85958fd94c7d8dcc28c4b6d36c991 SHA512 9962644d83c4e37c6008e52f54c9237c6cc684ac553f99160ca1fe05847c4289e1d86d23bf02a0b4829dff84982a8e37f85092a6477380340190fd6aa760ab4e
+DIST firefox-94.0-tl.xpi 509581 BLAKE2B 01cfad56841fab8f3a1fa2bb4719350bdd8b1a72d24cfe3d524167409de494e019fd5049b31efde4dbcd72905286b119959925c6bf8d7d41e123e3c6121d6770 SHA512 f46b59be49ce092d405662b8b1e779c6f8015e2672f12d3b4d0dd29124d44cc12c52fa773636a1707ea24823e26305eabfa7cbb9ca9df356da2030686a26ce65
+DIST firefox-94.0-tr.xpi 543227 BLAKE2B 4c9d94bbb8c749bfa33391054db605ea1398aefc6a0878c6030837b4d2150c9a0c88f1fcd2f15c14721e7b2416041c420ba9a28cbe69fed72f606288784b905d SHA512 35c4f596259e8325f98afe095a19261580d16fbcfac5135223a14e7b4d393d62a26e01d8405436b9ecde8bf8ff9acdeb4ff26c44f3e92d497480ca5d9c52975a
+DIST firefox-94.0-trs.xpi 484034 BLAKE2B 2bc511fe447f61c9fd1fb0a25b6e807b15bd85f4dc70f3468838219cdf4127765fd21abd8ba6f74af370f74c2bc790e3d88db4ad6f198c02893e5e2508ec792e SHA512 8c7fbd89f0e39d0a0413320a0ce333e6bcb3fcaf1a2035ec75837b41244f8018033d5ebec9cba682f95ea46c10c0bdeb572fe4d9a8c2f1594786466462706123
+DIST firefox-94.0-uk.xpi 610071 BLAKE2B 255a2c7c47ce3d6bb838ff2051628aa32c5ec9a277cfc50e29bdca7f0b232cbd7d01ee63335e2014cd69833444299c748ae5017fcf6b80d4fdb53482640f50a5 SHA512 110c73a8d3e4c1025fd3206afe351a3cd45b855c4bc3402d2092eafdd7c6c3da230a6f4d95db4e0964600be366b29d4c3ddb70ad983daf0d67c4815ee8b12773
+DIST firefox-94.0-ur.xpi 549590 BLAKE2B 0084da30e9fe23de58e2dc99fedf3d10eb2d16dc908bf2f7513e8b1185edaf705ab7bcbb82565de4c1a34fd9e9a76d68e5b89c62d1c2ed05ae9c6265353ffb98 SHA512 0501a20ed8fd67d70acbc73b84361b9d95f19a911e18ce417cdb435a005b2d4e6a9a233bd3467975a58cc6ff8a8ebbe42a14ce019a9a56c71ad14aaf7c400997
+DIST firefox-94.0-uz.xpi 460394 BLAKE2B b25e87efca1e7d0d0cf3c739091faa17f5ec5c05d90c7998185edf16f793521a7763c2e60544e59b51c7ada8a24563371cb8de5b9a6ce03b946404213bdcee56 SHA512 ddd1f79ec8140b9296c5c3caa86eedcf9896ab927bf710c750a98546d8305d292e3483879b1fad758d1ca2cd69b32d5f40a8ed15d25e91ba01f0ec4e61f26654
+DIST firefox-94.0-vi.xpi 564311 BLAKE2B e28926ea1e95a85541fbd0dcea4a920b5aede166dcaa9a3da062ade4386d6f7c5aadcae4bcb8418c15ae0ef8104323d10aab04ca4b4e3cffb046e13fc54bd0cf SHA512 68847cbe384d84ad3bca572bc6315ae059af73044809a2e90870e16b48fbb53c87b1aa32965fda9619ed3fc9da2cbdd683a66588947ea2fa32ff344aa39c4ba8
+DIST firefox-94.0-xh.xpi 420854 BLAKE2B 604d096543c2765a761f25150e3bff66a9542fd37fdf034d59505e722b68cbd804a4779fa834fc91727832f2e755be9f81a21a10791db804e67633092bf139d4 SHA512 39394ee0bb2790ab05bec2749d52869517f98d79e88e8e3326c100f89790057e4afdeb100481d62157bb764a1c203f9c624ad59bbd5cf63a006106db00a439de
+DIST firefox-94.0-zh-CN.xpi 565918 BLAKE2B 247e2c0d451bedec51c4e015cde9d954876ea5be18fc972de75d8ee880f79804129bf9c6465fb1b5568275562843ebb864bf3a83a4a61eedce765a4ee375bb21 SHA512 4398ef98cca5382aefa03a822cbd0cb508d6169189f074093c85c0f12ced4a32510a13339a57af3d7c3c8135607edd52d8aaf634aa302790aece2cf67495d05f
+DIST firefox-94.0-zh-TW.xpi 566575 BLAKE2B ef942cc3262a8600d4e0a7cbb73dc44bbe371234a2b4844ede9aeae0bfdd1391e9b34eb04cb7aa8c2b57d0137a6e38ffc5f99c39cbf3a19165338ed112947234 SHA512 c53ed001cbf60ba69f0ead669100ea21253cf0e716661d7f81589100fc23c62d4059a83e2cedc519a65f40af8756dceaf5dcf42c06e6743aae79bb469cf5e51e
DIST firefox-bin_i686-78.15.0.tar.bz2 73406738 BLAKE2B b08ae14ca3cbe9d2a7071d77df30cd29c67b1ce8b5898d7c315e399bd42aa2bc8438fa1eaff73df5b348f6221687036266af531493238cb27473c069081c0070 SHA512 069b0faa92408adc319527eb3d6cb462f122156a507b3c646bf9a467fb49e5f2b48cc4a2d1dd7f55d8b7f2c6e279d3768100a668e95153ac6467fcc7ff8f94b4
+DIST firefox-bin_i686-91.3.0.tar.bz2 78790051 BLAKE2B b787a845f07ad9b656efe7a94447ee457717a822edbf737100ceff0257f9879527d228879c37a86128f9e0722f0729e4705dacf5f55d7a93635dd03589b1897d SHA512 40328cab4a808f43ce5caf9d2f987492f1c4ab21b0a9aa4b17af334fbef081a0a8dd9cc491b0e0aa972a042d96b41ac6b8d2f195e5c42f71d7dd8ff56e415a38
DIST firefox-bin_i686-93.0.tar.bz2 77199708 BLAKE2B a265ead5bb91406c8db4688709cb7bdeffaa48e0d0e20daa93841677c2e239148c0e1da284ce56bf3a479f5e5a878bca7cc702804865073506e27361d94b4642 SHA512 1efa973447933eb1e233f96201b64b02aa3207336e5ad2581ee00408a0fbd8b6461d16065676cf784fff2d199083d563f280362d6b0c00bec76a97e0e5cb9b32
+DIST firefox-bin_i686-94.0.tar.bz2 77727034 BLAKE2B 3928cb7e771be3d2c8eb7b16ecfa1a10dfdafc9005d422fb9c9be0e7e7c8de82c93620f2611451d4818ce98eae8b008103f2614dc45b3b2525bbe1b1c717fd56 SHA512 c67472cabbdf787d5d55b24369012ce0d8b94dcd43885e2e86b7ea4d9060b1889c82a78d82911f9af3a077bcb18d25ca1fc925e270b6e4f38249a81eb36f3e3f
DIST firefox-bin_x86_64-78.15.0.tar.bz2 71155495 BLAKE2B 7ab6b6e892d78778136ae83434269a77238a274dd369a5cd659a6cd6068a30be93eb9f023cf2c9fd5c4bc31de57c256a86d48b9c4043f740f72847fe032574e2 SHA512 5c7bb23a9003f4e246a40e54613873051a640ae2a69da60a241e48f8fe413095c46182a8626344caaa3efd4620f9100c2656967106056aa5db9a646fed1bb57e
+DIST firefox-bin_x86_64-91.3.0.tar.bz2 75998026 BLAKE2B 2c87cefaeaa9a2ec69168cafe6d7cb125933c7cdbc1a491bc1d829d5c1d258596e938bb1a154948c2a74995c6b7f4250e37000355d179bb32cdd91686827de33 SHA512 7388472feea9d5c45df7d324f1485aa125e318a442768909ae24c3001abdb2567abcf3ccab9df2d2b5f90d769c649e05c15ba428a529c929829b8fb254c24a6a
DIST firefox-bin_x86_64-93.0.tar.bz2 74008444 BLAKE2B 6cca65f02207dfc638ee37ac122b1af4e821c05b0ecc2c5861eab6f38fc6b68a7d23ae7aeff44fcb433a79f46d3e306e5c1f228db06eaa33e30a52d597d9caec SHA512 33d5a98ccd2fb33f9315b9d89797b42ffb67610cfdabdf383c0240ba1eae203715e543021e8a59908e14e5a68a884b455e94672e222b2534d92eba62adc30eb1
+DIST firefox-bin_x86_64-94.0.tar.bz2 74603593 BLAKE2B 8b3248747a8ae1e5c2e8c2dbd3dbceeb36986ed56afd15cc41bc4947e2484f614837e554c72c8d036c3f489415e4ac3d03bf36c4d06a28a507362b969c6ee1a8 SHA512 1508f423e5a847ce601bc956a77083d46ad25d29ea7e8deb5286f1d24e48bd1ec3a3e558fa3a87afd12b041732b4b44b149e1913b9a247013e31fbde4159b72c
EBUILD firefox-bin-78.15.0.ebuild 11540 BLAKE2B 1c49df21f84cdb50ac72e1f246e9d8ace457609f39e9e8b958bd6f488df8a2f27af21449588bece5a6e3552f2e1b4e7adc7813e88a23407eb9c42c99c6662382 SHA512 c42081fe1315e4d8795bd4272c383d0e3c2037fa9adc5316153a124076f3b9e5eb1077751287fa0ff5cfc74d869953fa6226bba3b71c038513381e7bc44a4e55
+EBUILD firefox-bin-91.3.0.ebuild 10926 BLAKE2B cc1983720571287eef98579c66da90f0bed427c3e8e4842a14cac0d0e00a87a1069049f6c83782ba170c49cd19a8088021900527af655184009af3bb1d56b412 SHA512 0d3c3fcd1b3238cd754f6ec0698e391758f418bc6c8ae7381cf700fc0350ba0226b5fd9659ec82243d3967ba7e602f1b87b18011e0ac3e42573929580e5677e3
EBUILD firefox-bin-93.0.ebuild 10850 BLAKE2B e64eeeaae24bd52bc0eef64ecc869f013fc5444260334ccff42874ab051be44ba90fc8bacc7607d62a22fc8704dd5d13b1352c0279ab8c7d00235cdbbd23156f SHA512 15eb32c11409553bfbfc0cc162594a84d97629c9c958f0d43c303d749109f2b5b7cdd95c18141fdadbb4fa7d45ebf165151483e91a53224c87521a999cf34eb6
+EBUILD firefox-bin-94.0-r1.ebuild 10924 BLAKE2B 7455d49d667f167df2da57b9b718eef51540860a38358a5d83698aec848865a65e6a9d74d0faf84abfc0db2d995e4752b95b0539c35e4a4104f13c2dc588f93f SHA512 15bbe4646d35bf83ff04018ceecf291b7a389cff5a27c17876bae77719c3c3c432ca34e699e31edc8cd17679b5b33c866bdc74844da7db3425b924a153ae32b3
MISC metadata.xml 426 BLAKE2B ec2aee77c3aab786c96234274e5b3b38515561dfc66dc8b844f0c7eb8288e4ed083b968b43e37f8593877e729e7a9e22f9761dfd27d5f998de21f1f67600559e SHA512 75f5b6e4ec2ace6924078d31b3a836ba11de1f73bb406416d222149a7407d295c5dd0d64c3306b20bfa76b396a7b6a773aac5b91163716350003a65d619f5691
diff --git a/www-client/firefox-bin/firefox-bin-91.3.0.ebuild b/www-client/firefox-bin/firefox-bin-91.3.0.ebuild
new file mode 100644
index 000000000000..399ed9b85f1e
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-91.3.0.ebuild
@@ -0,0 +1,387 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="-* amd64 x86"
+SLOT="0/esr$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip
+ alsa? (
+ !pulseaudio? (
+ dev-util/patchelf
+ )
+ )"
+
+CDEPEND="alsa? (
+ !pulseaudio? (
+ media-sound/apulse
+ )
+ )"
+
+DEPEND="${CDEPEND}"
+
+RDEPEND="${CDEPEND}
+ dev-libs/atk
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.11:3[wayland?]
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXt
+ >=x11-libs/pango-1.22.0
+ ffmpeg? ( media-video/ffmpeg )
+ pulseaudio? ( media-sound/pulseaudio )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Patch alsa support
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if ! has_version 'gnome-base/gconf' || ! has_version 'gnome-base/orbit' \
+ || ! has_version 'net-misc/curl'; then
+ einfo
+ einfo "For using the crashreporter, you need gnome-base/gconf,"
+ einfo "gnome-base/orbit and net-misc/curl emerged."
+ einfo
+ fi
+
+ use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed"
+
+ local HAS_AUDIO=0
+ if use alsa || use pulseaudio; then
+ HAS_AUDIO=1
+ fi
+
+ if [[ ${HAS_AUDIO} -eq 0 ]] ; then
+ ewarn "USE=-pulseaudio & USE=-alsa : For audio please either set USE=pulseaudio or USE=alsa!"
+ fi
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+}
diff --git a/www-client/firefox-bin/firefox-bin-94.0-r1.ebuild b/www-client/firefox-bin/firefox-bin-94.0-r1.ebuild
new file mode 100644
index 000000000000..dd4f26774a97
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-94.0-r1.ebuild
@@ -0,0 +1,387 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="-* amd64 x86"
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip
+ alsa? (
+ !pulseaudio? (
+ dev-util/patchelf
+ )
+ )"
+
+CDEPEND="alsa? (
+ !pulseaudio? (
+ media-sound/apulse
+ )
+ )"
+
+DEPEND="${CDEPEND}"
+
+RDEPEND="${CDEPEND}
+ dev-libs/atk
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.11:3[wayland?]
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ >=x11-libs/pango-1.22.0
+ ffmpeg? ( media-video/ffmpeg )
+ pulseaudio? ( media-sound/pulseaudio )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Patch alsa support
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if ! has_version 'gnome-base/gconf' || ! has_version 'gnome-base/orbit' \
+ || ! has_version 'net-misc/curl'; then
+ einfo
+ einfo "For using the crashreporter, you need gnome-base/gconf,"
+ einfo "gnome-base/orbit and net-misc/curl emerged."
+ einfo
+ fi
+
+ use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed"
+
+ local HAS_AUDIO=0
+ if use alsa || use pulseaudio; then
+ HAS_AUDIO=1
+ fi
+
+ if [[ ${HAS_AUDIO} -eq 0 ]] ; then
+ ewarn "USE=-pulseaudio & USE=-alsa : For audio please either set USE=pulseaudio or USE=alsa!"
+ fi
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+}
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 6e4bd3f54879..ccd5982a6c79 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -106,6 +106,105 @@ DIST firefox-78.15.0esr-zh-CN.xpi 564764 BLAKE2B df0b207411e7731c9238dd069fd42e4
DIST firefox-78.15.0esr-zh-TW.xpi 564733 BLAKE2B dfcc1df31227d62486a8a36428c413523e2b6a81f96fc91481fc35fa65744bdb06f92ec1b259a1b79d1e5b43f1cb16c6fefb0a74fe2d4b33538783755b165453 SHA512 b5b9c3c6a4d717fef8ca250e6ccc636be2de0b22988f3f1da634266622ee0304b59a10a194f424d2b6693ce3262658172fe2a015474de600e1686950f8b90370
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
+DIST firefox-91.3.0esr-ach.xpi 465504 BLAKE2B bba9ecb26423405f8a89c2f736e761e3726b13b430dc697be9e3ef7daa8de476a588fac47f3ec3c8f217744a33d9b62f7c8de919ed851044b97ea05292720912 SHA512 4f645517df27da2c02d59c752e1893ecb289d9213a6d4d0ab6b199c2562c8e16b14ee3a2cbfc70846cfe8e4a6fd4ccdf7e47e2963823b38a8fd2f70eef4c3421
+DIST firefox-91.3.0esr-af.xpi 433476 BLAKE2B 15e53cc1f41e4bc7b139a098d200a4cb2feae696101f9fef473edd5fb3a1e1789d4566d1d2b45c7fd8313a9aba8462c37adc32bf784142310541db7976a85b32 SHA512 0ccf4a8a6862676e84f001b62e76a07deaf0acf17477a1d880ae77d76925dda5e009f61c317475bad7b44908d1dcd2b4d57eb3618116106eb9f843abe988235c
+DIST firefox-91.3.0esr-an.xpi 516389 BLAKE2B 6149b95aa8b23753beaad6da38e808bdf8f2e2003e3b311901613651db53dd09bd99c16a05fce0be9c9927f54ac554bdbd885c0744a672dcb587a0607c1cfca7 SHA512 9539510ac122a856d0949e6ada18d69c59c4f2b57afe3a00bca71def119d34ec7342dcfa78128bb8eaa9bafb1b413404e2667dfc732a97c7f3ab544c97be028f
+DIST firefox-91.3.0esr-ar.xpi 575196 BLAKE2B 8061ac755ab45bd6aa29a15e9e1f005b576ab5338c7283af51bcb38d437f468f466ff5e2e979a21af917f42d6a92be731bd76fd1abb5acdea88e4f7675b05d4c SHA512 13736873b2bf2475885fddd0a806a45c6392df24e19198a74ad8222d1bad37cdf1713aec7db1e0b090fd66d2508a770ee04534f79ec8ac823a93fcf78d2020e2
+DIST firefox-91.3.0esr-ast.xpi 503834 BLAKE2B 78a7bfd02c844dc0e3d2611c395a9a337751707e31f3524d599b7ceeb740a818bdcde991320e9ac7634a840afdae6e4f34ba84aafcc8a4294f692231cfc86bcc SHA512 1d3b56ee24692071ba5377c157e42c7de8e8511cb5c4414b0918c2a16a06be42984d9a3d5aeb2ed99403d45eee1878862b550a922572834e7d71b48d13a54643
+DIST firefox-91.3.0esr-az.xpi 501266 BLAKE2B 7d2396b76b79467cc2702201adf1514ae9ce76aa8a7a2057decc1ab764830fbb77d29e2793f223feba9777b5acfbb3b9fad38c8520e9fd7d83ec8334f54f73ce SHA512 23719ddad4c82ae8cfcf6d7664affe46fc2fabdaa9352152ddba537e1a08ef724c4c5e51209eb3684cfe735cd6b4f0df80e5f0c8717152ee4b97957127103baa
+DIST firefox-91.3.0esr-be.xpi 631737 BLAKE2B 582375c5fc70712de533cc2475f1da53be5162adbafe0c808509dfcc58c21fd9e885e7538803ac41def37898ee3a41591633db9acafb276148eb7d9e3de9b6d5 SHA512 c7b3cb3792fbd45502e14d6f1d4d501f477204e73743bb61997fb778f047be286e4b112ecf65fe41f5dd00f8f48c0408e0fc7cb6a6579774a29a76dbe5d8ddc8
+DIST firefox-91.3.0esr-bg.xpi 585450 BLAKE2B 5a0d2f0dd9219a067bf91ea6b48d8f6c236483d6b08d626c78bfc6886a9b0044a6506be30fda219dee519aaaececefb00f896d4a76ef3d4b277e9993d3ee6a6e SHA512 c1059741da643937c50a5d2be9016cc5ad5260240ef020b38a5f7029e593e67ad0cc0136fe53353b1278faf55f5de91ab004e517c048f89a86db940242197b1d
+DIST firefox-91.3.0esr-bn.xpi 576657 BLAKE2B fd14c81b08a8328634abe5190a978a768550bfa6fd9e899995302c5e870c7ac875ae27a16267e9cab88d51a3703f95aae80061ac572aeaf6f09a8ca32f4d72b5 SHA512 71f2e15c69e3fefdeba61b29a1cbac4a8ee11d2427b898df21da9615ff72566da62e7192662310ccb8345a5afe971aaa4df2f08e5bb0e253112ca6aa02b64611
+DIST firefox-91.3.0esr-br.xpi 535048 BLAKE2B 1e48fbc6d8c1ec1b6e469c910c0ef3c6c4e4bca402c98b7aa249e47be6a94e64c4284b2ba248c475cb8429d751f6e43789fbf667423666dee089c5f05b72b459 SHA512 58dd2fbf4fcd0440448acf1e69569b69beeeb2212f2e585fec85e2da74d9d356af2a3838d98f13ed5bcb6f3aa6d9798a370f9d5ee9d590e76492586654a2d73c
+DIST firefox-91.3.0esr-bs.xpi 473386 BLAKE2B 01acc36f92e495d1cc4aed1521e733375215368a93a0a404de0b02644bccde69c99a01c0b6fcd93a248f94dd2ab696237f45821705ecd72246f8ac69f9051aa3 SHA512 739d6b139f848c56680f033c133098e369b01d7a28f4184f3b6bfdfc417db16c99a49136eeee219a5831e6cabd866253932c7996b1c0a0ea2b46229ff0e52125
+DIST firefox-91.3.0esr-ca-valencia.xpi 543528 BLAKE2B 4009e37882e4b7911d0766a848f6c0d5a60261ba3b4fec54a3cee352e512025d382ba547dacd795e2014ed6571ce2f3500a13ce665ae73fe2bdc50239d38876e SHA512 38233e4bf456e22d5108f8f1d6976bc2dc0ded61452ee61d5592c916344fd7705a5bcd9cc8b1d42472fbfef75e3bf7fe820fa0bf40c102e692d592919a3d86db
+DIST firefox-91.3.0esr-ca.xpi 542008 BLAKE2B 79412ad6a22f88b81e7b4bdff6fb4f0749d441b1f92b58c29143495c84ae3daa2f9d025dcd61e54792f7e6f15edcc505991110c5c08d98d0aa7f4aa4c5025b59 SHA512 bc730ee37a0ba57f9ed000be64b823fe22a97179aeacca9bc0a2b7e70c782fe49bec17a33dacf26308c0d12d0516788de3c5f07185d667dd56270263ebe95cf0
+DIST firefox-91.3.0esr-cak.xpi 568379 BLAKE2B b042574decb02ec495df059dc17540f026c7111c9318f95c0b7c1e54164ec37e235c766add4e69c79960e02d2793c1e0f296b7e09a0bd603963927a877447372 SHA512 42ef318eb9de709fe8ed8f6d844bebd1a81fa7245d3422e6d98441f02858167a4b83105fc4a95df8325c0ad831abfe4793c7b0b84b870dbaabe85613c00a551b
+DIST firefox-91.3.0esr-cs.xpi 572928 BLAKE2B dd95dc8d17ddfd5e019bca2808dd9a1c97ed747405b01384512c048c63738b4a61ac1a44ca141f8a6afa5139274d9eccd29b7391d6493254e7f4ce9b8580ce96 SHA512 83108345a1b0929c2fc147123d86cb84596880549363cfe9c821b209b20d4c5ad034850028b64794c4302364cd163685819a6c2d5753c05014cd23e75b6bd859
+DIST firefox-91.3.0esr-cy.xpi 549207 BLAKE2B 670df1ce98132291e2f8a2a956af0c30f8cab319023191acc13995e31d2a16c8536d54c91781d6a1e4f5f75fab4b399a23f79482f8687352709720882d143ff7 SHA512 c96f65d351331ca01f2ec6398202257280d6c0d1bca554ce677a83500572b5628e6394974b65e1ff11fd65dd2abed2f100091c43392f316e23cf8c2a631f44f6
+DIST firefox-91.3.0esr-da.xpi 540828 BLAKE2B a69ce9ca6e8eb34bcf8e3df380f383eaaaed9f0c4520373ee209f9fd704fb319fb079ba22df2983259885fb7f0831bb2bef91471d0f323d0fae917dc9f330df2 SHA512 c13211f36e19ae03b9b2c80df891720b86fd070c11d257aea87ff6c47abe905caebd2db3e7d8b7d5ee9cd7e7f64cdef12d0cd6e6fd12aff11e34112e7f929f83
+DIST firefox-91.3.0esr-de.xpi 561498 BLAKE2B 1527caf596272a2e532491b3cd1614871a1e312ae05769049c333f33bfe9b66417e22acc796bdaf0cfd21833e49c767254859f86cbfb92fbd5822aa367f8d03b SHA512 f42dd3e8a9365c709ad39e8ca96dfac475c3aa48ef5b554f240b95b9ece27353d7fa640b5321b05a44a7382601367346128a1e00c8f010bdcb4d52f30724b9af
+DIST firefox-91.3.0esr-dsb.xpi 574176 BLAKE2B a40133c5575b6ac80a500d7e4d6c8abb0ae3084cd9b926345b043b66c85320c08f15842fc316110f0d5a413a5688106779211df2b1d55e8fc9fab7250d737297 SHA512 091fb20d42b60c3a73e0b8cada6069b4d168de66751d72a5bd878cb19d8b1e222ede057bfbed72c4a16175bdc9d62dcba20ff60220ab63b562e3565b862c553c
+DIST firefox-91.3.0esr-el.xpi 647258 BLAKE2B 585223a672140f88e63f39b26669dcf5d738ce03975838425698dc78d16464302c6b3f7eed76476e343cd9d86f89ae2928d2b664c71c1411f1fac750a351b266 SHA512 d76784d0fbe38cd0e438bc9ca86f218afdb8264d3850fba72909c69158624cc5d98018c9588adca3f44a1593191835d4eae8716721a33d114964e55b3efddbf1
+DIST firefox-91.3.0esr-en-CA.xpi 516472 BLAKE2B 2248530d7b3226fe9c9ab2c32769cc9419f1eec81696961469bee9bebefe44e45ea6b1b6f063f657fc0f7062e738d78fdffe3775e08fbdda0a7f44f28fc44c16 SHA512 e720fc864b9f2a6a1e00383fa3e84ad7bc9d6a7cb1104e172bca6acf89c829e5cbf638be3acb47d2eee2d029fe49349b1cf6fcececd8c2b8a51a344b91135b5e
+DIST firefox-91.3.0esr-en-GB.xpi 517069 BLAKE2B d7cac13741d46b7c39f5b812406aae16caa3f6a3f2e67b7d52a85fa84f144e04a913cb2cbf9efbaf2fca3809391aae94bad79b00658a210e45d671b5593a923f SHA512 4aa91264a254076404d066779badbe57fa9128f74c410308a3c637a4d684544b14110a8ba402ef5c8849f679e83bb92438cda470107ba1f00fdbc875299498c0
+DIST firefox-91.3.0esr-eo.xpi 542949 BLAKE2B 24f79414c1b4519d288fba4015e3242ed0f758d067c91bb38ee23178637745e03f622fb640f9edce0d9e3c31c59840f7d4d333ce678bdfa51e62caeb6bf438f0 SHA512 3c9119b00b56ed0ce80c5dc96a56aa852715c2512ef779dcaea192efdb348e05e2478f9681681b456038591295be059e86f51517e536aca38a65b8c17efd1523
+DIST firefox-91.3.0esr-es-AR.xpi 554544 BLAKE2B 3e00c260c9d7cb2dd51c7676ae3251ee280bb68068b7b4fedba83194e021d6bd6934c6302d5393b32fe510f6bcdd92790b467b1476a21f27469e8798c02ff9b2 SHA512 4d1b5ed49025cdeb3c9187c54aa8cad3517bf9e2fbad6ea9e279a1603a81e582837abf87990a6e8621a18bfa13f3d70ca2c1903a3b46fdb5060bd4d0529a3067
+DIST firefox-91.3.0esr-es-CL.xpi 553849 BLAKE2B bdb3803e846117dacb8e0eec2e2ee19e409b2186c39d9eff242edb7ad5ddff15249ab8bbbf75876e7f3d18f108e6d0bc2d5573a0cb3e5fc740777fccc7f4bc99 SHA512 7628ae3ffd00a980bb74690180fbda6d0de3c4c664c404e93d3c61796b0351e71a22195d36a41bb9a2de182d192a0fa5c6692914bf3f85c50e30dbc052895ae5
+DIST firefox-91.3.0esr-es-ES.xpi 542847 BLAKE2B 915a85467ed5b7778df38436325c0cf6faf1d4ec208a8327c08d87788b6fd0f2fe12c9d6554c48e891c92ab33ddc0816b1f7527bab3786b46171ceae07bd93c5 SHA512 5f6e62752e9373445352ab1c52dc71f03c4cb97cbc0dcc246063ced993465b518c5cc30e6d66eaa4249f46078df7b86540100213c6d90497840c224d63133ee1
+DIST firefox-91.3.0esr-es-MX.xpi 556754 BLAKE2B fd611f581571eb90c5c8be76a5be36d2a9208bc9af5b50dca2a1f5248e47f0b3b31fed7ff8df83c97bcfeb1a0906dd90f7c8bdfb09ec5bcc3f9161c0a8756d22 SHA512 5e6cb4e59f083d34cfc035967e349a2e25f24a443499dfdb06da3f059df3c22a52eb5fe996eafeb2f374e04f130c18e18848aee9188a76a230f9c74d30f99b14
+DIST firefox-91.3.0esr-et.xpi 494584 BLAKE2B b00cc101d67003d8cfff27194224fef4a05f7dd3d9bb6ec5adb8fbecd846ae13abf86641deac6b7471a4b9251e4a8519a05c4c2b07e0ae1861879e082306feba SHA512 38e2c8bd90000122f7437f1a282e6d62dcd48ae6aa209016f3ddaf42c0cfeeb914cc41a0b3231e8b8bbce23139d5664d971e2c27fb5c7f68d74df62c482e1aeb
+DIST firefox-91.3.0esr-eu.xpi 539373 BLAKE2B cd47d852c57f93bf415f047639094c4d5193c81b69c65d743eac9c17510a6e64907fb753cba55f6e75ae4b748b8fdeaa77d9c9262ef91a3dcc218c3061a0a334 SHA512 ef6d06fd530c38d5ea224db08c849c4583d6901a528e918e9bea3162cb4a73fc3839dc45592c1a56efe3808f7d1938d02399859251edb17354db575980a3b360
+DIST firefox-91.3.0esr-fa.xpi 570986 BLAKE2B c98f1b4aacf241d4e479fa2e8826511d5e1b97b92c8b148bb518abbe50c0cfb44d44bad89c2717fdb13ef2e84a6fedbc6dd6216d60ccbc204255852a3702c967 SHA512 6411e81d81f394c89be6f2df9dfcd9185c3c2b00f5bf9f163281e9d5db1e51a79009c5b753c0d739eec94f07fee0b82c91c2974b0f6e7182ae0baadcda1e27f8
+DIST firefox-91.3.0esr-ff.xpi 486054 BLAKE2B 45fa8a6fa3f3c257c122b5d09b982efe57282ead478e5cb74728ef10c1e0339d67f033c23daf3d20fb851f25bf64265720c1b4f6ae67bc787e19f4be212ce5bb SHA512 ae8f4bce9833b73afdbb71116f24ff1895fd3d5f077b165314743bf0156d2eb697f1a26972272499bb70447336c376c6b1a4e8af9f19f347df1d999af12ecb03
+DIST firefox-91.3.0esr-fi.xpi 540701 BLAKE2B c39cce82a73c14a1a5adbd2d1e2a489f9ce383874db569498afd956e61e3d1e9ba84f98928b73b31dd85147642f098dd8633325a5f2f7a1c6c6227f82fbb36dc SHA512 6ddff885638217fe6935bd8e63cf9efef0d675bd50b368e22906b360965684033e98f73f66ed152db3af6439d4626b7aaa1a765ee2a49721163986f7cbc904c3
+DIST firefox-91.3.0esr-fr.xpi 565634 BLAKE2B 81c5125436f1e29373cf2a93927faa2c7f8cb4d04302e358889966ee98c4fb11748e3755ca04b4709686a3444a664cf8d7f38aba70c734fdbcdab7c78940586b SHA512 88d259d80760cac53f9fa6162843d39d46020dc52dc27bd63b72c80b20876a0a255a42686f67e21f526f79300e4258275ab3b7490fd936f386908fe432047972
+DIST firefox-91.3.0esr-fy-NL.xpi 549525 BLAKE2B 45bde4730b56bce4119943ea3a62d8f298a38e0b9abf5f8be76f5a9f81b71dc1fc15fb997cf996926bdccd38b106ef267583e7ee4c7fd3f186fc7dcad003f896 SHA512 d6a6801e25d5ed19f2c14b7d5914a5057d2c8099d01874b703357206a3b41c888a7e190fbdb36f6c2facb8fec7cd44e3cafdd45187712e80d28d7113f570b563
+DIST firefox-91.3.0esr-ga-IE.xpi 471091 BLAKE2B e72490b6d6a66b42acbe60027b78fa49900a8dd5197f94e839e49cc75c94408c5287bbaabf3fc29a2402849e3c4f6500298754e9b11a1dd5cebc8e2b253705e5 SHA512 d515fe37ea675e18f853b762d0723f1e96d2a2ad2fbc8a367b791533a6879625d4f6d1b664a4f8d80432306127c6058a7120d6ff674bbc7e5c52269267d3d27a
+DIST firefox-91.3.0esr-gd.xpi 545671 BLAKE2B 99ef84187f3af2b5a1f93ab20b54df7ab9827d352dbe85d6f720cecda0d1e4fb2c0b433e68fce6e7c83f05bc1c3d3b308fde9b1440cb181698386488d2824b30 SHA512 77b88c58e129e76944c74dfd000d1ccf01980ce04829693f94949dda709c4b11cd01d6ab6517521d36f95fd049a8e08c943da4fbdf598d638511b4b640207b66
+DIST firefox-91.3.0esr-gl.xpi 548590 BLAKE2B b41ddc999b13fd51d6333c7e2d19759602420b92099c0180b672ec750ffe1b7741df3c41cba7529333986e498f5b951f24768ba9df83b2d78d5fa220cf4d5c7f SHA512 e0ab44d7fcb4baa364a6f74aae02ed1de97c32c9b738ad7a0bb7ea16925ed7e808485bfc2a8aff98db5ce965420a0af09080f3f0976989c40e591ef94de81019
+DIST firefox-91.3.0esr-gn.xpi 566594 BLAKE2B 4465cdf59dc74823ba58c8c947e63e3ea863b75e04e3bbe19fefcbf6dbccaf390dc5ffc8f55328bc4f0e6daa575377a3d26a7d78bc65254e6853bae7a35a7d60 SHA512 f3d4d2cde4a4120d1c5ef323e5b2d8ce0109c0d2be32cc56bd3068dab10bdd762a1728e9c8014204658a5af21f763c0d6bc96ab11d9d6f1265bce3de3f648f6b
+DIST firefox-91.3.0esr-gu-IN.xpi 544926 BLAKE2B 04eba9c891297d1545bdf7f466ab366bfe41f89db178f9315fd161d14569cd836005b2730c8e2fc73a0cac873b3c3d71373fff00d14a26d1fdcf5e12052b27a4 SHA512 d21da8323368b989cc0a5b372e86fd3a7df52d0b29fe5448d0a10d2d43ea7bbc5d6ce137a1974d3f19040416510a7a9b75f264429cb6e56e4a072bac471491f4
+DIST firefox-91.3.0esr-he.xpi 563925 BLAKE2B 47409cab870b7976a51a6f128dc7ce1a323f0c9ed4a8c0dc00632087dd06ced8b7dd2ea22e7393ad2eb12f4b1e9eb61f6cd3c404dd57be3ed2327736cdb94fe1 SHA512 af138a527cf815ba6e9b9dea93a5ec1d6348a3eedbb6dca15fa3b4672bcd122b64785746d5823f661c631773af74f4a12ef8d2c98dbcf7e81988bc74db0df1e0
+DIST firefox-91.3.0esr-hi-IN.xpi 575956 BLAKE2B fc7f15f06b7d16e66b73ea6aae0e87bee13ab280d4a8298b45b270555c70bc661267dd587d1424f50b07d535bb6fa24ff67423c8913bd2a17ce1a459bd3abecd SHA512 04563b192bb50d580dae0d8ebf576328e785f3bf971f54e4abb3ed52f1edcfe7154283396daea15af72cea075426013acb4eeb13eada1c06afc69f7bf16d21ce
+DIST firefox-91.3.0esr-hr.xpi 544690 BLAKE2B efebd168624b686678e5cea3122b4eed6993b1b001ae807e677c71fa6b354dc86d69b5dd52bc462a359ca256053c117afb609ce58a7090a9216937f70771cdf1 SHA512 03a10939a2949ae3a4ce0fd637f892bfa163adc172121c45ce85a68e49055b7f84117d8dfabe974f5e114fb31e0d63a50cf6116c23e2cd131c583c01f78beda8
+DIST firefox-91.3.0esr-hsb.xpi 570287 BLAKE2B 801e6dd924e9987bbfbcf61dbfec8fd026ada2e0a8f439165a93b15783a749cbe911cab7746cdf7c62e255918399f988e8febcba383a0b25e4f3fa2e65d0729b SHA512 2717cb31d6bdca52098b14e8cb640f437ca2d8084968283639f8cf08d8d1ae9887891d4276d8619da2d01a03ee5be8d4212b1b0691b53e1e9a08a462ea4e3790
+DIST firefox-91.3.0esr-hu.xpi 574172 BLAKE2B 829fe11f64d78da1972d3405e636bfae83456a797414aa992422cb455e17ef9cfbcc608212b99e312b6509786dcf60b941517721ad5029f60e903fd9b126d1c2 SHA512 5dd972b42c1f58601bdfa2bba3e9ea8d2358624428754994ac61fa7b31dce0e0a76b320fe36324950a31bc5d9770e52acf627d7dcf7771af6b4b820df8c11f95
+DIST firefox-91.3.0esr-hy-AM.xpi 599321 BLAKE2B 02f3a479176e71f9c225bdb4448c9e4da1cf111b854bf0342617a08906429a101bbef29cc24717ebd71549feaff378e22d526318f58a67bad4026e8b6484edb3 SHA512 1e986afb36a0f28d44735700192727645ad8116a77d06cefb79883e7e223c8cff5f8721bf218dbee05e078cd355ac6683a143a7c717456fd96c91411b5401cbd
+DIST firefox-91.3.0esr-ia.xpi 539816 BLAKE2B af6e24bdb46fb7ef6fa4806c4a191f90e2431fbbe377c5d1ee0fefb33d71005f1a79b24b201df34d1bef9a233103cb42162643274f7ce77bca149a27c34b2434 SHA512 7478a1c90d05b800dbc8cbdf286c1b55e6377511e7a479fdd64bc02d5d8c4ba256aee30a84626a3ddd3ea81a795eed826f85246a1cbe2272523578bbf913d896
+DIST firefox-91.3.0esr-id.xpi 534169 BLAKE2B 1efcfd47aaac2a053a3bf5bb86b1dded26ebe572dfd1e3a8ad431aeb0191b1adf09cd1908d87696eee7c35404b20cac3c5159b3b61abc346595bc678945f786f SHA512 e9df4affb1fae3fcaae299a8953fbfa0c703123bbd75519d1c20668e64d7cc0e50705379871a1587aa0a8ac274e3fd37118bf36adabee75e0b884e04aa151131
+DIST firefox-91.3.0esr-is.xpi 481673 BLAKE2B 490f43b879857ab81daed8996389910547cde64eb97a60e69d138b19a971a5a85079f299eeaf6d423ccc3dc483d5a888e20404cda2d7f5863b8027a69a88b613 SHA512 70f3245bcc3302c59471c3e781ad07ff076e56ae24affe06280bbe817ae0255a816aef85d958b3ff873e9f52954186460f102d5172271d78609790da6ae15e63
+DIST firefox-91.3.0esr-it.xpi 467592 BLAKE2B 58faaca1155250686f459623d2dc16748575795bc589edd2487df734802dba00755bd9dd191f91dab97461746a04c160730fae6956e8004445243e712a5f48b6 SHA512 7d5b1ef7677d735267d81d9923212ce89e44fa39511a0cc8ce947c59517e5acf43ea498d23fdfe52625390a031a7eb347a2aa625ab46de97d17c6203192d7e51
+DIST firefox-91.3.0esr-ja.xpi 599763 BLAKE2B 51cdfeb9f96f2555c5abe129a1685494fd845a75a2924a602a4f29346cccda2214107bd7cebd1f3e13b39af3c088321c556e00b3b1cc25237397cbc82989f0cd SHA512 dc124952e98ac7aa56dde4621737d5ed10faa520508de67de940ff45488582bddd920017700c8879c6147542e493457cafed536cb7f3feeb1e2e05cab186a7ef
+DIST firefox-91.3.0esr-ka.xpi 601252 BLAKE2B 84a8430f902b8bcc919459d26f7bc1f5b669dcf8791b6d966bca09fb35fbfa9be29368e24a64b16c89052386c14ebf3a7441efdd7447b535fbfd0ee8ca8da004 SHA512 06338fb80b444589c4e01630b015b79d0fb1589b19e067d54e03aad81245561aa9659ed9ea1b5fe016fef74a93c315ab199d13c3379386fb73958a429ca2b043
+DIST firefox-91.3.0esr-kab.xpi 558644 BLAKE2B 652537fce44914933ac544ca261315bdf7f6897c7fe56ea985bf5c4abd8df868aec5ed4a2e77f5c61586d3881374909ed43196a3d00f6f3b809a259b582e8112 SHA512 413d0c4937beb8348e034d133e10d13e47d5bc2dc72b901d7a2e8d74364735465b90187cd23d455f78db30f48c94f531851c8e9e8a026ba6e61e3d18c19170bc
+DIST firefox-91.3.0esr-kk.xpi 615023 BLAKE2B c261060b04c2f815e57b0334e6a39c8d230fe04f80759e790857505d3cc21956c886de892c9c73136d53b3ff5d7ae02b7892d5a333c021cdf8dae1bd01fd31c2 SHA512 fdd4430f4eb6c1a4bc3ffc0bd91732286b7656637eb1b88b2fe8da99dc450b10971ae46caa08bc864048f801bf715c3a8be9d65f7b99f34b1e68a80cae0657e1
+DIST firefox-91.3.0esr-km.xpi 545289 BLAKE2B dec98240d0a2077b4b8171260cbabf8be624dddc114e37c886211a98b7d15b0af09865f0d1a7641217f62bd0d3addb0ef35d410f3eb136e2da87b6b05655908e SHA512 48ad4e4eca64f38830867475bd6eab317f086530f1baa9e4be8212913876cb57b29b715689d2a6dd2706c0fab73fd82f5ff0d09a788a2c67f351cb89b834eb2f
+DIST firefox-91.3.0esr-kn.xpi 508936 BLAKE2B d00c95eff39a028ee5462505133f1dd691115b7879c6d32db0f4cb998b33ffe0cb0dfe095af6bd0b721156acccf8ac68ff72d6cc3915e414c710ee66d1810126 SHA512 17491cf459f0a71e2b14b05ca36472854a9b379605c034f69ea868e751e6ccabad779384c5c3b755ed13f6b672957788334cbac7e8c4bcbeb585085f7638e48b
+DIST firefox-91.3.0esr-ko.xpi 585482 BLAKE2B 715cb964601375bd2676a456b01b20c5e0cc7aba9bffb94a455fff9e3a07413c2c7ff47e88706b7f100fe33ff15437a1e0274575b061d00b254208a3a5b7fbe6 SHA512 9921b4b07cb25d799130f9cbe469025dad111dc774399c86dce39e84541030f46ba3f3c25ea7ddde072e4796902856741ebe97acaf85acacc22a18eb9cc2add4
+DIST firefox-91.3.0esr-lij.xpi 482099 BLAKE2B 0526982b5cefcbd5d1d3772504315672f66744d4cc99c4b3afe9d338cad436b06f58a5197754ca87a68832859cb8e4e41947db5c4197efa08b263d1db664c860 SHA512 9c445535c6de513c7911b273f4ef3849ea5e87e58e81b10e07f6c041d255af95578f7f09100fccec92488a47e1039d2ad4f10b05834e61829524c2d64fa2e647
+DIST firefox-91.3.0esr-lt.xpi 567966 BLAKE2B 7df84a326c101085dc0169bb259de3df4cb1855d361dda6ba794556def3821f49a8f77a0bc8339c2c84a077f04c38c38ad24dec1fd6b472a25bc90401587242b SHA512 c1f1c5a29a915815bc16dda84e38b1f325361f1e859df5bc746a49196cbb6b30094f9a57a6a2f5b6eb6ca4568c8d94ca51456af601eb45181e17aa5d0df42951
+DIST firefox-91.3.0esr-lv.xpi 473686 BLAKE2B 44f92e2d9f24b5737237b09c280fd4543dd161ce8ef5832eabeb1e68bc1f3df564cec96e73fb30e4a7febfd9a5556c134f8927b965793b7eccce4d0464e59dfa SHA512 336efcb898c957412bdb4daaedae7988e35a03e32ea489e15e1060bbbce21c26d486c52626313245e03de41d19bcf35063dcf367bb490a40171322e7ebed597b
+DIST firefox-91.3.0esr-mk.xpi 473756 BLAKE2B c161f1103edbf0a62d4d8abc3ceb5145382761110157dd8e8c7b894dea1c11cda876df0f3e74fd2ba022e9627991f62c65df6e27d022f6b92d13bd83b662b1af SHA512 ee4c6a00c2af8b53267e560ed57665996d0668a2dec42eb960dcff5d474557738485f31796c014d3d613a624e805adcf29a94c38290c0ec62150db07cafe09fa
+DIST firefox-91.3.0esr-mr.xpi 547134 BLAKE2B d61d0ab6787f5c51039df91313950dcae2d3d0bc6364171e4f361f13b62fe483a0c3aad4ac3bdfe23b9dc764affc95f51592140a98b03f8084d318c0e77d6656 SHA512 130998d5d61d892cb60aa375d8164cd562b328145b110ee5b637ff7e642fbc644825fe7e45f5c11bbb198a51d034ae63143c8a968a9747f0dc7bcb4778f81053
+DIST firefox-91.3.0esr-ms.xpi 457537 BLAKE2B 7dc872a84e97b0ca1b93891f6c372146129926906171f9923b2d3fbebfc29b01448ac213af699a86f20bc8249f8871cee3d5135868a27a582c771bc6abaed035 SHA512 1688eca7a9a82c13ff3e8d539097ac5342b3399fc5c057f39cbae2377a3dadc641240ba2814745a47936abf0f4527e5da21d7cf2ea26939029a448318d7f812b
+DIST firefox-91.3.0esr-my.xpi 530545 BLAKE2B 7df234a0b9759c44aedb8b04e66a5a9b60b0e611111bf3c078a7f22100592b2b1d04890b500846dddf1f77a2f4931d9059e42c649c92920c1cd57ddfc7162af5 SHA512 5e6e9a4649fd5008024ac45ef8161d6115446aca480a018599b154f0cc806ea737e515769fc28065b6bd48824e4dc88a88468946b9c6bb49ee6a405979ec834e
+DIST firefox-91.3.0esr-nb-NO.xpi 536416 BLAKE2B d0001f96738bcd509fd71a093308ee7091e604acc7544d0ca57f7dfd25f21445b338f53e77f334b4186c4f9b545e5a00e0e97adc3c748ad8ad99bd24c0d22954 SHA512 1bccd54f8c0f0481535ad276da2ac52231f2ad425e8fced16b8e17010a30142162f266d089c9fc2a57e4b1c8e056a2babc970d56c4e4f64952f6b4b36e7f066c
+DIST firefox-91.3.0esr-ne-NP.xpi 486609 BLAKE2B ffcb6c7af30e0b9c87985956668b2b1679d9befa51eeae7d7eb4b90ff9dec5ee10395f290a9da3dd3e54e171bdc8b1bc2c9afabf8e13d212471094e9e033a558 SHA512 06296bd9d8eab79b19c3bf636a04354fd96d4c2fe1903343c48f290aa9bf43fd8b2d175e37e6ee6a9a6ace1d60b7494a33187a94e70d884541af3a08b26c7567
+DIST firefox-91.3.0esr-nl.xpi 544349 BLAKE2B 95be5d0652cd9af9a263f800f08e0d1da7b7f20b88f18fb6249b397d37e2989de07723bdbeddf6beea79a513cc3a9fe35664e7868d3a42ea08ecc1839f7f8d38 SHA512 3c608305a915693abe99a99d03d0bcd96ec5a580f9545e061f1e9c2438c79506445310f216c65b4d62f0cb507467fd5e9f06e128eccd10270b2a9a172b40b6e4
+DIST firefox-91.3.0esr-nn-NO.xpi 539202 BLAKE2B 4dc36634d372292efc74d82a0b28edb1c35ed52107048c3ce9153950254cdc18c82f5b7e6ca2c463232d3a7b3cb1a2752b710a6f4dfdd8169232bea34ed23f0b SHA512 e4bb708b1eab90c28deca352898956908bd0fddb5c9f5f3718156b53f6498a3d3608b6e614f7f09f11ac2a7d86e4da483ef431cba23c51381799377900d04436
+DIST firefox-91.3.0esr-oc.xpi 560173 BLAKE2B b89c674524e093378442092444491724faaaf388f47ea99ad5e02c15b8aea32256f517c83acbea59a04cd1832eea26fe2db7a0c2861b4643bc65be858835ceaa SHA512 fd30f7884ffc3c5d202ebc033762d8cdc03118eedfec888f2c399d182707ff8600e4189776f9815e5782478859656c1adc2c8b080e914c01928343dd70fb8ab4
+DIST firefox-91.3.0esr-pa-IN.xpi 605327 BLAKE2B b877537f8cb8b381be25358bb18dbc8b89df4d00765af9c26e9fcb4aa4051cc95c5cf281f0a1ddeba8ec8fbc6f646bd7ace0d9cbd1e49c1f694e942dd186aa08 SHA512 6b6d5cda222b073a8e3dbc61b68f4460661f21686d03d81a30b59430ff41b32a3190d14f5b011e5b251edbf881d42d673c4adf32d7f75205772fee2a2f2f68d7
+DIST firefox-91.3.0esr-pl.xpi 564260 BLAKE2B 3a6de18dc86f1232579b72d45d17daf60ce75b014495d0412fe39df6bcc83a420a527a3c9ba7af5c105b2ed1f33ba1de8a8f4fe9e20a07eb0f1fbc776cf887b9 SHA512 6be4b84817d4406b74d339050ab2fc73e7213bacc54e111a01edf9e79839d4513f5b8e5e8d2bab33af9914905a56b56fd5e4be9545f2a51ccaa256a8ba2ad5ff
+DIST firefox-91.3.0esr-pt-BR.xpi 550106 BLAKE2B feccbe76d93838c309dea0284c2d3767e4c224a44a9fdfd009f47260b32db25327435e7ee437dc269baf0ab1fbffc594178414679cae152d2d68fd925bd4371e SHA512 660d7d293fec0d434dd5184176e41a4d8096b2d245206741c3a997674e6ad55c0c1ec604683e9419d5627dc3932c624ccd160eeb535a097d419b0d9d23d4d599
+DIST firefox-91.3.0esr-pt-PT.xpi 553474 BLAKE2B 138281c56c435734cdfb59ee50c19958aaba73f53abc32ad565bbae0b2eec42cb697d48f742b979019a7995b39fb07f6b531de9f682e97503c89013967966f93 SHA512 6855854c6a7cd009e7a5f17833cb09a1c85e2a56a333e662252d15ab0eac38b20ac61822bcb23ac389ac6967497211e20bffd22047ea15241bfe98b9d3cce111
+DIST firefox-91.3.0esr-rm.xpi 544478 BLAKE2B 7df044279ac4de819ababa59600420ae2eb8d8d8dd76fb9f76a01e82436d4d592e2010149bd7d89f1ebbe21616577af2dff799f6afac5aa86050281d54465b22 SHA512 bb8dd03ce00c41c6986e6b21d16f1df40ba31b21b6aa42366745c0cc616ca7fc1a9780f11e588796e5a1c4cbdb05984f933caaacbc274182fd3a88000821d66f
+DIST firefox-91.3.0esr-ro.xpi 545828 BLAKE2B a24d75cd7336f3b3387322425930fae6443d748f3dc32f4fb45c772f60e3961fad98bfd53418559a3ac32a799bd1480c85660cf99a16d19853fcda0cb85f2811 SHA512 831957527688f21c45ffcbb5993d11a7ace7d60ef3383850c5c03811e876ac4bb768766b3f5d132210656ee19acb3748bb5216ba105bc61682b7a7efed9153e9
+DIST firefox-91.3.0esr-ru.xpi 636051 BLAKE2B 266ac362c40d49f8077fd96ba8f95b9825426dae681ae7975f644c8f06a1f7fc676daca67a972e96313a867f4f2a9d89164dacdeb76dd63e4e75fda469367ee7 SHA512 51c47c04d9ee5890ff3a9656a964f96ee1eadb81dc88e2fd38fccdc9e052ea560c74d95a5778999906a508c8e3bf6fd748d5fece40ccab507c08262c14bacf3e
+DIST firefox-91.3.0esr-sco.xpi 513233 BLAKE2B 33fc884e104d8e2044dffbe60f765aaf443555b498b2527cf7ea22d54572117fe94e478151d5201927fc3a24e1c370d6a171c4c05093bafe6c6ba4fa4848389f SHA512 8b6108c41f45eeb1bb357bd1003c96c7e93248b9cbe10e8fac1efd28052128d08952c061fea66d8374ed01b90945a6c7b317eac8ced9fd03781d2850b7d366ee
+DIST firefox-91.3.0esr-si.xpi 497218 BLAKE2B 2729a8ff6ee4687c7c7cd9a917c20d01dc49f8ba5ac12c4abed541104c8f505814db86b6f3542be1add8ddf170996e8dfdc1b4fdce7fc011b56767124fbc12c4 SHA512 42ba20d16c92b49f5c165715b67ad9d3d686c08238040def58ecf2874b3b5e3ef26c4c3d2afc248c4ae658922c0b5c0bf75b9f097850cf56d6d7e5b26209d76c
+DIST firefox-91.3.0esr-sk.xpi 573547 BLAKE2B f14711ddef612ea1dffbdabea0f545928f2c3cff5cc6a5fa8a325495e619a8bd49f1dc10cb980b95f8d5394eab6052f660a39ed52e59a9f24a920ba80073fe92 SHA512 bd096c518c13914457abd0720eeb5c48202ba9efedde512325ac9004d778034694c0ed6543f893639588aaecff2caa93dfdedc228be744f54a873f9d92fd77b6
+DIST firefox-91.3.0esr-sl.xpi 543046 BLAKE2B f9c44c70835f8fa7c9355c0ba8cc49a79e126569bcfa3d6d794cafe3efe6d804d8bdac9d2efdbd88b38f4b01140aaeb43ab434de985475daf387dc86f0ed3a0e SHA512 6f3561bbe6a2e8a4862fde0e65ba735086b181f30ae61386a391460d844e2b88b73c969d4ad963efca7f2cc96e1fc42d9adaf2de13490dec445f9af538975b72
+DIST firefox-91.3.0esr-son.xpi 433071 BLAKE2B deef2d272dd6df94fbe37cb76f00e4c657c2df7d96e6477972819f92f22750c77ebf9525974106156650cf2dd90914a2009a0c5c3368959e02af050d4537880b SHA512 97dd89f0e188f8227b88982b203ce627a39ed844377337c9959a51aa72a10166811b50cd58e2bd9b7692d39a6000e3d95f6139b017f92e9c6044f74874aba50d
+DIST firefox-91.3.0esr-sq.xpi 562512 BLAKE2B f1feb2531d4670cdc6011deec368e906f71dcfcab56bf7662a5802beeef1d5b8b5e7ef82d765a4baf6b37e54a245fd6fbb41bc57e2dea18939cf0d2b1bed1273 SHA512 0bf7b349b13e86d5e08741fd12df0f0894f1da560830c381b16f50925ad3c67ecea448c115cc7338915e77415b706b6b52001af48561a1403b6274612a5a4c36
+DIST firefox-91.3.0esr-sr.xpi 601681 BLAKE2B 0eb9dbe2de8b9e23cb44ac07a2073a2f7de350c0ce26e5ce7d36efabb906e5fe063f5a63ba91cd32a9176788e74c6c5c26aa90280ef6b4f71872f095453c4b18 SHA512 37a9c7171560b39834617c1444b84a6e748aee3b503a6def9c3d53ef659eb0bda32ca560b71c7eb822f18934feb55e208e9c77397dbbc9d330b8dce77caff31d
+DIST firefox-91.3.0esr-sv-SE.xpi 547621 BLAKE2B 08bd3b771cf6eeeb153d95e7d23665b1f0edbb16fd5430a4aeba3198609eaf2534e8ad4d93cb5e9da030eabfcb0688268392cefbc62b10df5202e0f5f83ce2f2 SHA512 d93d452135010f1cfc2d18f1f25f15977ad1a9fe08fe5a1efc6ce5a3f3518b5148f47022fbe004aef40ae0269beab20d39a6bfcff4eb33456e7c3ad6b3c07548
+DIST firefox-91.3.0esr-szl.xpi 522616 BLAKE2B a6844fbd36a56840c2ae480ec830ecc8a963805c7c135b05f6099df59d10bfbca4074421d4d41f4cd2a90b942e70ffec6dc0d0eafe9f110d5feffdddc09494c1 SHA512 8aa238e140e1e9c9a64103b61fc3497dfc17c97b13a0878d4dc573deaa70c80681726c9d26a92b0cdafadeaa34242bf3a72b4a7502aefe4ed6886ff23341b4e9
+DIST firefox-91.3.0esr-ta.xpi 525427 BLAKE2B a87bfb00781a1de250b00a5006d5a500a5e84e540bda38609bde9a596cfcb70d798295ca4b28153dbeae93af63dfa0631365991d89a5489ea9f2405f71cc893b SHA512 97070e3d1eeab0ac44cc6bdaf3de361e28be5041b58fc97a2c403cab948842a6a4a0efa4d80b6804d9ba67020f23291cc82ada5e843207d804c2cbcdc2d79cb9
+DIST firefox-91.3.0esr-te.xpi 565913 BLAKE2B b3be6348add4cad303525b90ae55a7681bf05d44ce4cd3b8ec1281143133bf8c29cb215d5ed1a0376689a5a434ee1c2989867d4ece8aff0994e9dceccc8c4af3 SHA512 72f0b5cd8a5b177be66fd6294521c555125be670aefff330c2703cdea7fff738decd7803989c07f307dc84f7ecf25142e4cd847a406edc672ac03b796f178195
+DIST firefox-91.3.0esr-th.xpi 614796 BLAKE2B ab5b057ffd367c917af6afb1b0959df87121bc8fd37dd8eb3dbb34f66508f0004df81d031382a55a2ace4669e36af823d2d6c73a5d0c27f48cec358d73716651 SHA512 95c3986a1baeac27266ff004631f4a4f0ff298f5c06eb364282f4c90856df6d356aa9aa0d04640d80c06ff8e13ddf7169e64641bdae16bdf219eb81bcc3d0b4f
+DIST firefox-91.3.0esr-tl.xpi 531783 BLAKE2B 066b2146125f9a5dddc544752b9955661168c5d1616ecede7ffd4ca4553aed22c343230a5d15a3a1de908e82456f6bddddac4b1342ecd3b8a7666adfdcb36ead SHA512 33a89f900e388f2ad1372f32b4e726fbcbeca11e25783ebf3aed5153b557cea05885f36436aae9dc268c0de83a9449446c73b1405cc1fcf56c8dfae3e438ceaa
+DIST firefox-91.3.0esr-tr.xpi 560033 BLAKE2B 6b13f234a86d38a5c4dd4eb46e82fac3d37845a909cfee19df634dc52b24333c8a78e6643715474615a6d6e2a2d62915b8fbf86496517b404400e484d82e2847 SHA512 f508ddcee0e1c423ee437bbf20b98d96a7f40d70311df05efab9b467d56c0bb9ec5030cef0a3f206b787b15e3baa0fe649bc9bd8ba03ce9e050278929c572c85
+DIST firefox-91.3.0esr-trs.xpi 503925 BLAKE2B 11b9fe4f1a914038e9ac82247957fbff539c2d19aa7fec681ccdf7ce4c721a96c6d1f445bb007bb17780bb5b0fc69840fb6f7d39bf0e57ed2168321603003477 SHA512 42ccf89c4ab2b02d015b6a5d5b81185409a1b49d837c6d8da743fa1f6d6935564a9a28fbfc185ee56161903ca5f39987b15be54a63461cbf349a0e27a1daabe1
+DIST firefox-91.3.0esr-uk.xpi 630023 BLAKE2B a65d6e9d1a04b357b2848687762dca572729a057ca534d8bc1c7b75f3c9aaa49bb5f5a29c6ff1a77428cfe6d788f7ac78fa2fdb65a339f0fa533da152cc8c6bb SHA512 ee66098a00bc371ecc4883ddb022bca5960e324349bca047abaf11fcc795075e532cb075160899fd25c86357e865a5dc70548a777eb393b82ed15d7d98819692
+DIST firefox-91.3.0esr-ur.xpi 573052 BLAKE2B 8bf7de96591f439196803a89e5eb02e37ec7747ade75b1d1f313f09073b2e7a0a482d3ac6bccaf4863aa74768ad86efa7922f6f35606ea71aa33f9db286a5686 SHA512 01f8a4fff5f425f25ef498a9f99dd65d9ecaaadf205237becba0d52a0e8054b5203104cc3e19a11e68bc19a57f62a4f72fb8aecfc1450fe39dfaef30768495b8
+DIST firefox-91.3.0esr-uz.xpi 481199 BLAKE2B 9313487f4a8a59ef28645dd9fe1bb81a77fd05ebf5402b442ac4c1cd2f533917f9a0a8a20fa442a48a60fdb40e4111993659ba907230af98d98eda8087025201 SHA512 9d71b314ee860809aac0deb903363f8db1151cdb21792c1524593ed0a86a36c9a132d4760cb749e6f99d22e5fa75f243efe85cd7ece395e7779d9197612b80b5
+DIST firefox-91.3.0esr-vi.xpi 581328 BLAKE2B 596dd95b4a8573c4d0dc0434be2ee5eff4ac5caaeee263f95838ee9e7e607ef9a4adeb5d08f9302235f91715a819ca90c04d16cfbdb2d611540aaa55dfb274a1 SHA512 dcb4d1ef7746844c2d25d9362868bd776cffac08aae936091d043a6b09f1f15cf66f2698eacfda957c4b0cf8576ad7a8191249201a604b13442541c984b874f8
+DIST firefox-91.3.0esr-xh.xpi 435358 BLAKE2B 96c7c7f452184145ef154126b6c2fe6216faa90b62267a0946871951547c13d86612066696549b06b99a0776a88911b26432758e9b32cb73715a73d415e82c2b SHA512 6cc4acd79aabf3f062811578bd4ec98a26520fd05af7c878fe3fec699fdc86da760332fac5c0a6d814abfa1fb2919ed869ef8f0dc5b1c5f0b582dfee4f0bbd74
+DIST firefox-91.3.0esr-zh-CN.xpi 583248 BLAKE2B 3caf831df6288ec5c1025f20c1834b6993fb5f50349d9b8715e6e020ebe5e1dcb0bf62592f800e03066cf1564a8bcfe0cddc8e90f72f6d7e3298e1ecc97c71b3 SHA512 95044ccbd6ef200deec8e4d3143a3989277fa309182248d8bf3941c25778841243f525410c391d49aee33a6bfc9d6d625ea45ce96ab7df9e2d70264ce1a3a438
+DIST firefox-91.3.0esr-zh-TW.xpi 583430 BLAKE2B 848ba2ff85a16105153a1810594ec9c76f4376aed110a896cb2de21b8a98574ed6d8ef1b5b290a2c650cac072e4bc7420405263595225170d51682fd5a0b8fd3 SHA512 0d4ab413bda98207f76d4b8ff5f895dbe2e42e67856a93027de18175927e24f7b3d1eb4beb6c1902f2dbd6bdd4e6e3ac164a7a1061de77acd43331b1dbc1d68a
+DIST firefox-91.3.0esr.source.tar.xz 381117132 BLAKE2B 316ac4c7e673eb1db88da9e7c1ea7eea6c3f6b6ca4d4066100c165512e52374c84f637aed1fd5037b126ce2cf51945a5a6276a4974f557ed1da7ffe1674135f2 SHA512 7cf6efd165acc134bf576715580c103a2fc10ab928ede4c18f69908c62a04eb0f60affa8ceafd5883b393c31b85cae6821d0ae063c9e78117456d475947deaa9
+DIST firefox-91esr-patches-01.tar.xz 20768 BLAKE2B 22ebd261b445f1920448d9243e3e15ed2e4d393099552bf43f26c9705dd00f8b87b5720e94fc43a31dd96c3a88398e17da80f81953f0bf9658d75e4a85a31fc9 SHA512 5935545535366abf8681286a9bd745f95f83ebf0d69ba5ce600ae513a4391fc16ea7eb4addbe8ad27f97eae3c1fcb05a78e2fc0fbd4cbf7798a83b778b5e1535
DIST firefox-93-patches-02.tar.xz 32064 BLAKE2B a99ebed6fb2e3af8c3d1ef60182e56636f68c596fcddb0450853eaca7b65fa786ce3187dae9d1c5fbce0b9d8de0b2a60d441b38a26d6b1dcad8881c46c11d913 SHA512 7f51f30815dc2386afa1349f512d156d2da3cb2a50cd9c14e763cfdf00535c78bff82f25820977252c3e5c086fe31d59a753dce2d3758ebe4f30dcda7a41056b
DIST firefox-93.0-ach.xpi 452270 BLAKE2B c7fd81469026d99e21553ec59d0d005e906915483b3765898beba694cf31c02aef3c15789a5c2e2e2d1ee242aef323ca7fa1c142912917ec2ca02a8cb9c604fa SHA512 9a4c7f880801eb1c4391a57107e88e3d43e6ce0a1bd617ba4d11951957e2d62116f102e55bb62db22378460c68d2ecb3a9b9b0285951c46846920ae02360749b
DIST firefox-93.0-af.xpi 425657 BLAKE2B 8f0f1df2ddc330f386d831696dbbbd15f639b0d95ae4d85b268924116f93f1bce22adc10b6053873f0ed6d69f9067515774b7904f7595c89a25edffde2e25e97 SHA512 f8c122c624c139c0afea5920f063b981665771ae107d32b654206dc0d00a8173230a357ca72649bc636d02825f1af90d291b5e09f9b7044d05b4af1ce39f6e6f
@@ -205,6 +304,107 @@ DIST firefox-93.0-xh.xpi 426899 BLAKE2B d089a23aa56a881db5a5092bf6da2133c001802c
DIST firefox-93.0-zh-CN.xpi 567752 BLAKE2B f21d32140357de5cb98da2c75f5d8511c4d98e8405178b7c54553bfeb043aa372c796a79ac6b33704a64427edafa511ce40f69d8b7267d72f4c2037199972f20 SHA512 17c1f6cb48fec384a61ad60b0da4a93648bbd6da9a752be8db1f076dab13efaf5c22fbf539b89b4106427cb310e26aa0f708164f8eb13e045cfeba4e30d048cd
DIST firefox-93.0-zh-TW.xpi 568218 BLAKE2B 4d842b6492967fa0a4e5cfd2fd46091e5f683df3b0cbc4dd13b4693023e79652a21eda449690acbced52df9e302e50ea32533420929baf76ca70cad416fc1a13 SHA512 11baeb65242512faccb1f4e813b62de681647e246268af1c0763e5a801e8d73dd741eb58b30a0a368f354f4a708dac88f7a1ad32a0497e98b67eb57ab0ef654d
DIST firefox-93.0.source.tar.xz 382181136 BLAKE2B f4315a81ea5709fbf622ea39a4b259e44e8bafad95468d3f41fa8413dd1d5d92e260f549aacafe8b6af04f0c036fb9d59fe8531f0e2fa8de5dffcc403b33f2e1 SHA512 b29890e331819d47201b599b9feaaa7eaa0b02088fcbf980efc4f289d43da4f73970bf35ba2f763a2a892fd5318deb68cb9a66e71e9bc0c603642434c7e32e91
+DIST firefox-94-patches-01.tar.xz 20776 BLAKE2B f117db17c24431db7284b1f78538dd9fa83c4985914f5a56fd2d4463dd0a4f5c456b412880478951dc27dfa792e8b680987ed428b8f4ccc4b312dec175588a59 SHA512 4a8dcea0754188cddadc44385ab64074c8c2eff7b42ef4278d08d419e5f524545ef2fc6cac7fbfb896ab430426b9a8adcb16a88705309c650471f4cbbc638c2b
+DIST firefox-94.0-ach.xpi 446929 BLAKE2B cadcdc877a4a7a8c52fcf296957b5cece4a70944d138529c042f0a91d0f955f78918852dc3d0711bc86a4f5b9c308bd2ebca40a1c3999309903b4de8dd22f719 SHA512 68712b5d1d427f2be8b875d3339010ff1159de68400963eca476de0675f5ee28d6a2b0fa5254ea15505e4734acdec5595fa10bb9db176b758d502519d10b4a80
+DIST firefox-94.0-af.xpi 418381 BLAKE2B 1a812192fbdb962d00b104b954d77ffeb9fc98846ae18d08202eb7e7e5516d3c8b0afb7a7d7ff3e1bcc8fc4f95570664159c230f9a73553e6b42c5719301ca7a SHA512 d06a946fb8d26449e1cecff988c053e2e0e4d9aeae52a456c306a465f8d55b9afdb8f4779585df9b4393b91d0c5a45ed7f63d954a03491b7e8b69b28f6ccbcf5
+DIST firefox-94.0-an.xpi 494159 BLAKE2B 3c91e01ecc3bd5fecca68bd3f3a0de83ab735b0c6808f3cf7557b94d0e3f7aff5ef801bc3d76891c3b5ac67d976e6d9677a4194ab19f9c3d69db6bcb37d0e1d1 SHA512 f51a206408de03bae5b2c5b26778f206ed79d8396e3b805d47173271f96ecb6effaab434f9a9e8b1dd24233d299570ecbcb1feb007fb0a4918f2a935decfc3e1
+DIST firefox-94.0-ar.xpi 552880 BLAKE2B b0bb09a7a06515875beaa966aa94e1357204a088edf59a756bb9a5ff0b0bef7b69b2b1c55585cd5d8b9fa5016a9067821c03614c9ead962d714f33e4739223ca SHA512 489d61121ab6991eca8d4e2e6440aa38f8b06c45b9b829b0e4e58e07a1870e95873a31b2d7513fb9fe7c1a638ee21dbcfc9d1a654fba52315338fa6493fb3c13
+DIST firefox-94.0-ast.xpi 492496 BLAKE2B 1615af33cdcf7dfb46e447763ca39ad19cf02a454957a97ed6df567a6eb1204a0a459c0ea8f4adea6af2dc17b0e1b739276c6a1f5da58b7388504fa5dac3a6f1 SHA512 3b9fb3394b991e01dc3a06d8c260fb46751663275ad2d1eec2c0c6fb81bf394b6062b470e02bbf171267645fedf82ca2bf1833c98261358bacaee75bee1e53f7
+DIST firefox-94.0-az.xpi 482624 BLAKE2B f546e39f453fb075bdfd8f48876bc0ae2795d0d1548793291f48071e8516b4dd86aa3984a482b5ed4fde09091e0807203efe153e35f0f9fdf932ce6a25afe944 SHA512 411d100a2aaecfdefb563a4170e96d1c548a24e7bf3736e472f24114b858459fa4b6e243a02f3bcf853172c2931986bb7532ca180c01336aff37e53b1edd5a86
+DIST firefox-94.0-be.xpi 611836 BLAKE2B ec34477a19bea5ed81e0e1bc8a0ad6fd9b805fff357078c2b83b158c7b6adca350d1831a902636379b448da336e9aaa3aeeb350ab2a1338a93c11c45654ebeb5 SHA512 331b4283c3fccaa3ac1b9699f8c4c0b50981f1b93df4652c3e828d2d3a6914e3f4b8856d080f52a9948675aa2a98560cde5d2b054d37afd5016df2958591ec2e
+DIST firefox-94.0-bg.xpi 561273 BLAKE2B 03a15d0d7bff358dcd86ecd1c0ec7ada4be3f77818e84081f9fbd760abd9174443ce7cf785a57df198754b41ca2db873db87f27fcbd118673d138a0631ab2cb2 SHA512 6e1cfd9616d67972d4d19b838a244d0a1dcf35d699defea229287a7dfa0a3b89e0e4adf1453a49b7fd790448e8cf193b573a6aec94acef8ca55b6fcfba302746
+DIST firefox-94.0-bn.xpi 549314 BLAKE2B e1b007557cb930a3080a169c15e0330d8bf0ca423f3b57e0abae5e052ed5df4bd198f4f932b3bf2531e97bade1849996048bb83e2539f3dc9a984ea615fbb3fd SHA512 0c9bc3df94c53406f2286d7cf2fdab9536fa5342868eed23b4c9b1b60a9389b342c558569cb40539edcdbda4ed7fa7a67e13396a2eb3181cfa77fc80350ba9cf
+DIST firefox-94.0-br.xpi 518584 BLAKE2B 26de8e4f744fc2a4fe42992aa94ecfa82939ddf6e07d20d2adbe5f94abbcbe825eea4c8696b9fa83a2a1e0df7b603550bcc5d65917bc1a6228bb17d76c3aa70a SHA512 0853d0bfb53b391b58f8a21169ef5d7f2520649006a51b04d2f69348f5029beea799beabf22b5c6c3abc8e112a3676ec2da1f4e990a2ea4fabf3ea3a886099ab
+DIST firefox-94.0-bs.xpi 457395 BLAKE2B dfbfb17d82fe8586cbdc0027bfdc91f7507a8f0bbb9a8983ce7f28f2ac6109616ab6f56bd91895afba4f4bfe4150e95bad7724ef180c6b6379ee9ad210886e2f SHA512 ecd86035a1fc9a39a88d972709722479865f11466bba7f0d4689e26950dcdc41ee67a4ab11a3e9084d4b525c7d783b31fb3417d323e770c08033cf3ba187a5bb
+DIST firefox-94.0-ca-valencia.xpi 522750 BLAKE2B 3d6ad18c10d4693b700919961c734cea1f4d0484b7a913a9aad7eb0f4c3b6f91c0df839d77f650eb077ff89ca7822af547f4da0d23f8c111c7875c8d1f1c2030 SHA512 d8743d698498491378c5b19a71e799675a2234f1a73419d60791da4f49bc48d7aad36a78b85f29b6e4ccea5e9363abdde3b175d5b9f128e030277f79fcd6bb7f
+DIST firefox-94.0-ca.xpi 523365 BLAKE2B ab9cf0c8ac61d908434527e10dca9675a4f72f8f056708ff73146ae35a56be124133d2835b4cc236a1576145810672cd77405d19f6643edb7d65ac9c91d6f066 SHA512 8b1ba49a465436aa1af66c52f5a539a49c50fc9cb6b14d25a64c048549226675bf173a4c1e70f6f975bf2eb7eeeccf539e5ceb0d0ff6ee04f2ce866e955b9f4d
+DIST firefox-94.0-cak.xpi 546837 BLAKE2B bb487d955a48c1ca65576bb1d6a2d915a252c498af3deb5a5c6a8b4b74076504fa2cef03e17df45dc165e0b32f0bac2d357bc7fcdd398e993b926bb557d14606 SHA512 80529c5af340a5927b0d6e2b22fe61498d6c792344e6f5339d8566ac4bb7c9f8bd6f9a0fec30749f60a2d5911fb45c54e632b78145147e50ac6a1927c8dca821
+DIST firefox-94.0-cs.xpi 554906 BLAKE2B 18a991387d47d93c11afaf92913cbe2fa72895869bfe8d09d33ede6c003b118e54f178602f415414800fc5be1d6d28df16917cff52a8bebb82fe978db071ee66 SHA512 0e8e3ed65eb099027c96d57ee85c164d99a60ba9f2df946c3d8a33c177bf55de5d941797e3675ba23924867a09fbe5fea5071c742998ff998b5aeb148766b511
+DIST firefox-94.0-cy.xpi 533294 BLAKE2B 17170da6d82a8576e55115d794dc283ef615ced653c4b77058fed0703234e173527c7ae8ef4383125abc3cb08c13965631316e0d4c4ab40e1acd4ae6f92a6913 SHA512 580983d58404f176d7dde5aff705616189968ee5ba5056c5be1a1b6875e71b935dc78acecb8f7b76174bb912b7c1e8d412a86f7ef403ef46e8dca8da3f8c832c
+DIST firefox-94.0-da.xpi 525179 BLAKE2B 5fa775427d920d596b45bd50af869368a9c2d8838d856bd6e5dc8b968b1a69536f8e5bee31660c9dc6cf1b1c911de1f7ec795ddbbecd463ea795fa51bc7c73b2 SHA512 a8b8437b614324809946aee1e78a5ab05ec7fb5f85c615aaf564e5a3074ea15bfaaec782add4f8452365098dc2b44f118911bce67948fbe916713f228eeb2c25
+DIST firefox-94.0-de.xpi 544130 BLAKE2B b01cd37cf5209575e902209ec498f60300ccd3a0487905ed8a93a783bd86b0a2944b3302843ae0595f8e61a0678caed96f5c14bb8ce33858f41062386bdb431c SHA512 3a47a95eaaa1c9f2c15c4c999c1e058311b2fca95497290d46d5c07b897d776ba31d22e59f9ba4b8c02688a25d17c29a574e7a2d35ebb6bdcf7ffbc16f9f0a58
+DIST firefox-94.0-dsb.xpi 556677 BLAKE2B 57d60b1b4f6202d613f70c0f8b87362f6845a70602438c7d20224f292ab8cd3aad91fcb9aba91bd12801109214ea2f4eb8728ef110b7e4ffa124c7a43deac7df SHA512 dc59c7fd279d2824d9211cc619423b8f088c7b35bfbdd8813ac31a4351aa4c7a2b16d44850d6ffa0b720f8be5592fc4734734f30ca8a8c19415a845d531cfd47
+DIST firefox-94.0-el.xpi 628432 BLAKE2B 86b75aff518f774e64c20a0fd1c3c456786fee806ed49ea92b6e85aafd701063fe506510ea8258595e6f6b512b142caa097234e175d066b0ef8ebbf914e5f931 SHA512 89eacb70327503143e22a38d7c1fbf150984e29976e8d2cc47d78a6933ea9ba945199c3b533b14b5b908cd3dcc5d0b4107cc93a5d98f1a30d5ae8e1ad61fb19a
+DIST firefox-94.0-en-CA.xpi 501775 BLAKE2B b3f0dddbeb0af47e5785a13636d1080b92ee2cc1e6b8a5dd4f1becd7ec6188ff2ff5112d2434e9e6cc176ee33cc79a45dca44ec3fc56857690c917b04b46ed27 SHA512 35696e7886f3fec06db4370df39e3ec913e4ba6fa79c2c631076db566fd368777f8382040a2ea8de822c1d7378f8322186df64a28d663d76d7c35dc48b550dbf
+DIST firefox-94.0-en-GB.xpi 502275 BLAKE2B e846073baba6b15e2df84c77ae4bdbb27707a0adaae4c757b885bdadac4b6b1e324d84df4a04b2f8ee78cda767a090e457863a066790aae4ea8bf6b4cf6f6cc9 SHA512 2a851196c251ceabfc0ddbc42ac82ee36287f63c8d6b43efa11c11ecc2ac5045f9ef61e7b74f90a0fd885e2d81ac34cbd129decbd0ccfdab6024dfb32a91a8c5
+DIST firefox-94.0-eo.xpi 524226 BLAKE2B f2824ba3ee872cb17c40c7773e8a2145f3aa404450e51d80bfa9958fbd4f1cc822a5f8951ac2b5682105a454e327a3dd85c938ba3129d6584b9909e3fd8adb36 SHA512 f71bb5b16284a1b250b5f23541c76d70cc923a896292fc22d744ad175cd3750c74dc460b0e297a2decc5e8b47d17cb4036e29f5d8c1c4fb38dea0a203642852f
+DIST firefox-94.0-es-AR.xpi 537698 BLAKE2B 43e9bf4cc96b55fd8f2474995f86e6e640f7568d10fb100b4eb115ba02083740a9dd404cdbff3ae8bb72a9721e0fe3fc9ce62f94a3efe590568bee43ff4c0d8d SHA512 f593dfd1f5fe2f173ad983e630b8a81835aec3cc0657ebf71a6c9cf63b16804f0951cdf6cabcf9a14766e3697466a9b867c35589ab82896bc2e3cabf075f49a6
+DIST firefox-94.0-es-CL.xpi 537216 BLAKE2B 144f0b3ff8552d7e55f22f398411790234932fa566ad9f2a58ff31900fc4e1fc6ead5481170fdc7677e5c85dd294d85e821bbb4fee138ca71c31d4cd8061ba68 SHA512 7080e4145f2b43a276a8168beac578585f6b27e3da3b974fcf1af8471d41534c886b67dae07e82d3028c3c5a2df672de864b83cac624e52b10e56d03d1d8ad71
+DIST firefox-94.0-es-ES.xpi 528002 BLAKE2B 1a3b0db3a2985641274353ed574a3a396b237c61eeafbb0dd91e441564eca6f231973363a15908d82e159ff17c650aff4c4441fdde54d20ad7824f01bab79186 SHA512 81027fcd5d1b8841c951dc40d92db2b22acbc1e746c28d094486634effba98041ec2a5d7067d0a9150647935b4fc0c7e289b514cc1b3beaa598f94c83876f638
+DIST firefox-94.0-es-MX.xpi 537413 BLAKE2B 16609c472da7cf08618a68e6bf1fc776a5f8f3a4bcaab469c77beefb9bb92d5343ad3f128d95082f7117de0b6488c5a5f5e5856b6e7d253be242feeb84315539 SHA512 3c5499d347c7d1c31236c4e526648bc89bf4f8678ce61c906d5e25983ef5087eb6c2fa9e913928903d55d4129d7ea09a8c13f7ed01d88cf02223dee8d77a22f1
+DIST firefox-94.0-et.xpi 475967 BLAKE2B dae63ff0e366546fce68aadedcd2eff0292e44921b6bf329c35c27e33acc070fc9157d2d0f3e1283542b91dce1aa97251d37fbd3569ba5a465ae86d2b34e51ee SHA512 64dfa10ed9802f9100211b11ffc4943f6842ae5e952c6be63b927f8140bcd83ff84f06e9f0a5b214b3e0eabdc15b95503e0d863a717b14628c2c989f145537e5
+DIST firefox-94.0-eu.xpi 527560 BLAKE2B b4b6d9cbf33e8296f55eed59fc21d388bec1e912ec8d42fa69d6638051e019029817ec87fbffb287eb538a07cecd79bd5ed322000634f5e99b9262034410173b SHA512 ba1c46467bdc760f70ac308f9b8b87629be77573863165263e87725b7ac74706209da69f445a4b7e9d3e7200a8fcbd5806514ab324ac1c8f95ae57a3ebdfbb04
+DIST firefox-94.0-fa.xpi 549175 BLAKE2B 2bb607c7c1814bf65ba44bd914062f304c81eab4fe0074906bd75e9347a9b8a29e6583b24e4621f03feb842685a1ddf0ff58f9b6b48226ade6d4d706b995c9fe SHA512 ce8df645ec089c73e5f699863b955bbd46678c55527af9c6bb85504abe63d6455b9a48f15534805cdbc89d581e3ebbcbc044dcc5e6002e5f80179c29f1e23042
+DIST firefox-94.0-ff.xpi 464854 BLAKE2B 27685a8513a97129d6234a62d8eeec30435422186b7f94d88447e8282c8f9bdaf0cea3079c0f61582c8a63c23c3f40696ffcca50f0f27a4f633ce49292ef01fb SHA512 784ad1f33f1a18a723136d5bdcb9eecd73ac2d87c52077875e1b7be940f8ed34a3116df3ebefd1d777a3e607441b11330cf707228516547d77ff0979836cc79b
+DIST firefox-94.0-fi.xpi 521624 BLAKE2B e044a3e374b2ce7d28cad2693d0552bc83109e7508ff9cf94c9a1541b09ee7f78a205a71cfe9d22c89d8067741ce067ca7d6e91d859fb841e6fb76c388fc6abd SHA512 90eb3f98d85c142cfa9b3bce9fbbd9e607be097de16c4a70914b1f509bed02292d0626714a1050c6fa1db3ed5cfb2a5e144197561d5e208b5eb6830c6b7802e7
+DIST firefox-94.0-fr.xpi 548390 BLAKE2B 562a0d83f003c7dfef31dd4f5cf244311977948dd8252678a10341bca255572c5bbec3fa5e21c999829f50f3e3d5d2300be74971ff4905909a1787580d41932a SHA512 362e7288975cd7ff5bd0b8f3736fbe09af81ea8e735e1a66cdd5bd746fd6bf0081202750938add753992fe42db1d2b9bbd13001d913cb066bb10963aa997e760
+DIST firefox-94.0-fy-NL.xpi 534125 BLAKE2B a646f8e922ad0c24082cdd154c11b98c372a24c9127255678acbf52803c646d318ae3053dfbcf2f8b8260c5fb5641ca87d69bf8dc694a8a916f946684ee85051 SHA512 a2d40196541c22e35b077dba113dd3164351a12ad54d98eec1e88c2add1c39dd658d75a4714592e6406947d08d0db32c4a84a3b5ce1a13935e277028b604cf09
+DIST firefox-94.0-ga-IE.xpi 453036 BLAKE2B abf27aed8e4f6da7f112498a79cd2501de033f6511ff88ab7635b4b83b3a4820e816f0cd2b27638aaff5f856ac0cbac28e1538b61e0b5025ce907cc6f55697f4 SHA512 251bbd87efba55d94d37029ec0830603505b3ffe3ad1035f8a3285ba667514e1ceff03483590cf3dbc8cc37aa59c4e77bc3fbf65c163a1a92f0d159232bd1311
+DIST firefox-94.0-gd.xpi 525192 BLAKE2B 629f9e6f67a23e660cb4a5d0719f37a1125b6bf41e1b10fe994db1833a565acef8ffb7e7e5d700163ed3c1e54ce5e3b705686ccc5d6f9b415731dc92937f997a SHA512 21b16dfd63a4628ef7363b071467bb6e418875db3be3a0a735af58116c484f1b04c76350303ce5e23b724ef2881a369c67e90d7c269ce6e4c4e749d6ce1e67b0
+DIST firefox-94.0-gl.xpi 532752 BLAKE2B 048a6b21d77f1cda8dc189ff3a903fc699877c01330ca4e9538a4af0cb47857a5da048115136c71211ca8d8d35c8c35d9ecbcfb9ebe6510059051a17e6f9e55d SHA512 61368347cfe1ce7689cf2efa85b8bdb18dc44ae2f530641216ba341dacda4c9f103e8a2fd253c63e606e35f589cf83980c521900baa21efec66266332dd87a37
+DIST firefox-94.0-gn.xpi 548780 BLAKE2B 8f72949ac158db9997ce2913eed0f923e9113117cd0cc05b0ca1caf8ac4020c04d4b3cbfb01449830714dd3ad39baf00cf075eae3eca9d25b396d89ba8739494 SHA512 6393e32b926259dd1787cca1463b3d00bada93b7caca8d2cc1d5415cf1194d70f67234bd74f8c273d6c8a7e695b21ece1334b08ee17ce39ec7310f94600f7255
+DIST firefox-94.0-gu-IN.xpi 521993 BLAKE2B dca90cc34d3d9a4e14b4f0877bd70c5232ada0a19c3351160e9971c22ddf22fde4974801d439ddd74109f0988ce4352cad668ad04cb1842ee33bd4f9c613c1ee SHA512 267658f7e7158deecabda41828573c12d506692635df072f704cabffc992fddea937e8fe7cd4ece2525c29f7f4c0527605a3b7bb88980da12c06c188221ac976
+DIST firefox-94.0-he.xpi 548088 BLAKE2B c06bc253e9f4a6a6c1a6e89df9db8fa22a147a5d26d10872d60f4d4f3a2b2ddc40634a89b84bb07048551f804fc82c5902d05b87dc621d326ed64ce6c8a2a833 SHA512 1ae1b47a24c5b65a5d5bd0c96c3bc2001e3c28aca417daf2d06aad71cea9071cafa1af853de3a39c9f79cf79f38c553bcce85994efb7be5302fc60985cafc435
+DIST firefox-94.0-hi-IN.xpi 549627 BLAKE2B b4dca16a609bc081add9620b1815c29b3f27551abdb72a3d3025c0ad9ba33b7e96c8ed25a79a9d6eeae1128c3d3b7a5dcbe42566c5e2ffe717f5bed812b639d9 SHA512 2931449d56622eecce2c99beb5e022dfbd2a552b166cc9eed6a9e66392a02fd192535b584ad081974f2f590393b3aaffa83ed560848120517ab2caac396fbbf3
+DIST firefox-94.0-hr.xpi 524158 BLAKE2B d18a723b0510669ee33af590b0aae56eecb536f78f7fd3f556f5114e72b7a59ea07a80bec9b3bde1d57fdb293b1a26b6b5805ffb915953a415d519f9beb6e6ea SHA512 56d049e10a1db1365507e230e4ca387169b34be5c07032fe5e3987bc2b18841b7fb22191af21022f341bf7d66fcef6dbd83d005628f76a87afa8db3da8c6924a
+DIST firefox-94.0-hsb.xpi 552757 BLAKE2B 803083a7e269a78688b2719f8c55510e6f9e1ebcb4b9642477e7f241d65ab9caadd44b0ecbee48655a27bea489b776bbdbe2cfd84a70c0e0db22d4e4221287b4 SHA512 8e398333d5d78518c6f7551bde0d73843b5876e75231286b7378524a1f3e8856c367de0033fdc44faf79fb5f8970a9cab49e39f0c71c409b0f491053644d44a7
+DIST firefox-94.0-hu.xpi 556535 BLAKE2B bfb59b70427e22e42d94eab63455ffb683f002372e6dba3826e02d677eaad02f8d3b8c552f07924f7a72ec590dbd3e18fd2478e6249f1b22e9f4c84d61cc54b2 SHA512 b81fadd7050c6e7a6a8be6f44208baf4ec2b42554d3ba0b5ae2d4cdee6111bc221ac1b0e26307735c9e658b519abc9ae32b7af0959c56a249c3f5135e638df3c
+DIST firefox-94.0-hy-AM.xpi 571518 BLAKE2B 0fe678107dcb4ea53d15fffe40bd86d66b0c24b1c7cd83b13964823ff0cc0211f587f8ca0d14e0dc3ba0e3e816b28845362a549ae134d9cb854ddc76f8db6a54 SHA512 74b100b486dc7ce3d837c5ab050d286bc774671915e8eacf9fac0c8f59315be2bb25bd0e4f6ff4eb316d7b92b2dc377b778ba77306bfefa53d0413e9aa5fa22d
+DIST firefox-94.0-ia.xpi 523402 BLAKE2B f0e2808610af6d2cde52c1daf3c9339712fd92e3461c638176a23a3e40a7cca1d03b8115835a9be1d46a343546cd38ac7e92dc7365d601d2b772ef280d06bb5c SHA512 6102730b2a1a7bbeeb33c57e6cbc20af94b26276afcd2778ab183b5c5720dafa7c3a8b5b693e141130e9f176c278000a3bcd65b4bd61e7cba0f5a74b4c9469f5
+DIST firefox-94.0-id.xpi 514260 BLAKE2B 80f40ef170c8ef8151ffa53ca0b5a657fc93b0a7d1c6490644e165d5605181a1885a52228cf034836f472a404ca727552f98039aa7af756919ffaa9da5aee9ec SHA512 d0759dad08ed747822ef57afecdbf1e90b831b5d9b6f6f982c3160f5afbc669674f6d8100b23112da9a0ce52773b95f2229625ccadf1cd29c60dad080b8edbaf
+DIST firefox-94.0-is.xpi 463534 BLAKE2B 663e2317996b922b79923939e1882292091278bf9ea6991d569acd99b06237aaed70b99af7201aaf2000a43161095df3782e78b1b8a081aa19483ccf971edfcc SHA512 9794e60e9080529d9c40e57b05707dd5527bc5c8b3df8706b3a483d273ef8d4fddef5fb56d7b95e8c8deb8507cfe9df0c1ed870b13683a1e44524a9d029c7bc9
+DIST firefox-94.0-it.xpi 451920 BLAKE2B 9bc8035ada6e4a7a504787785891dddccf08905f25b1de9e92f12d1776ffe023dce977ebab167696e941f69abf0753929642caac30aae0e0353da6b23014c287 SHA512 dccfba41bc0ed6e8e8e5c710d00fa2e2393177ba4151c082f802dcf2b1ab3f65add7477bff87d8e1df88dbc17dd7a140a4bf0e217e57a2771c4a9b2e88f2eee2
+DIST firefox-94.0-ja.xpi 578385 BLAKE2B 02f59df92c3ff73ba26c2ed2a9200d232dd5d034da5e8b38d7c4d6033539ec5580976b245ae0644c0af7f6130108b39dcde00c83a2afd48b9622813c20b8a3a3 SHA512 7640bf6129393001b940a374772d6bde37d71f6bc1af064e97058398c4d1683fefda00e879da1817d817b10215eee264981be24e66ded3ea40b670bc12b72ed0
+DIST firefox-94.0-ka.xpi 577168 BLAKE2B 48ac1ca6386dad7d31035b3884f76ae8022babff610df3aab481912473abc2ee71fd2034664e2f1fe10807577814af2fca4c6f0e6115e8fbf754c8afd9437b0c SHA512 0af9d8bf0ca2f561a48cc5f2b7e105156717df03f2c8bdd35dbfdb54d8f1568dfbf2d0b4495c3f9c7475c8e872ab966d7668edd20f2f1a8dae121c6cb7eaf166
+DIST firefox-94.0-kab.xpi 537772 BLAKE2B 14d324e9b5b6ea40228d922da78e62e13fdbfe75cbe4b9d8428aac7d8f97947a870e2281c185996beace7415a93d7480f3d47c2d683b792db9bedbe4f482905e SHA512 849c7a27c4e815cf9c3a0ec5b044da642d385b84fb673d645cc837663ad12395d4c4320cd906fe0c73ac737e7d1801c7eb5b33dddd5d6caa741769915b4cc71d
+DIST firefox-94.0-kk.xpi 597267 BLAKE2B f00a1ccb11def8e7421fbd90080c6dd0f5c64964b13c879f2735323781eda01b1765e4597fce6c1b81f98c15784c1182aea3d00ef5929d5a13ed89483a8c2e1e SHA512 8b538953ef00d75b7a887d8cf8880f8b4c40805d4410a4293cc382d65bd6ba7394278344c26796d2eea33142710a53d1c26cf02037f992574cb0f4458e215f6e
+DIST firefox-94.0-km.xpi 525206 BLAKE2B 0a8c7b10640f078914672f06cc4aaf3f01f7ab36854a8339df9feea686e10437de9efc04d2353bfc19571fb1e19a24631c06db089edca026981d6e2f74842303 SHA512 83b0f6fea01a34927707dfad1e60534cbe5f11dae487aa5fab869f158449ef519fc964c14ba3d8a41f6f4c7c64faed2179cbc12e33fa43e7978a84a579fee44b
+DIST firefox-94.0-kn.xpi 490301 BLAKE2B b5ee315471500bf9b110765046406eb71054e72faf6e1523e8e1d0f2360a06b4ecb33e723780287f933ad1a0fe6419a6a523b4f1aa613a52e66d58ffeac211bf SHA512 309e75b64bc8b43daf56b480e6982da4db0c40ba8fd6116df6519efce10c4195b2cdf644926b85cd892d87550051e3bb6940123f7bb248cdc021fcc8649e392b
+DIST firefox-94.0-ko.xpi 569343 BLAKE2B 091e68d4dfcefcbe9ef4f0ba45740eca3df606c8ef7cce7ab7a8db8267b7901857ecbec622a160d7298efed24ea3e82ce66b50db1c0fd219fcc14589627993a8 SHA512 d07cb3fd592be34bbace4b2fae03b5d536c073fff1d9e87a549944a338d87604db5966c24b6984daa08c9d6ad07f5338ff4f3dbe61d65f8bbe0257cf623355a1
+DIST firefox-94.0-lij.xpi 463827 BLAKE2B 522a1defd39e16468d204fdb34ab5c65c5eba79e2f848db81c8d7cff3867a199def6457131b74d293073b606477a649e5cea91a271f365f9c35c3ab769e3744a SHA512 b8a288d6cda6c41b449483e1dd70c49d67675d3fb8e288f47bda11b3e23093b28e9d6c267af6827cddbb0a8499e81d33852ff5fbd047758319b61cebc75ab1b1
+DIST firefox-94.0-lt.xpi 551271 BLAKE2B 4b02985400cb20f79721044005438e5db8d4d2b4658d847b7a21b2b51f44fdf99c08ce1834b4fe746a248714f23c24ed4c631fdbef41c309384e65a2a45856fd SHA512 0b76f799cbaf2ed2ce610ab432bc8e35bc4f7c244704c8e671b115b530a411dfdbe159417949150c9ec06f4874e4392875a57f70faa947be1db9e490e9919923
+DIST firefox-94.0-lv.xpi 455635 BLAKE2B 9faf704da87b4a430a1ce2af4567fadbbd9e08e3e7094ddb781fc4db4eb0f864894d657e88f5085f148d128267ddad054fc662ebccb507240d2b286f73e45005 SHA512 79a002f3b068b452fd771c18ab38cab67c35449d2094bba7a59d359dc33fd25e16089f543a28f2513c2d43e588b68f9eff96511336caac65578761da1dd00589
+DIST firefox-94.0-mk.xpi 457667 BLAKE2B e10548292cfa3eb8f905975cc197d215ff80fe6a802eafeea2fbf63d9a8f1df8bde13c6073b523325cb012e0845cb516f912459ddc885f625a54d0d4851a9527 SHA512 7408c93c8c24b3d81183427bdef84b436d9b636a1fc77913864f79d500906361e33ab003f362009f24100cb9ae15041ec78da1615b8121b5c180f8a62574ea87
+DIST firefox-94.0-mr.xpi 524926 BLAKE2B 8c97f00bd6a8e6a0d95841f1d44edf4d1d59f5aa305360b103e202139b0a4045b4f5396e29ab0330b08db55eaeca13a3766cf4506386c2ecf786a62106b07640 SHA512 785115dc974ed86e3bd9a49ebe660ca69a6963e7671bf0fa12b0b2eea611d01445ba910bacccb951c2aa51a95bfc7e74cb9e6495ecf647f35ec930591fd6bc2e
+DIST firefox-94.0-ms.xpi 440740 BLAKE2B 918e8deacdd19016d475035b6685891590292b9fe256107c3820dd9a250dd95207782ad24c4f55234e2028f8a7f1b3dddaad3b2db829be4c7a0950350e75d0e9 SHA512 00cba0d6232ac1ac3a5603e720e90eaaf1cbd24f6a8b4a620fb6ec5c6f254e6e508cdc647f4ab9f725db84cb0a4c9c2be7d2cf9f07a6e38fa7b526e51039820b
+DIST firefox-94.0-my.xpi 509186 BLAKE2B 46b595fed0d3a39ed53bb59dc21b04da9a24537a40eff91395a19d5bec654d49feebb939a0a42bd2e8a1fe11985918883043a7d931f43b4c6e1b16e5cecf9456 SHA512 85f17e57c032618e37ece3667d070f9537cc9ff0f0299373a74d678aafbc144697773d85ee72554f56f70096f3dcb95034ea4c5b6a3b49e7d4a170edf8ed5749
+DIST firefox-94.0-nb-NO.xpi 520733 BLAKE2B 00052b88231db8989406887d79e37be678d167ad3bbc7289152906099a581fe24f0c4eb137025f7f841f678f2df8e9d7c618e591476a17643f552cc4e34b3bb2 SHA512 1754754a7f1077173a235460fc58fa59fbbb7b9b7fc37059d216a89bef87d4a72df67eb393ea9a7a3646c85f8ce16ab5815465d2d7a62a91a4b29dc7bcb8fcc4
+DIST firefox-94.0-ne-NP.xpi 468604 BLAKE2B 3ec863871e29f442cfea90d56fdeda941bae8e911e3dab397c5b83f7ab2c942b4fd7bdf5b9dba400958bfae96318b6cb1c5888edb5b12a6fd91833a7075a6a26 SHA512 c97778e0f7d8ede6f416fbe0eda7fe5fd43719d446bdb2268262f2db52b430018057325835c287f7c073a61ea0de8c0f0183664cd52690b6aea6eca4f626cd85
+DIST firefox-94.0-nl.xpi 528251 BLAKE2B c5ad900bae877a34557e47a95662f4a4f138fa593ef5549978151329a1426934c66efa30849cb2432a89c9b203631bae1ac327197a27af246ef75da48e2a0598 SHA512 b0883ff9484c0fdec1a18651a3d032872d7c08e2684cff157f8cc494b7450465e899357e529df23ea531ad61e2fe5b5aad6a47cbeba84e5b447b25535e597208
+DIST firefox-94.0-nn-NO.xpi 522080 BLAKE2B 8a7781d2ff29740b7e90c947da2eb8591a1858f6ac35b5c7f41a66548ec564ed98119608ea80c6bf99a6c6ecc506268d91c0b08cfa58162ec7e8923247219cd4 SHA512 a9a12e79e8cd57bb94ef0404d12afcf3b91259988a25c5a918f650ea5038e30944f5316fb46f083452bd0d89f93a7186480b5ce88a0843b473bbbd9758146b95
+DIST firefox-94.0-oc.xpi 543830 BLAKE2B 2412359c4ba0611a88e86b075210ef07e88505c4f924d1479c2c85fe43097de6d6838fb83c2f81dba3457286c2285727d740956ac3a4fe1519e207fdc0d6bb7c SHA512 3ea68dd71a83d31420f9ff5b0b6788fdb225bb0709c2deede6b3424ec02c973b702c456def9ecfc2966014cf08dc53d28944d3a502a2537324c3065556029f81
+DIST firefox-94.0-pa-IN.xpi 584012 BLAKE2B 80cd83cc454a918f84b587fa0e18dd678807098727eb7de8c0daf340b8e8f8c2020772130f269e24dbb123464c7dcdc814a1b5b03191d5282914582da5404ef9 SHA512 f2f29ba3e4cf035b1da1dc0855dbae8d450434615b69fbdd0dea661807a435c73f08e0d6db071e5b0875514decddfda288f8e77f711e11bd65671d5949f1d7b6
+DIST firefox-94.0-pl.xpi 547602 BLAKE2B f26999651674ff64ff7cb6d8242f16890037eed53b30480a155ab27387a3848493b1db2e3fa749bee2a36c88fb38cac7d409fb762da320323e894dde33f96ccc SHA512 ac7d2168b307a1a60f701889566f458204c44a5a6874156e47f5c82e65292f6d1145e8ac98a786e41931b1d919535627c51b1ecd30a35a8e98fb8a318a8bcc25
+DIST firefox-94.0-pt-BR.xpi 533492 BLAKE2B 98777f5341a217445e5bbdf5c01627d9a6904e24dba1acf61cee96762a65837cf4b19142f7856a466cd5b6e46ccc6e6412e7f82cd01b0c72db3d018949a4d177 SHA512 90d6cba8619181d8b84c1264e7ba18563e4bd3441140546084c3d7683ed2e3c06dee883611b48deb6fd7617a979d831d5b15e42651dac4d0a947b746a412710e
+DIST firefox-94.0-pt-PT.xpi 537143 BLAKE2B ccf60f894b602183491daa3b79e39af0e8da06b7b5bf717a6f8a47980eec3a63dfd6cf6188fb98ebc4cc2e99f2272c484472b7d4bc47e6ad6b9b0ead23e37598 SHA512 66ad39f7eabbe47058a1de5ae9f5132715c63618b8f453689030bd8ad0c2494c46a461152650706ca6ff9828fda0cb18e577ea0848a3e367bdd1fcb7c74d8843
+DIST firefox-94.0-rm.xpi 528030 BLAKE2B 0f94c9856bfeccc2922560f8bfe43feb1dd483d05d71e0a570a8e4b4d90e698153d779a56b4b90cb0baa076d60fd24b8c9f438905568d9eb4a31086b4b014b5b SHA512 2716634a29e455bf47fd6cdc4aff7bbc8cceed967c463d73c83283e3860e50e8c6fabba3e50fa27c9c494101962f84917d5ff2e437c71980b4fc38311b560f70
+DIST firefox-94.0-ro.xpi 522825 BLAKE2B 2cf1137f569f229c360ba6dddd8062da366c7ff97af03f434c0538a2819c27b7a4c4c3cf6e6bf41ab0614436ba3342ac8b195870c665ee55103d23c4fbed72f8 SHA512 ed40207d633ee20e37f12afaa3b6544735f353eaa35ee73f9d447145c19f19ac808e1100bff13f8cd1842bf99553a7d0f26639c1955c610168ceeb2046c2c2e4
+DIST firefox-94.0-ru.xpi 616582 BLAKE2B 8afe50907e84154ab4f504fc24f1313d68653816d67b4aed2df7673684e02df0c6931a85703a14313aad400fb655f75b65debb95bdf2360d638261bba841e248 SHA512 86e3a46acb10015f4cda5e17699a2f54fa9032b6d5902fb3dc70710567b5665b26ae1ac74af00c84518a73b476eae11fd6647207fb5b3f2221ccfe489414dccc
+DIST firefox-94.0-sco.xpi 499123 BLAKE2B 1ec3e17f1543c4a7737223149e456c912cef69c4ddabbe08f955dc5627bd6b7a0c2edaeb3f0c8b19ef653ead6ff4b2a920f5869144152858d9040bb0d9b760e9 SHA512 1b782533b443e5d00a53c18ee521934e8adc8bd4f65cce6ea0d0e42d3d35266651933ab6129c82ffade4ad26de9895c895fac7702933421f1a6deb9c272763f5
+DIST firefox-94.0-si.xpi 480462 BLAKE2B 92261a69a20535381b7b238729ff97a086acb8f49702e6df145ee3604a7820895a8301378d8432d1926238789d9487492a9ef201a122a6000886ad17dff6616b SHA512 4dc80d56ed0bcd8934493cf8f8f6203487389c2d11aad8571a05cf25cdfe5739ed6146ebeaf6677e39ee4c8d1ac6c32fde5498bf77950a7eaa832eae2db14132
+DIST firefox-94.0-sk.xpi 556808 BLAKE2B 612dacf7c801984b3011befdfefb74ea3fd157832dafc3736a018b78052ca06ae73b12674f7aa818771dddfec51327bf237e16eaf904a5afe06a1d5966bed58c SHA512 5ef3fa73de62c6b32aaa090d13d011e78379db95f41e0ca72d4b21c2ab4d0ebf950f0a5afe4e670266bcc0a875af710b4d0b127c194cc9846c6da247c57ab8b7
+DIST firefox-94.0-sl.xpi 525781 BLAKE2B f4f9d1050eac788900189ee3bdb3a095c2a8fbeb1842b783789c54dfc2a72583fad758fa62c65dc50ba925ff5285ced7f89f91d4eed443e0b318076f8e18a9ef SHA512 1dc9c9bf0999bd0112069521c5c1d246f5014abb5efb2a2af1fceda3c5e355d3e6a1634763a77acda709b7386fb64a4bdd445ab132a762927ee195689cfa400f
+DIST firefox-94.0-son.xpi 417362 BLAKE2B 71be6c261b3cfad2e282f02debe508d75fcbf677a203f2d405ece4a5776c9f35544f3caeec6629e0e6bb4d53f518b2fb6d6d252e005ed03bc3102b97c4068755 SHA512 384128472d0071898eaed2b2a29c6c8fede0b97bdb9237dd24394057bd7dd82d6be417ab2d509e9ac34b9932e758380f59ba0e44822e04fd9363daa22306e905
+DIST firefox-94.0-sq.xpi 540827 BLAKE2B 4afd4e62e5880febcf5eec2e60939a7b6c0496536f157dcba46e4d74c17c3e53a052fe41b34436ff1e76326ded77df90b125f3aa30a068d1b3b82e1b2aef7b02 SHA512 f926089fb22e4e4b82c5a255241b33edf81c6c2344fd9235e8fee1dcde023eba088f5733fe0a60a036d8664d7d922c67be0d48bb0e902209bb6357457b1748e8
+DIST firefox-94.0-sr.xpi 578101 BLAKE2B 9d579edd8aa7de026313a649ea837d11d07884ace27c80d1478dab537e733656340d26417cfd5ed580f52c72c3ded28f7f7e15acc618dd61ef680033ce3b0668 SHA512 9e8cb18d4f9539d0899cb236731e629889b6f8c4489b87b8b9c7331b6ee62e142229f2910354ac0a2c1c35e1f40f1ca11809d4620dd6d45316ae4ff780213e18
+DIST firefox-94.0-sv-SE.xpi 531031 BLAKE2B 2ff0ce610f97bde58d07de58496c465b16d3430cfd29cc2d082852e661b6596d491250657b59742a2085786d6c076fe5fee96c8895209b12ad36338ceef68354 SHA512 324ccc85b6d4cb842e7d74528223814f332e11cd278a74065be3be07da727f438b3e88c06468692495aa62f422a76b80532dabfb27ad7265ab6a30ee90081cf0
+DIST firefox-94.0-szl.xpi 503794 BLAKE2B 3960ed7d8de6a5b6acf592e0ac99f93aac400c4e7990ea58a75bf8103fbd7e2231caab17cb98c766bfc38b88736639b4ce04a62e7076b7229dcefa5dd548c227 SHA512 948e71f608109bcc6a24f6a54041a36a2e1b4b1c58d190c3ed3a3ac5ab0704c60b0e0869d2fc349c70b3bffbc0fe1bc5411084785e25be0244e76e3497c42a4a
+DIST firefox-94.0-ta.xpi 504703 BLAKE2B 5437c3b20815af5eb8dee09d4d976090a5394d78fe8ee009c7e5b8a5f51ba3bfc441b65bbdd6c186f18ff2468555f9c0af8eaf668914898e46136300970868fa SHA512 b291487cd4b9820d9d4cdf1d36e74086de8949c5e9237ac1588def96c753ee4d99dd533f474fd51236da1ff45d312fd0cb1c248fbef347a81169f1d53e09f069
+DIST firefox-94.0-te.xpi 543088 BLAKE2B 318ab87aa16529bf32a0251aa797a6ed295a7306d45aeab13c33e7c1d0f432ddba06ef3325ea864a51aa2ee32f1365d07b0c519b41e979bc1dfa6d4af713bc01 SHA512 f0d5109e810f87cf188881f52567be5352327a58ad4690e51f7c57eb240763d7e8b0079515af4930dc71d54abf1a6a880456fab2707c80fb9292b47ecbfced36
+DIST firefox-94.0-th.xpi 592797 BLAKE2B e16bfd49642a8712e4b9c6d56fc0fc95c3cc7ead2cbd17b5204e7ce19d70da1711a05f7e1717d5392a33e217792c752a02c85958fd94c7d8dcc28c4b6d36c991 SHA512 9962644d83c4e37c6008e52f54c9237c6cc684ac553f99160ca1fe05847c4289e1d86d23bf02a0b4829dff84982a8e37f85092a6477380340190fd6aa760ab4e
+DIST firefox-94.0-tl.xpi 509581 BLAKE2B 01cfad56841fab8f3a1fa2bb4719350bdd8b1a72d24cfe3d524167409de494e019fd5049b31efde4dbcd72905286b119959925c6bf8d7d41e123e3c6121d6770 SHA512 f46b59be49ce092d405662b8b1e779c6f8015e2672f12d3b4d0dd29124d44cc12c52fa773636a1707ea24823e26305eabfa7cbb9ca9df356da2030686a26ce65
+DIST firefox-94.0-tr.xpi 543227 BLAKE2B 4c9d94bbb8c749bfa33391054db605ea1398aefc6a0878c6030837b4d2150c9a0c88f1fcd2f15c14721e7b2416041c420ba9a28cbe69fed72f606288784b905d SHA512 35c4f596259e8325f98afe095a19261580d16fbcfac5135223a14e7b4d393d62a26e01d8405436b9ecde8bf8ff9acdeb4ff26c44f3e92d497480ca5d9c52975a
+DIST firefox-94.0-trs.xpi 484034 BLAKE2B 2bc511fe447f61c9fd1fb0a25b6e807b15bd85f4dc70f3468838219cdf4127765fd21abd8ba6f74af370f74c2bc790e3d88db4ad6f198c02893e5e2508ec792e SHA512 8c7fbd89f0e39d0a0413320a0ce333e6bcb3fcaf1a2035ec75837b41244f8018033d5ebec9cba682f95ea46c10c0bdeb572fe4d9a8c2f1594786466462706123
+DIST firefox-94.0-uk.xpi 610071 BLAKE2B 255a2c7c47ce3d6bb838ff2051628aa32c5ec9a277cfc50e29bdca7f0b232cbd7d01ee63335e2014cd69833444299c748ae5017fcf6b80d4fdb53482640f50a5 SHA512 110c73a8d3e4c1025fd3206afe351a3cd45b855c4bc3402d2092eafdd7c6c3da230a6f4d95db4e0964600be366b29d4c3ddb70ad983daf0d67c4815ee8b12773
+DIST firefox-94.0-ur.xpi 549590 BLAKE2B 0084da30e9fe23de58e2dc99fedf3d10eb2d16dc908bf2f7513e8b1185edaf705ab7bcbb82565de4c1a34fd9e9a76d68e5b89c62d1c2ed05ae9c6265353ffb98 SHA512 0501a20ed8fd67d70acbc73b84361b9d95f19a911e18ce417cdb435a005b2d4e6a9a233bd3467975a58cc6ff8a8ebbe42a14ce019a9a56c71ad14aaf7c400997
+DIST firefox-94.0-uz.xpi 460394 BLAKE2B b25e87efca1e7d0d0cf3c739091faa17f5ec5c05d90c7998185edf16f793521a7763c2e60544e59b51c7ada8a24563371cb8de5b9a6ce03b946404213bdcee56 SHA512 ddd1f79ec8140b9296c5c3caa86eedcf9896ab927bf710c750a98546d8305d292e3483879b1fad758d1ca2cd69b32d5f40a8ed15d25e91ba01f0ec4e61f26654
+DIST firefox-94.0-vi.xpi 564311 BLAKE2B e28926ea1e95a85541fbd0dcea4a920b5aede166dcaa9a3da062ade4386d6f7c5aadcae4bcb8418c15ae0ef8104323d10aab04ca4b4e3cffb046e13fc54bd0cf SHA512 68847cbe384d84ad3bca572bc6315ae059af73044809a2e90870e16b48fbb53c87b1aa32965fda9619ed3fc9da2cbdd683a66588947ea2fa32ff344aa39c4ba8
+DIST firefox-94.0-xh.xpi 420854 BLAKE2B 604d096543c2765a761f25150e3bff66a9542fd37fdf034d59505e722b68cbd804a4779fa834fc91727832f2e755be9f81a21a10791db804e67633092bf139d4 SHA512 39394ee0bb2790ab05bec2749d52869517f98d79e88e8e3326c100f89790057e4afdeb100481d62157bb764a1c203f9c624ad59bbd5cf63a006106db00a439de
+DIST firefox-94.0-zh-CN.xpi 565918 BLAKE2B 247e2c0d451bedec51c4e015cde9d954876ea5be18fc972de75d8ee880f79804129bf9c6465fb1b5568275562843ebb864bf3a83a4a61eedce765a4ee375bb21 SHA512 4398ef98cca5382aefa03a822cbd0cb508d6169189f074093c85c0f12ced4a32510a13339a57af3d7c3c8135607edd52d8aaf634aa302790aece2cf67495d05f
+DIST firefox-94.0-zh-TW.xpi 566575 BLAKE2B ef942cc3262a8600d4e0a7cbb73dc44bbe371234a2b4844ede9aeae0bfdd1391e9b34eb04cb7aa8c2b57d0137a6e38ffc5f99c39cbf3a19165338ed112947234 SHA512 c53ed001cbf60ba69f0ead669100ea21253cf0e716661d7f81589100fc23c62d4059a83e2cedc519a65f40af8756dceaf5dcf42c06e6743aae79bb469cf5e51e
+DIST firefox-94.0.source.tar.xz 379590880 BLAKE2B 024bf40f379c72c4f12e322915e07dcd4dd7f6a8e7a725efc10d9b4afb6cd67093df7001fa93f4b9757eb22403da5cf8e2738440326234702816647fa497e2ad SHA512 5eb65450a0f1842d28d73235f3ef95fa1dbf8cf1467c354f13df51313bd227aaf5a48b741ee49b13378aaaf054bff52004c1dd5a274eddef4a3cf1b913ef7071
EBUILD firefox-78.15.0.ebuild 34443 BLAKE2B 568b5626c717137be77371545016e0bfbe22e0b362eb3a6d8654f838c323b48e1f62581f7e90d6d40ae2bdbe13826acefd52c7d426587f8fb1f9b7070fb105bf SHA512 9e8cf9e5f4977dfe4cb0dfeb2a82e481b87a7a6bf3b1ef250966a3c07dee6e43dc44fade1b45e46af8e2eadf6758ed2170214529823654ac83030d14de7d63f9
+EBUILD firefox-91.3.0.ebuild 33839 BLAKE2B 93930df1cd8869f4703e130c7d85cc7c8f9953c06c5b183bc0bc452686d583e3d06295377bf18fcfe8d3e3dfb67e1808f11f28300d0a9e0e93a4d8b06cae2a11 SHA512 614c7d6c5e0484f2a138c33b23a5b8bd81e9b1e517a5194213aaa349cec321547c36a16c74c00472d29f6dfdf059c0237826f026867d097e47d8e50c3a7d2c19
EBUILD firefox-93.0.ebuild 33813 BLAKE2B ef1d5db89c7e39ff7313f922c5a77007553ee3dccc6f4585e3ac9d23f6ea5be7abec9da0464ff2b45ee9a076e3edbbd59a7c5428a0f9b6968f7eb9da1f4e1f79 SHA512 6d1177807e810d75fee3de1bdf3e6c9dcbfb0a66f5fbef1415644707946e6bba292eecb4201ec9d51f3de74e8fd8b30e129902bf7785ac0f3c567fe5946aca78
+EBUILD firefox-94.0.ebuild 33850 BLAKE2B 30b11625fd8f8e27b8d0a0a737019565a43adbc08f09ef38abc615ccc7d3f2ae56b620fed8adc70b606400e5446ee3259f32f866eb32bc5f6ed675d7a1c9c9ce SHA512 d82f657770be9074b3ac35a035b809657cfeaf9c189f56c40545a5b8d3660dbf110fcac519ea1684ed93a30028d75b6196d097cc469520177c363460e29e8158
MISC metadata.xml 2151 BLAKE2B 0dd5df0e78dee99abb7d7fc5a384126ac9920f8f39e886932c894328ab4c235aabf0e7fe401c6859973bb8c55f29bb64ec8cc571b58aa427325cd4b98a89fbf4 SHA512 14e367bb16402e3c3efbed5ed6cf2acd776fd725f4f29f5cbf20f4351ddbb59c89103b9d051fb56912bea461f994fe47741afb6da3b072710eaead0004da2c58
diff --git a/www-client/firefox/firefox-91.3.0.ebuild b/www-client/firefox/firefox-91.3.0.ebuild
new file mode 100644
index 000000000000..7764b7c4a09b
--- /dev/null
+++ b/www-client/firefox/firefox-91.3.0.ebuild
@@ -0,0 +1,1162 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/esr$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.51.0
+ || (
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.68
+ >=dev-libs/nspr-4.32
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.35:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.8.1:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+}
diff --git a/www-client/firefox/firefox-94.0.ebuild b/www-client/firefox/firefox-94.0.ebuild
new file mode 100644
index 000000000000..5c7cbe52269c
--- /dev/null
+++ b/www-client/firefox/firefox-94.0.ebuild
@@ -0,0 +1,1163 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-94-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
+ hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
+ +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-libvpx +system-webp wayland wifi"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.51.0
+ || (
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:10
+ sys-devel/llvm:10
+ clang? (
+ =sys-devel/lld-10*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.71
+ >=dev-libs/nspr-4.32
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.35:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:0/0.3 )
+ system-av1? (
+ >=media-libs/dav1d-0.8.1:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-png \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+}
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index 7ef2ef98e3bd..18473f7979b3 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_95.0.1020.30-1_amd64.deb 115448340 BLAKE2B 01734fb17a065474a0dcd58432062be063dd0aa0f72e4c4ffc50bb6f1262fa0cf55b3cf1b346e8271dc6049fc43233974c4f1691aafff55f629b38d55a0a77ed SHA512 782a857c1e3a5d97b4fbe287c16811a98fbbef37a90c4478e5f6f49286cb5e585b35e7f444cbba9293bf28c504e90a8ebd38282190744bb77e1aa39fb43c036c
DIST microsoft-edge-beta_95.0.1020.38-1_amd64.deb 115583580 BLAKE2B 78b45928dab47cb5c2d4ce4ebcc2d22cd186ea2c5aa1e0a763cada47ed1dd5df6d79da708a40be5607f5a01fc3407980bb6d34faf31cd5b2f12524f7d1741778 SHA512 186a0aa8348e5b5040a47a59c91a1b16c24e7ad11cc28d10b3aa9b83100bb70137bfeffed6cef2a37dc89592b7a513b7671f96a1e91f76fd4d1810ae09094b26
DIST microsoft-edge-beta_95.0.1020.40-1_amd64.deb 115566968 BLAKE2B 74bfc80ffaf513706cb425d23ce34e7c787a959323d31ef4dfd8b73252de73aeca6ac3459a0787577b4d0209267076eb2fa5707e99f08745c9aa6dbc5f918d2d SHA512 2e7a8350ac5d9b60c09b290e86e28fc363a4e412c7b2c25a230d1a9240476b43effc3599e12e736e93d1cb37bcf0e21676c5fb94b5dd654516a88985a1c8fbed
-EBUILD microsoft-edge-beta-95.0.1020.30.ebuild 2221 BLAKE2B 780d2c7d2b4bbe2a30e7e8e88d9ef53a199c0fd0a1d5abdb5aab6ff308c1ca7e87265c2a58d6c5e82d25127ac653bed2f541cf6e113c0d1950016141114bfcc8 SHA512 1e2493595fb489116eea5d8d5d4043d52bb3e469059dd9072d79454611f72b478320b26ebf6d413559f536ddd3edacf049742f4c4c2e610caa55b4c59ae70d55
+DIST microsoft-edge-beta_96.0.1054.8-1_amd64.deb 117817116 BLAKE2B 4804e1e42fd6cd4244f4139640c1f5fbf88d926a2b32c05fba5933cc09b8a61860c4e1a1dce2725f8766cab65ff39c74f65c9b633ced3f1583b202020547c7ba SHA512 e367aefad8f0828ac05000ad7e53f2edb1bb48a3b5bcd840fd870f78cc776b046e5f54f756b11f8aab82a9a4a4ddfe15c5a36011da4d5e33afb441368bac0b9b
EBUILD microsoft-edge-beta-95.0.1020.38.ebuild 2221 BLAKE2B 780d2c7d2b4bbe2a30e7e8e88d9ef53a199c0fd0a1d5abdb5aab6ff308c1ca7e87265c2a58d6c5e82d25127ac653bed2f541cf6e113c0d1950016141114bfcc8 SHA512 1e2493595fb489116eea5d8d5d4043d52bb3e469059dd9072d79454611f72b478320b26ebf6d413559f536ddd3edacf049742f4c4c2e610caa55b4c59ae70d55
EBUILD microsoft-edge-beta-95.0.1020.40.ebuild 2221 BLAKE2B 780d2c7d2b4bbe2a30e7e8e88d9ef53a199c0fd0a1d5abdb5aab6ff308c1ca7e87265c2a58d6c5e82d25127ac653bed2f541cf6e113c0d1950016141114bfcc8 SHA512 1e2493595fb489116eea5d8d5d4043d52bb3e469059dd9072d79454611f72b478320b26ebf6d413559f536ddd3edacf049742f4c4c2e610caa55b4c59ae70d55
+EBUILD microsoft-edge-beta-96.0.1054.8.ebuild 2362 BLAKE2B 5ce274a4e4cac50f237072a6cc3b54cc47a79e336ff70a7aa92697e24646c37affe68171f6d163766be415a41bb0c160ec8f6ff53441a024c0e99582d2f8cd0d SHA512 0fd3bfb22627908068e26c36226b2c8927999f7be968c5b069c4bab6a52bfb25a601ffd144b2f1c912af72760a9ac6b4258a9aa581511ae017ce86d1bf74d377
MISC metadata.xml 438 BLAKE2B c33dc51ce04401c4fe43abbbfd73d89116311e7e9da4552fc2024185b49c6f279bdbb6b8dd84575afa5ea353b23d10f5400f877e0cad8691948183606632c675 SHA512 02485902fef7f459af8a203f75632d3524fc777beddafc5ace980f7e3e658e9b164797c233c0b99d404f37d4532dbd34bbf3a9984afab2454078891405f73c5c
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-95.0.1020.30.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-96.0.1054.8.ebuild
index a14f69804a04..098697866ecf 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-95.0.1020.30.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-96.0.1054.8.ebuild
@@ -91,6 +91,10 @@ src_install() {
gzip -d usr/share/doc/${PF}/changelog.gz || die
gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+ if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+ rm usr/share/man/man1/${PN}.1.gz || die
+ dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+ fi
local suffix=
[[ ${PN} == microsoft-edge-beta ]] && suffix=_beta