Repository: joke2k/faker
Pull request #1776 (2023-01-04 21:15:36)

feat(pl_PL): add methods: `zipcode` `postcode` `postalcode`
### What does this change

Add above methods to Polish locale.

### What was wrong

`pl_PL` was missing zipcode methods.

### How this fixes it

Methods are added.



Patch:
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
index e94cfc84..b79888a5 100644
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 15.3.4
+current_version = 16.4.0
 files = VERSION faker/__init__.py docs/conf.py
 commit = True
 tag = True
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 39514ecf..4c4b8e10 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -260,7 +260,7 @@ jobs:
         python-version: '3.x'
     - name: Install dependencies
       run: |
-        python -m pip install tox
+        python -m pip install tox==3.27.1
     - name: Run tests
       run: tox
       env:
@@ -287,7 +287,7 @@ jobs:
         python-version: '3.x'
     - name: Install dependencies
       run: |
-        python -m pip install tox
+        python -m pip install tox==3.27.1
     - name: Run tests
       run: tox
       env:
diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml
index a1e435b5..9ab12747 100644
--- a/.github/workflows/issues.yml
+++ b/.github/workflows/issues.yml
@@ -10,7 +10,7 @@ jobs:
       issues: write
       pull-requests: write
     steps:
-      - uses: actions/stale@v6
+      - uses: actions/stale@v7
         with:
           days-before-issue-stale: 90
           days-before-issue-close: 14
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 37d1aabd..4df49490 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,29 @@
 ## Changelog
 
+### [v16.4.0 - 2023-01-12](https://github.com/joke2k/faker/compare/v16.3.0...v16.4.0)
+
+* Update phone number formats for `es_ES` locale. Thanks @GuillemCalidae.
+
+### [v16.3.0 - 2023-01-10](https://github.com/joke2k/faker/compare/v16.2.0...v16.3.0)
+
+* Add new `fr_BE` and `nl_BE` `Person` providers. Thanks @Dutcho.
+
+### [v16.2.0 - 2023-01-10](https://github.com/joke2k/faker/compare/v16.1.0...v16.2.0)
+
+* Add `fr_CA` date time provider. Thanks @davebulaval/
+
+### [v16.1.0 - 2023-01-09](https://github.com/joke2k/faker/compare/v16.0.1...v16.1.0)
+
+* Allow passing optional json encoder in `json` provider. Thanks @NI1993.
+
+### [v16.0.1 - 2023-01-09](https://github.com/joke2k/faker/compare/v16.0.0...v16.0.1)
+
+* Fix missing comma in `en_NZ` address provider. Thanks @davebulaval.
+
+### [v16.0.0 - 2023-01-09](https://github.com/joke2k/faker/compare/v15.3.4...v16.0.0)
+
+* Fix amount and layout of sample data. Thanks @mportesdev.
+
 ### [v15.3.4 - 2022-11-30](https://github.com/joke2k/faker/compare/v15.3.3...v15.3.4)
 
 * Fix `it_IT` `SSN` generation with latin chars in name or surname. Thanks @panicofr. 
diff --git a/README.rst b/README.rst
index 93695aa0..f796e635 100644
--- a/README.rst
+++ b/README.rst
@@ -422,12 +422,18 @@ Run tests:
 
     $ tox
 
-Write documentation for providers:
+Write documentation for the providers of the default locale:
 
 .. code:: bash
 
     $ python -m faker > docs.txt
 
+Write documentation for the providers of a specific locale:
+
+.. code:: bash
+
+    $ python -m faker --lang=de_DE > docs_de.txt
+
 
 Contribute
 ----------
diff --git a/VERSION b/VERSION
index 59c8a50a..29b7b9ad 100644
--- a/VERSION
+++ b/VERSION
@@ -1,1 +1,1 @@
-15.3.4
+16.4.0
diff --git a/docs/communityproviders.rst b/docs/communityproviders.rst
index 5fb206a5..fc211029 100644
--- a/docs/communityproviders.rst
+++ b/docs/communityproviders.rst
@@ -21,10 +21,18 @@ Here's a list of Providers written by the community:
 | Education     | Public school name and    | `faker_education`_               |
 |               | info for testing purposes |                                  |
 +---------------+---------------------------+----------------------------------+
+| Faker File    | Generate files with fake  | `faker-file`_                    |
+|               | content                   |                                  |
++---------------+---------------------------+----------------------------------+
 | Geoscience    | Earth sciences-related    | `faker_geoscience`_              |
 |               | fake-random data          |                                  |
 |               | generators.               |                                  |
 +---------------+---------------------------+----------------------------------+
+| Market Data   | Fake market data          |                                  |
+|               | identifiers (SEDOL, CUSIP,| `faker_marketdata`_              |
+|               | ISIN, etc.)               |                                  |
+|               |                           |                                  |
++---------------+---------------------------+----------------------------------+
 | Microservice  | Fake microservice names   | `faker_microservice`_            |
 +---------------+---------------------------+----------------------------------+
 | Music         | Music genres, subgenres,  | `faker_music`_                   |
@@ -64,7 +72,9 @@ In order to be included, your provider must satisfy these requirement:
 .. _faker_biology: https://pypi.org/project/faker_biology/
 .. _faker_credit_score: https://pypi.org/project/faker-credit-score/
 .. _faker_education: https://pypi.org/project/faker_education/
+.. _faker-file: https://pypi.org/project/faker-file/
 .. _faker_geoscience: https://pypi.org/project/faker-geoscience/
+.. _faker_marketdata: https://pypi.org/project/faker-marketdata/
 .. _faker_microservice: https://pypi.org/project/faker-microservice/
 .. _faker_music: https://pypi.org/project/faker_music/
 .. _mdgen: https://pypi.org/project/mdgen/
diff --git a/docs/conf.py b/docs/conf.py
index ef2f0ac9..29741ed3 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -51,9 +51,9 @@ copyright = "2014, Daniele Faraglia"
 # built documents.
 #
 # The short X.Y version.
-version = "15.3.4"
+version = "16.4.0"
 # The full version, including alpha/beta/rc tags.
-release = "15.3.4"
+release = "16.4.0"
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/faker/__init__.py b/faker/__init__.py
index 7a8981b1..ce2732c6 100644
--- a/faker/__init__.py
+++ b/faker/__init__.py
@@ -2,6 +2,6 @@ from faker.factory import Factory
 from faker.generator import Generator
 from faker.proxy import Faker
 
-VERSION = "15.3.4"
+VERSION = "16.4.0"
 
 __all__ = ("Factory", "Generator", "Faker")
diff --git a/faker/cli.py b/faker/cli.py
index 2973edee..75513fff 100644
--- a/faker/cli.py
+++ b/faker/cli.py
@@ -1,8 +1,10 @@
 import argparse
+import itertools
 import logging
 import os
 import random
 import sys
+import textwrap
 
 from io import TextIOWrapper
 from pathlib import Path
@@ -34,11 +36,18 @@ def print_provider(
     print(f"### {doc.get_provider_name(provider)}", file=output)
     print(file=output)
 
+    margin = max(30, doc.max_name_len + 2)
     for signature, example in formatters.items():
         if signature in excludes:
             continue
+        signature_lines = textwrap.wrap(signature, width=margin, subsequent_indent="  ")
         try:
-            lines = str(example).expandtabs().splitlines()
+            lines = textwrap.wrap(
+                str(example).expandtabs(),
+                width=150 - margin,
+                initial_indent="# ",
+                subsequent_indent="  ",
+            )
         except UnicodeDecodeError:
             # The example is actually made of bytes.
             # We could coerce to bytes, but that would fail anyway when we wiil
@@ -46,16 +55,8 @@ def print_provider(
             lines = ["<bytes>"]
         except UnicodeEncodeError:
             raise Exception(f"error on {signature!r} with value {example!r}")
-        margin = max(30, doc.max_name_len + 1)
-        remains = 150 - margin
-        separator = "#"
-        for line in lines:
-            for i in range(0, (len(line) // remains) + 1):
-                print(
-                    f"\t{signature:<{margin}}{separator} {line[i * remains:(i + 1) * remains]}",
-                    file=output,
-                )
-                signature = separator = " "
+        for left, right in itertools.zip_longest(signature_lines, lines, fillvalue=""):
+            print(f"\t{left:<{margin}}  {right}", file=output)
 
 
 def print_doc(
@@ -112,23 +113,6 @@ def print_doc(
         for provider, fakers in formatters:
             print_provider(doc, provider, fakers, output=output)
 
-        for language in AVAILABLE_LOCALES:
-            if language == lang:
-                continue
-            print(file=output)
-            print(f"## LANGUAGE {language}", file=output)
-            fake = Faker(locale=language)
-            fake.seed_instance(seed)
-            d = documentor.Documentor(fake)
-
-            for p, fs in d.get_formatters(
-                with_args=True,
-                with_defaults=True,
-                locale=language,
-                excludes=base_provider_formatters + unsupported,
-            ):
-                print_provider(d, p, fs, output=output)
-
 
 class Command:
     def __init__(self, argv: Optional[str] = None) -> None:
diff --git a/faker/documentor.py b/faker/documentor.py
index 78aff989..02d71476 100644
--- a/faker/documentor.py
+++ b/faker/documentor.py
@@ -119,7 +119,7 @@ class Documentor:
                 continue
             formatters[signature] = example
 
-            self.max_name_len = max(self.max_name_len, len(signature))
+            self.max_name_len = max(self.max_name_len, *(len(part) for part in signature.split()))
             self.already_generated.append(name)
 
         return formatters
diff --git a/faker/providers/address/en_NZ/__init__.py b/faker/providers/address/en_NZ/__init__.py
index be6ad009..77e59cdc 100644
--- a/faker/providers/address/en_NZ/__init__.py
+++ b/faker/providers/address/en_NZ/__init__.py
@@ -31,7 +31,8 @@ class Provider(AddressProvider):
         "port",
         "mouth",
         "stone",
-        "ings" "mouth",
+        "ings",
+        "mouth",
         "fort",
         "haven",
         "leigh",
diff --git a/faker/providers/address/pl_PL/__init__.py b/faker/providers/address/pl_PL/__init__.py
index e993e5d5..84ac931a 100644
--- a/faker/providers/address/pl_PL/__init__.py
+++ b/faker/providers/address/pl_PL/__init__.py
@@ -675,4 +675,22 @@ class Provider(AddressProvider):
         """
         return self.random_element(self.regions)
 
+    def postcode(self) -> str:
+        """
+        :example: '62-200'
+        """
+        return "%02d-%03d" % (self.generator.random.randint(1, 99), self.generator.random.randint(1, 999))
+
+    def zipcode(self) -> str:
+        """
+        :example: '62-200'
+        """
+        return self.postcode()
+
+    def postalcode(self) -> str:
+        """
+        :example: '62-200'
+        """
+        return self.postcode()
+
     region = administrative_unit
diff --git a/faker/providers/date_time/fr_CA/__init__.py b/faker/providers/date_time/fr_CA/__init__.py
new file mode 100644
index 00000000..3756d8a6
--- /dev/null
+++ b/faker/providers/date_time/fr_CA/__init__.py
@@ -0,0 +1,8 @@
+from typing import Any
+
+from ..fr_FR import Provider as FRFRProvider
+
+
+class Provider(FRFRProvider):
+    def __init__(self, *args: Any, **kwargs: Any) -> None:
+        super().__init__(*args, **kwargs)
diff --git a/faker/providers/date_time/sl_SI/__init__.py b/faker/providers/date_time/sl_SI/__init__.py
index e5c9af32..efc7b67f 100644
--- a/faker/providers/date_time/sl_SI/__init__.py
+++ b/faker/providers/date_time/sl_SI/__init__.py
@@ -2,33 +2,35 @@ from .. import Provider as DateTimeProvider
 
 
 class Provider(DateTimeProvider):
+    DAY_NAMES = {
+        "0": "Nedelja",
+        "1": "Ponedeljek",
+        "2": "Torek",
+        "3": "Sreda",
+        "4": "Četrtek",
+        "5": "Petek",
+        "6": "Sobota",
+    }
+
+    MONTH_NAMES = {
+        "01": "Januar",
+        "02": "Februar",
+        "03": "Marec",
+        "04": "April",
+        "05": "Maj",
+        "06": "Junij",
+        "07": "Julij",
+        "08": "Avgust",
+        "09": "September",
+        "10": "Oktober",
+        "11": "November",
+        "12": "December",
+    }
+
     def day_of_week(self) -> str:
         day = self.date("%w")
-        DAY_NAMES = {
-            "0": "Nedelja",
-            "1": "Ponedeljek",
-            "2": "Torek",
-            "3": "Sreda",
-            "4": "Četrtek",
-            "5": "Petek",
-            "6": "Sobota",
-        }
-        return DAY_NAMES[day]
+        return self.DAY_NAMES[day]
 
     def month_name(self) -> str:
         month = self.month()
-        MONTH_NAMES = {
-            "01": "Januar",
-            "02": "Februar",
-            "03": "Marec",
-            "04": "April",
-            "05": "Maj",
-            "06": "Junij",
-            "07": "Julij",
-            "08": "Avgust",
-            "09": "September",
-            "10": "Oktober",
-            "11": "November",
-            "12": "December",
-        }
-        return MONTH_NAMES[month]
+        return self.MONTH_NAMES[month]
diff --git a/faker/providers/misc/__init__.py b/faker/providers/misc/__init__.py
index 215047ba..b37953ab 100644
--- a/faker/providers/misc/__init__.py
+++ b/faker/providers/misc/__init__.py
@@ -9,7 +9,7 @@ import tarfile
 import uuid
 import zipfile
 
-from typing import Any, Callable, Dict, List, Optional, Sequence, Set, Tuple, Union
+from typing import Any, Callable, Dict, List, Optional, Sequence, Set, Tuple, Type, Union
 
 from faker.exceptions import UnsupportedFeature
 
@@ -488,7 +488,13 @@ class Provider(BaseProvider):
             delimiter="|",
         )
 
-    def json(self, data_columns: Optional[List] = None, num_rows: int = 10, indent: Optional[int] = None) -> str:
+    def json(
+        self,
+        data_columns: Optional[List] = None,
+        num_rows: int = 10,
+        indent: Optional[int] = None,
+        cls: Optional[Type[json.JSONEncoder]] = None,
+    ) -> str:
         """
         Generate random JSON structure values.
 
@@ -521,6 +527,8 @@ class Provider(BaseProvider):
         :type num_rows: int
         :param indent: number of spaces to indent the fields
         :type indent: int
+        :param cls: optional json encoder to use for non-standard objects such as datetimes
+        :type cls: json.JSONEncoder
         :return: Serialized JSON data
         :rtype: str
 
@@ -585,10 +593,10 @@ class Provider(BaseProvider):
             raise TypeError("Invalid data_columns type. Must be a dictionary or list")
 
         if num_rows == 1:
-            return json.dumps(create_json_structure(data_columns), indent=indent)
+            return json.dumps(create_json_structure(data_columns), indent=indent, cls=cls)
 
         data = [create_json_structure(data_columns) for _ in range(num_rows)]
-        return json.dumps(data, indent=indent)
+        return json.dumps(data, indent=indent, cls=cls)
 
     def fixed_width(self, data_columns: Optional[list] = None, num_rows: int = 10, align: str = "left") -> str:
         """
diff --git a/faker/providers/person/fr_BE/__init__.py b/faker/providers/person/fr_BE/__init__.py
new file mode 100644
index 00000000..19385cb6
--- /dev/null
+++ b/faker/providers/person/fr_BE/__init__.py
@@ -0,0 +1,1563 @@
+"""faker.providers.person.fr_BE - 8-9 Jan 2023.
+
+Last names and male and female first names for locale 'fr_BE' (French-speaking Belgium).
+Source: Statbel (Directorate-general Statistics - Statistics Belgium), https://statbel.fgov.be/en/about-statbel, 2022.
+"""
+from collections import Counter, OrderedDict
+
+from .. import Provider as PersonProvider
+
+
+class Provider(PersonProvider):
+    """Provider of `Person` data (male and female first and last names) for locale 'fr_BE' (Belgium French, Walloon)."""
+
+    # As per https://nl.wikipedia.org/wiki/Familienaam#Belgi%C3%AB, from 1 Jun 2014 a child can get
+    # the family name of either parent, or both parents' family names separated by a space.
+    # As per https://nl.wikipedia.org/wiki/Geboortenaam#Situatie_in_Belgi%C3%AB, marriage does NOT affect family names.
+    #
+    # Below reflects these with an assumed 10% doubled name (for both genders).
+    formats_male = OrderedDict(
+        (("{{first_name_male}} {{last_name}}", 90), ("{{first_name_male}} {{last_name}} {{last_name}}", 10))
+    )
+    formats_female = OrderedDict(
+        (("{{first_name_female}} {{last_name}}", 90), ("{{first_name_female}} {{last_name}} {{last_name}}", 10))
+    )
+    formats = OrderedDict(Counter(formats_male) + Counter(formats_female))
+
+    # 500 most common male first names in Wallonia in 2022 as per StatBel
+    # note this (simplistically) models 'fr_BE' as identical to Wallonia (and ignores Brussels)
+    #
+    # Data sourced from sheet 'Men' columns H-I ('Wallonia') rows 3..502 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.2%20Voornamen%20van%20vrouwen%20en%20mannen/First%20names_Population_2022.xlsx
+    # and then sorted by name
+    first_names_male = OrderedDict(
+        (
+            ("Aaron", 1922),
+            ("Abdelkader", 616),
+            ("Abdellah", 461),
+            ("Achille", 1414),
+            ("Adam", 2606),
+            ("Adem", 467),
+            ("Adil", 420),
+            ("Adrian", 605),
+            ("Adriano", 858),
+            ("Adrien", 6155),
+            ("Ahmed", 2136),
+            ("Ahmet", 590),
+            ("Alain", 19185),
+            ("Alan", 943),
+            ("Albert", 4465),
+            ("Aldo", 446),
+            ("Alessandro", 1919),
+            ("Alessio", 2295),
+            ("Alex", 1955),
+            ("Alexander", 682),
+            ("Alexandre", 10947),
+            ("Alexis", 4144),
+            ("Alfonso", 462),
+            ("Alfred", 1239),
+            ("Ali", 2331),
+            ("Allan", 676),
+            ("Alphonse", 769),
+            ("Amaury", 1760),
+            ("Amine", 731),
+            ("Amir", 708),
+            ("Anas", 580),
+            ("Andrea", 1254),
+            ("Andreas", 513),
+            ("Andrew", 702),
+            ("André", 14002),
+            ("Andy", 1646),
+            ("Angelo", 2519),
+            ("Anthony", 6441),
+            ("Antoine", 9416),
+            ("Antonin", 856),
+            ("Antonino", 1203),
+            ("Antonio", 4203),
+            ("Antony", 516),
+            ("Armand", 1205),
+            ("Arnaud", 7665),
+            ("Arno", 442),
+            ("Arthur", 6664),
+            ("Auguste", 581),
+            ("Augustin", 1679),
+            ("Aurélien", 2779),
+            ("Axel", 3429),
+            ("Aymeric", 803),
+            ("Ayoub", 727),
+            ("Baptiste", 3228),
+            ("Basile", 1467),
+            ("Bastien", 2791),
+            ("Baudouin", 798),
+            ("Benjamin", 7872),
+            ("Benoit", 4522),
+            ("Benoît", 5283),
+            ("Bernard", 10951),
+            ("Bertrand", 2061),
+            ("Bilal", 794),
+            ("Boris", 1012),
+            ("Brahim", 579),
+            ("Brandon", 1183),
+            ("Brian", 470),
+            ("Brice", 650),
+            ("Brieuc", 504),
+            ("Bruno", 6673),
+            ("Bryan", 2696),
+            ("Calogero", 1580),
+            ("Camille", 857),
+            ("Carl", 792),
+            ("Carlo", 672),
+            ("Carlos", 687),
+            ("Carmelo", 1179),
+            ("Cedric", 702),
+            ("Charles", 5063),
+            ("Charlie", 801),
+            ("Charly", 1027),
+            ("Christian", 16417),
+            ("Christophe", 15728),
+            ("Christopher", 2673),
+            ("Claude", 9224),
+            ("Claudio", 1005),
+            ("Claudy", 802),
+            ("Clément", 4170),
+            ("Colin", 795),
+            ("Constantin", 523),
+            ("Corentin", 3187),
+            ("Cyril", 2617),
+            ("Cyrille", 473),
+            ("Cédric", 8739),
+            ("Célestin", 499),
+            ("Côme", 475),
+            ("Damien", 5442),
+            ("Daniel", 15507),
+            ("Danny", 845),
+            ("Dany", 1893),
+            ("Dario", 805),
+            ("David", 15198),
+            ("Denis", 4726),
+            ("Didier", 10307),
+            ("Diego", 3121),
+            ("Dimitri", 3493),
+            ("Dirk", 531),
+            ("Domenico", 1149),
+            ("Dominique", 7222),
+            ("Donovan", 1092),
+            ("Dorian", 2208),
+            ("Dylan", 3990),
+            ("Eddy", 3176),
+            ("Eden", 1395),
+            ("Edgard", 528),
+            ("Edmond", 793),
+            ("Edouard", 2111),
+            ("El", 919),
+            ("Elias", 840),
+            ("Elie", 603),
+            ("Eliot", 621),
+            ("Eliott", 1280),
+            ("Elliot", 453),
+            ("Emile", 3218),
+            ("Emilien", 1348),
+            ("Emilio", 433),
+            ("Emmanuel", 4817),
+            ("Enzo", 2545),
+            ("Eric", 14938),
+            ("Erik", 445),
+            ("Ernest", 606),
+            ("Erwan", 492),
+            ("Erwin", 563),
+            ("Esteban", 1476),
+            ("Ethan", 3769),
+            ("Etienne", 3779),
+            ("Eugène", 620),
+            ("Evan", 912),
+            ("Ezio", 538),
+            ("Fabian", 3892),
+            ("Fabien", 1986),
+            ("Fabio", 1078),
+            ("Fabrice", 6668),
+            ("Fabrizio", 818),
+            ("Farid", 424),
+            ("Fernand", 2023),
+            ("Fernando", 444),
+            ("Filippo", 762),
+            ("Flavio", 900),
+            ("Florent", 2512),
+            ("Florian", 4813),
+            ("Francesco", 2848),
+            ("Francis", 7850),
+            ("Francisco", 638),
+            ("Franck", 1287),
+            ("Franco", 1059),
+            ("Frank", 1371),
+            ("Franz", 925),
+            ("François", 10479),
+            ("François-Xavier", 450),
+            ("Freddy", 3366),
+            ("Frédéric", 14920),
+            ("Félix", 1221),
+            ("Gabin", 527),
+            ("Gabriel", 5711),
+            ("Gaetano", 986),
+            ("Gary", 559),
+            ("Gaspard", 1260),
+            ("Gaston", 1055),
+            ("Gauthier", 2049),
+            ("Gaël", 964),
+            ("Gaëtan", 2955),
+            ("Geoffrey", 4406),
+            ("Geoffroy", 678),
+            ("Georges", 6122),
+            ("Germain", 598),
+            ("Ghislain", 1183),
+            ("Giacomo", 512),
+            ("Gianni", 927),
+            ("Gilbert", 2359),
+            ("Gilles", 3374),
+            ("Gino", 562),
+            ("Giovanni", 3174),
+            ("Giuliano", 656),
+            ("Giuseppe", 5859),
+            ("Gregory", 1739),
+            ("Grégoire", 1059),
+            ("Grégory", 6539),
+            ("Guido", 745),
+            ("Guillaume", 7306),
+            ("Gustave", 541),
+            ("Guy", 9812),
+            ("Gérald", 801),
+            ("Gérard", 4072),
+            ("Hadrien", 495),
+            ("Hamza", 937),
+            ("Harry", 444),
+            ("Hasan", 579),
+            ("Hassan", 853),
+            ("Hector", 425),
+            ("Henri", 5349),
+            ("Henry", 576),
+            ("Hervé", 1785),
+            ("Hicham", 590),
+            ("Hubert", 1971),
+            ("Hugo", 7597),
+            ("Hugues", 1463),
+            ("Ibrahim", 1262),
+            ("Igor", 553),
+            ("Ilias", 458),
+            ("Ilyas", 596),
+            ("Isaac", 620),
+            ("Ismail", 567),
+            ("Ismaël", 557),
+            ("Ivan", 822),
+            ("Jacky", 693),
+            ("Jacques", 13781),
+            ("Jamal", 419),
+            ("James", 801),
+            ("Jan", 868),
+            ("Jason", 2454),
+            ("Jean", 34246),
+            ("Jean-Baptiste", 587),
+            ("Jean-Charles", 460),
+            ("Jean-Christophe", 1144),
+            ("Jean-Claude", 4959),
+            ("Jean-François", 5180),
+            ("Jean-Jacques", 1282),
+            ("Jean-Louis", 2300),
+            ("Jean-Luc", 4387),
+            ("Jean-Marc", 3793),
+            ("Jean-Marie", 5615),
+            ("Jean-Michel", 2395),
+            ("Jean-Paul", 2455),
+            ("Jean-Philippe", 1880),
+            ("Jean-Pierre", 6407),
+            ("Jean-Pol", 1068),
+            ("Jean-Yves", 1025),
+            ("Jeremy", 1283),
+            ("Jerôme", 588),
+            ("Jessy", 503),
+            ("Jimmy", 1661),
+            ("Joachim", 1336),
+            ("Joffrey", 525),
+            ("Johan", 2594),
+            ("Johann", 634),
+            ("John", 1860),
+            ("Johnny", 1580),
+            ("Jonas", 945),
+            ("Jonathan", 9513),
+            ("Jordan", 3695),
+            ("Joris", 505),
+            ("Joseph", 6964),
+            ("Joshua", 832),
+            ("José", 5468),
+            ("Joël", 3696),
+            ("Juan", 999),
+            ("Jules", 4826),
+            ("Julian", 1320),
+            ("Julien", 13669),
+            ("Justin", 1953),
+            ("Jérémie", 988),
+            ("Jérémy", 4478),
+            ("Jérôme", 6403),
+            ("Karim", 1216),
+            ("Karl", 1013),
+            ("Kenny", 599),
+            ("Kenzo", 502),
+            ("Kevin", 7018),
+            ("Khalid", 678),
+            ("Killian", 569),
+            ("Kylian", 1312),
+            ("Kyllian", 460),
+            ("Kévin", 2224),
+            ("Laurent", 12306),
+            ("Leandro", 675),
+            ("Lenny", 932),
+            ("Leo", 470),
+            ("Leonardo", 519),
+            ("Liam", 2521),
+            ("Lionel", 3249),
+            ("Livio", 842),
+            ("Loan", 660),
+            ("Logan", 2745),
+            ("Lorenzo", 2291),
+            ("Loris", 1519),
+            ("Louis", 10770),
+            ("Louka", 693),
+            ("Loïc", 5339),
+            ("Loïs", 503),
+            ("Luc", 7990),
+            ("Luca", 3543),
+            ("Lucas", 7721),
+            ("Luciano", 742),
+            ("Lucien", 2714),
+            ("Ludovic", 5288),
+            ("Luigi", 1664),
+            ("Luis", 831),
+            ("Luka", 749),
+            ("Lukas", 794),
+            ("Lyam", 644),
+            ("Léo", 2403),
+            ("Léon", 3478),
+            ("Léonard", 417),
+            ("Léopold", 1224),
+            ("Malik", 429),
+            ("Mamadou", 534),
+            ("Manuel", 2223),
+            ("Marc", 15879),
+            ("Marcel", 6458),
+            ("Marco", 1636),
+            ("Mario", 2384),
+            ("Marius", 1551),
+            ("Martial", 500),
+            ("Martin", 5618),
+            ("Marvin", 931),
+            ("Massimo", 1121),
+            ("Mathias", 2595),
+            ("Mathieu", 5517),
+            ("Mathis", 2650),
+            ("Mathys", 2054),
+            ("Mathéo", 3009),
+            ("Matteo", 2172),
+            ("Matthew", 564),
+            ("Matthias", 805),
+            ("Matthieu", 1560),
+            ("Mattia", 451),
+            ("Mattéo", 1416),
+            ("Matéo", 580),
+            ("Maurice", 3021),
+            ("Maurizio", 472),
+            ("Max", 769),
+            ("Maxence", 2814),
+            ("Maxim", 846),
+            ("Maxime", 12119),
+            ("Maximilien", 1125),
+            ("Maël", 1768),
+            ("Mehdi", 1848),
+            ("Mehmet", 980),
+            ("Michael", 2227),
+            ("Michaël", 11573),
+            ("Michel", 27759),
+            ("Michele", 1275),
+            ("Mickaël", 1383),
+            ("Miguel", 1427),
+            ("Mike", 1379),
+            ("Milan", 524),
+            ("Milo", 887),
+            ("Mirko", 427),
+            ("Mohamed", 6607),
+            ("Mohammad", 535),
+            ("Mohammed", 2726),
+            ("Morgan", 744),
+            ("Mustafa", 1012),
+            ("Mustapha", 714),
+            ("Nabil", 493),
+            ("Nassim", 559),
+            ("Nathan", 7980),
+            ("Nathanaël", 747),
+            ("Naël", 763),
+            ("Naïm", 428),
+            ("Nicola", 1044),
+            ("Nicolas", 19140),
+            ("Noa", 2223),
+            ("Noah", 6029),
+            ("Noam", 932),
+            ("Nolan", 1956),
+            ("Norbert", 611),
+            ("Noé", 1992),
+            ("Noël", 1119),
+            ("Olivier", 16168),
+            ("Omar", 895),
+            ("Oscar", 1897),
+            ("Owen", 827),
+            ("Pablo", 642),
+            ("Paolo", 1064),
+            ("Pascal", 12529),
+            ("Pasquale", 583),
+            ("Patrice", 3068),
+            ("Patrick", 13876),
+            ("Paul", 6243),
+            ("Pedro", 483),
+            ("Peter", 1095),
+            ("Philippe", 26431),
+            ("Pierre", 19716),
+            ("Pierre-Yves", 691),
+            ("Pietro", 1273),
+            ("Pol", 1604),
+            ("Quentin", 7318),
+            ("Rachid", 1081),
+            ("Rafael", 755),
+            ("Rafaël", 457),
+            ("Raoul", 641),
+            ("Raphael", 512),
+            ("Raphaël", 7174),
+            ("Rayan", 1389),
+            ("Raymond", 3293),
+            ("Remy", 624),
+            ("Renato", 413),
+            ("Renaud", 2589),
+            ("René", 6163),
+            ("Ricardo", 455),
+            ("Richard", 2617),
+            ("Robert", 7389),
+            ("Roberto", 1129),
+            ("Robin", 3999),
+            ("Rodolphe", 435),
+            ("Rodrigue", 427),
+            ("Roger", 6103),
+            ("Roland", 3544),
+            ("Romain", 7493),
+            ("Roman", 542),
+            ("Romuald", 684),
+            ("Roméo", 588),
+            ("Ronald", 718),
+            ("Ronny", 416),
+            ("Rosario", 746),
+            ("Ruben", 524),
+            ("Rudi", 1063),
+            ("Rudy", 2707),
+            ("Ryan", 1187),
+            ("Régis", 1032),
+            ("Rémi", 1014),
+            ("Rémy", 1477),
+            ("Sacha", 3962),
+            ("Said", 587),
+            ("Salvatore", 4515),
+            ("Sam", 1096),
+            ("Sami", 743),
+            ("Samir", 724),
+            ("Samuel", 5213),
+            ("Samuël", 637),
+            ("Samy", 591),
+            ("Sandro", 786),
+            ("Sasha", 882),
+            ("Saïd", 535),
+            ("Sean", 494),
+            ("Sebastien", 1131),
+            ("Serge", 7494),
+            ("Sergio", 803),
+            ("Simon", 6624),
+            ("Sofiane", 609),
+            ("Stefan", 654),
+            ("Stefano", 688),
+            ("Stephan", 745),
+            ("Stephane", 468),
+            ("Steve", 3336),
+            ("Steven", 1583),
+            ("Stéphan", 823),
+            ("Stéphane", 9458),
+            ("Sylvain", 2342),
+            ("Sébastien", 12494),
+            ("Tanguy", 1129),
+            ("Thiago", 537),
+            ("Thibaud", 524),
+            ("Thibault", 2665),
+            ("Thibaut", 2628),
+            ("Thierry", 11453),
+            ("Thomas", 13916),
+            ("Théo", 6139),
+            ("Théodore", 416),
+            ("Tiago", 1423),
+            ("Tim", 1028),
+            ("Timothy", 612),
+            ("Timothée", 648),
+            ("Timéo", 1989),
+            ("Tiziano", 508),
+            ("Tom", 5839),
+            ("Tommy", 444),
+            ("Tony", 1200),
+            ("Tristan", 1909),
+            ("Téo", 760),
+            ("Ugo", 1133),
+            ("Valentin", 4223),
+            ("Valentino", 631),
+            ("Victor", 4988),
+            ("Vincent", 12875),
+            ("Vincenzo", 2410),
+            ("Vito", 450),
+            ("Walid", 546),
+            ("Walter", 957),
+            ("William", 4072),
+            ("Willy", 3376),
+            ("Xavier", 6475),
+            ("Yanis", 2199),
+            ("Yann", 717),
+            ("Yannick", 2075),
+            ("Yannis", 488),
+            ("Yassin", 487),
+            ("Yassine", 1035),
+            ("Yoann", 450),
+            ("Yohan", 735),
+            ("Younes", 792),
+            ("Youri", 515),
+            ("Youssef", 1375),
+            ("Yusuf", 487),
+            ("Yvan", 1552),
+            ("Yves", 7626),
+            ("Yvon", 1293),
+            ("Zakaria", 915),
+        )
+    )
+
+    # 500 most common female first names in Wallonia in 2022 as per StatBel (with the same simplification as above)
+    #
+    # Data sourced from sheet 'Women' columns H-I ('Wallonia') rows 3..502 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.2%20Voornamen%20van%20vrouwen%20en%20mannen/First%20names_Population_2022.xlsx
+    # and then sorted by name
+    first_names_female = OrderedDict(
+        (
+            ("Adeline", 1996),
+            ("Adriana", 664),
+            ("Adèle", 1294),
+            ("Agathe", 625),
+            ("Agnès", 2980),
+            ("Alberte", 806),
+            ("Alessia", 1206),
+            ("Alexandra", 3873),
+            ("Alexia", 1851),
+            ("Alice", 6134),
+            ("Alicia", 3281),
+            ("Aline", 3827),
+            ("Alison", 1567),
+            ("Alisson", 799),
+            ("Alix", 1766),
+            ("Alizée", 764),
+            ("Alyssa", 871),
+            ("Amandine", 4726),
+            ("Ambre", 1509),
+            ("Amina", 1036),
+            ("Amélia", 804),
+            ("Amélie", 4034),
+            ("Ana", 1303),
+            ("Anastasia", 563),
+            ("Anaëlle", 985),
+            ("Anaïs", 5221),
+            ("Andrea", 599),
+            ("Andréa", 533),
+            ("Andrée", 4461),
+            ("Angela", 2190),
+            ("Angelina", 921),
+            ("Angèle", 749),
+            ("Angélique", 4440),
+            ("Anissa", 903),
+            ("Anita", 1960),
+            ("Ann", 612),
+            ("Anna", 6389),
+            ("Annabelle", 521),
+            ("Anne", 18637),
+            ("Anne-Catherine", 804),
+            ("Anne-Françoise", 760),
+            ("Anne-Marie", 5244),
+            ("Anne-Sophie", 2074),
+            ("Annette", 1688),
+            ("Annick", 4519),
+            ("Annie", 6979),
+            ("Anny", 770),
+            ("Antoinette", 635),
+            ("Antonella", 551),
+            ("Antonia", 852),
+            ("Antonietta", 736),
+            ("Antonina", 579),
+            ("Apolline", 677),
+            ("Ariane", 1591),
+            ("Arlette", 4082),
+            ("Assia", 702),
+            ("Astrid", 1434),
+            ("Aude", 1332),
+            ("Audrey", 5495),
+            ("Aurore", 4784),
+            ("Aurélie", 8447),
+            ("Axelle", 1363),
+            ("Aya", 894),
+            ("Aïcha", 777),
+            ("Barbara", 2302),
+            ("Bernadette", 7995),
+            ("Berthe", 761),
+            ("Betty", 716),
+            ("Brigitte", 8729),
+            ("Béatrice", 5819),
+            ("Bénédicte", 2971),
+            ("Bérengère", 538),
+            ("Bérénice", 537),
+            ("Camille", 7894),
+            ("Capucine", 781),
+            ("Carine", 8290),
+            ("Carla", 975),
+            ("Carmela", 1442),
+            ("Carmen", 1171),
+            ("Carole", 2773),
+            ("Caroline", 9799),
+            ("Cassandra", 1510),
+            ("Caterina", 571),
+            ("Catherine", 12270),
+            ("Cathy", 2670),
+            ("Chantal", 12383),
+            ("Charlie", 560),
+            ("Charline", 2336),
+            ("Charlotte", 7281),
+            ("Chiara", 1372),
+            ("Chloé", 6538),
+            ("Christel", 2878),
+            ("Christelle", 7450),
+            ("Christiane", 10377),
+            ("Christianne", 587),
+            ("Christina", 944),
+            ("Christine", 14924),
+            ("Cindy", 5453),
+            ("Claire", 5014),
+            ("Clara", 5701),
+            ("Clarisse", 950),
+            ("Claude", 845),
+            ("Claudette", 1016),
+            ("Claudia", 1540),
+            ("Claudine", 8230),
+            ("Cloé", 756),
+            ("Clémence", 2553),
+            ("Clémentine", 1438),
+            ("Colette", 4420),
+            ("Coline", 1171),
+            ("Concetta", 958),
+            ("Constance", 710),
+            ("Coralie", 2770),
+            ("Coraline", 704),
+            ("Corine", 877),
+            ("Corinne", 3399),
+            ("Cristina", 654),
+            ("Cynthia", 1434),
+            ("Cécile", 6406),
+            ("Célestine", 683),
+            ("Célia", 3355),
+            ("Céline", 9865),
+            ("Daisy", 762),
+            ("Daniela", 792),
+            ("Danielle", 6363),
+            ("Danièle", 1362),
+            ("Daphné", 836),
+            ("Deborah", 1443),
+            ("Delphine", 5035),
+            ("Denise", 3330),
+            ("Diana", 1049),
+            ("Diane", 799),
+            ("Dina", 591),
+            ("Dominique", 9714),
+            ("Dorothée", 1009),
+            ("Déborah", 1059),
+            ("Edith", 1742),
+            ("Elena", 2748),
+            ("Eliane", 2556),
+            ("Elina", 602),
+            ("Eline", 1319),
+            ("Elisa", 3679),
+            ("Elisabeth", 4183),
+            ("Elise", 5004),
+            ("Elodie", 5667),
+            ("Eloïse", 2015),
+            ("Elsa", 1769),
+            ("Eléa", 856),
+            ("Eléna", 777),
+            ("Eléonore", 1571),
+            ("Emeline", 2078),
+            ("Emelyne", 537),
+            ("Emilia", 808),
+            ("Emilie", 8324),
+            ("Emma", 6227),
+            ("Emmanuelle", 2171),
+            ("Emy", 1101),
+            ("Erika", 1027),
+            ("Estelle", 2654),
+            ("Esther", 997),
+            ("Eugénie", 517),
+            ("Eva", 4415),
+            ("Eve", 690),
+            ("Eveline", 1080),
+            ("Evelyne", 2949),
+            ("Fabienne", 9206),
+            ("Fanny", 3891),
+            ("Fatiha", 725),
+            ("Fatima", 3382),
+            ("Fatma", 969),
+            ("Fernande", 1077),
+            ("Fiona", 1216),
+            ("Flavie", 722),
+            ("Flora", 637),
+            ("Flore", 721),
+            ("Florence", 5651),
+            ("Floriane", 577),
+            ("Florine", 1127),
+            ("Franca", 517),
+            ("France", 1363),
+            ("Francesca", 1413),
+            ("Francine", 6224),
+            ("Françoise", 15074),
+            ("Frédérique", 1548),
+            ("Gabrielle", 2245),
+            ("Gaëlle", 2586),
+            ("Geneviève", 5125),
+            ("Georgette", 2987),
+            ("Germaine", 1269),
+            ("Ghislaine", 2128),
+            ("Gilberte", 1685),
+            ("Ginette", 2049),
+            ("Giovanna", 1389),
+            ("Gisèle", 2577),
+            ("Giulia", 2225),
+            ("Giuseppa", 1139),
+            ("Giuseppina", 1526),
+            ("Gladys", 517),
+            ("Gloria", 669),
+            ("Grazia", 537),
+            ("Graziella", 844),
+            ("Gwenaëlle", 809),
+            ("Gwendoline", 1155),
+            ("Géraldine", 2160),
+            ("Helena", 621),
+            ("Henriette", 952),
+            ("Huguette", 1721),
+            ("Héloïse", 1042),
+            ("Hélène", 5090),
+            ("Ilona", 840),
+            ("Imane", 722),
+            ("Inaya", 848),
+            ("Ines", 1063),
+            ("Ingrid", 3140),
+            ("Inès", 2893),
+            ("Irina", 641),
+            ("Iris", 918),
+            ("Irène", 2103),
+            ("Isabelle", 18724),
+            ("Isaline", 623),
+            ("Jacqueline", 12361),
+            ("Jade", 3076),
+            ("Jamila", 536),
+            ("Janine", 898),
+            ("Jeanine", 2047),
+            ("Jeanne", 5843),
+            ("Jeannine", 7623),
+            ("Jennifer", 4762),
+            ("Jenny", 1488),
+            ("Jessica", 6083),
+            ("Joanna", 556),
+            ("Jocelyne", 3275),
+            ("Johanna", 1072),
+            ("Josette", 3632),
+            ("Josiane", 5824),
+            ("Josianne", 635),
+            ("Josée", 1676),
+            ("Joséphine", 1827),
+            ("Joëlle", 5374),
+            ("Judith", 934),
+            ("Julia", 3002),
+            ("Julie", 11779),
+            ("Juliette", 4813),
+            ("Justine", 4599),
+            ("Karima", 628),
+            ("Karin", 1183),
+            ("Karine", 2031),
+            ("Kathleen", 815),
+            ("Kathy", 920),
+            ("Katia", 1209),
+            ("Katty", 1595),
+            ("Kelly", 1879),
+            ("Kenza", 877),
+            ("Khadija", 1269),
+            ("Kimberley", 1197),
+            ("Laetitia", 5479),
+            ("Laly", 838),
+            ("Laora", 560),
+            ("Lara", 2110),
+            ("Laura", 10919),
+            ("Laure", 2241),
+            ("Laurence", 10175),
+            ("Laurie", 1961),
+            ("Laurine", 892),
+            ("Laëtitia", 526),
+            ("Lea", 568),
+            ("Leila", 771),
+            ("Lena", 1193),
+            ("Leslie", 1005),
+            ("Leïla", 654),
+            ("Lila", 648),
+            ("Liliane", 6088),
+            ("Lilou", 1593),
+            ("Lily", 1275),
+            ("Lina", 2597),
+            ("Linda", 2499),
+            ("Lindsay", 1778),
+            ("Line", 777),
+            ("Lisa", 3602),
+            ("Lise", 1723),
+            ("Lisette", 560),
+            ("Livia", 814),
+            ("Lola", 3350),
+            ("Loredana", 990),
+            ("Lorena", 752),
+            ("Lou", 1446),
+            ("Louane", 604),
+            ("Louisa", 914),
+            ("Louise", 7194),
+            ("Louna", 1000),
+            ("Lucette", 833),
+            ("Lucia", 1484),
+            ("Lucie", 7397),
+            ("Lucienne", 1948),
+            ("Lucile", 686),
+            ("Lucy", 890),
+            ("Ludivine", 1817),
+            ("Luna", 1713),
+            ("Lydia", 1374),
+            ("Lydie", 1040),
+            ("Léa", 8281),
+            ("Léana", 657),
+            ("Léna", 1948),
+            ("Léonie", 1049),
+            ("Madeleine", 3116),
+            ("Madison", 899),
+            ("Maeva", 668),
+            ("Magali", 3148),
+            ("Malika", 1266),
+            ("Mandy", 647),
+            ("Manon", 8633),
+            ("Manuela", 825),
+            ("Marcelle", 2535),
+            ("Margaux", 3346),
+            ("Margot", 1392),
+            ("Marguerite", 2981),
+            ("Maria", 17999),
+            ("Mariam", 550),
+            ("Marianne", 4787),
+            ("Marie", 41370),
+            ("Marie-Ange", 1183),
+            ("Marie-Anne", 1153),
+            ("Marie-Christine", 3831),
+            ("Marie-Claire", 2731),
+            ("Marie-Claude", 782),
+            ("Marie-France", 2406),
+            ("Marie-Françoise", 795),
+            ("Marie-Hélène", 950),
+            ("Marie-Jeanne", 1786),
+            ("Marie-José", 1114),
+            ("Marie-Laure", 724),
+            ("Marie-Line", 786),
+            ("Marie-Louise", 1895),
+            ("Marie-Madeleine", 546),
+            ("Marie-Noëlle", 724),
+            ("Marie-Paule", 1888),
+            ("Marie-Pierre", 753),
+            ("Marie-Rose", 1553),
+            ("Marie-Thérèse", 2860),
+            ("Marielle", 608),
+            ("Mariette", 1580),
+            ("Marina", 2257),
+            ("Marine", 4568),
+            ("Marion", 2755),
+            ("Marjorie", 2057),
+            ("Marlène", 672),
+            ("Marthe", 1048),
+            ("Martine", 14396),
+            ("Mary", 642),
+            ("Maryline", 2068),
+            ("Marylène", 913),
+            ("Maryse", 2299),
+            ("Mathilde", 2814),
+            ("Maud", 1898),
+            ("Maude", 739),
+            ("Maureen", 1135),
+            ("Mauricette", 633),
+            ("Maurine", 577),
+            ("Maya", 734),
+            ("Maëlle", 1768),
+            ("Maëlys", 890),
+            ("Maëva", 905),
+            ("Maïté", 1545),
+            ("Melissa", 1922),
+            ("Mia", 1911),
+            ("Micheline", 4151),
+            ("Michelle", 3334),
+            ("Michèle", 5819),
+            ("Mila", 1700),
+            ("Mireille", 5018),
+            ("Monika", 595),
+            ("Monique", 14460),
+            ("Morgane", 3021),
+            ("Muriel", 4542),
+            ("Murielle", 2550),
+            ("Mya", 699),
+            ("Myriam", 6727),
+            ("Mégane", 1148),
+            ("Mélanie", 5610),
+            ("Mélina", 760),
+            ("Mélissa", 3038),
+            ("Mélodie", 563),
+            ("Nadia", 3929),
+            ("Nadine", 8525),
+            ("Nadège", 1314),
+            ("Nancy", 4071),
+            ("Naomi", 828),
+            ("Natacha", 2113),
+            ("Nathalie", 20537),
+            ("Nell", 727),
+            ("Nelly", 2947),
+            ("Nicole", 12422),
+            ("Nina", 2274),
+            ("Nora", 2030),
+            ("Norah", 634),
+            ("Nour", 595),
+            ("Noémie", 3730),
+            ("Noëlla", 681),
+            ("Noëlle", 544),
+            ("Océane", 3687),
+            ("Odette", 2075),
+            ("Odile", 958),
+            ("Olga", 894),
+            ("Olivia", 4201),
+            ("Ophélie", 1764),
+            ("Ornella", 956),
+            ("Paola", 784),
+            ("Pascale", 6004),
+            ("Pascaline", 574),
+            ("Patricia", 11883),
+            ("Patrizia", 575),
+            ("Paula", 1199),
+            ("Paule", 637),
+            ("Paulette", 2759),
+            ("Pauline", 6347),
+            ("Perrine", 1090),
+            ("Priscilla", 754),
+            ("Rachel", 2193),
+            ("Rachida", 553),
+            ("Rania", 582),
+            ("Raymonde", 1870),
+            ("Rebecca", 872),
+            ("Renée", 3228),
+            ("Rita", 3593),
+            ("Rolande", 639),
+            ("Romane", 2596),
+            ("Romy", 533),
+            ("Rosa", 2546),
+            ("Rosalia", 656),
+            ("Rosalie", 812),
+            ("Rosaria", 618),
+            ("Rose", 3145),
+            ("Rose-Marie", 1135),
+            ("Roseline", 530),
+            ("Roxane", 1280),
+            ("Régine", 1824),
+            ("Sabine", 6458),
+            ("Sabrina", 5356),
+            ("Salma", 576),
+            ("Salomé", 826),
+            ("Samantha", 847),
+            ("Samira", 967),
+            ("Sandra", 4896),
+            ("Sandrine", 5810),
+            ("Sandy", 963),
+            ("Sara", 2684),
+            ("Sarah", 10424),
+            ("Serena", 547),
+            ("Shana", 521),
+            ("Shirley", 521),
+            ("Silvana", 685),
+            ("Silvia", 688),
+            ("Simone", 2189),
+            ("Simonne", 845),
+            ("Sofia", 2471),
+            ("Solange", 1585),
+            ("Soline", 588),
+            ("Solène", 663),
+            ("Sonia", 3555),
+            ("Sophia", 808),
+            ("Sophie", 12241),
+            ("Soraya", 629),
+            ("Stephanie", 630),
+            ("Stéphanie", 11825),
+            ("Suzanne", 3805),
+            ("Sylvia", 1405),
+            ("Sylviane", 1678),
+            ("Sylvianne", 553),
+            ("Sylvie", 8635),
+            ("Séverine", 3219),
+            ("Tamara", 956),
+            ("Tania", 842),
+            ("Tatiana", 1193),
+            ("Teresa", 884),
+            ("Thi", 755),
+            ("Théa", 832),
+            ("Thérèse", 2834),
+            ("Tiffany", 1391),
+            ("Tiziana", 628),
+            ("Valentina", 887),
+            ("Valentine", 2976),
+            ("Valérie", 12193),
+            ("Vanessa", 5847),
+            ("Victoire", 541),
+            ("Victoria", 3961),
+            ("Vincenza", 762),
+            ("Vinciane", 2062),
+            ("Violette", 882),
+            ("Virginie", 8533),
+            ("Viviane", 4710),
+            ("Véronique", 14214),
+            ("Wendy", 1885),
+            ("Yasmina", 916),
+            ("Yasmine", 1405),
+            ("Yolande", 1370),
+            ("Ysaline", 738),
+            ("Yvette", 4769),
+            ("Yvonne", 2432),
+            ("Zoé", 4697),
+            ("Zélie", 969),
+        )
+    )
+
+    # combination of *almost* 1000 common first names (not necesarilly *the most* common)
+    # with totalled frequencies (for duplicate 'unisex'/gender-neutral first names, which cause < 1000 total names)
+    first_names = OrderedDict(Counter(first_names_male) + Counter(first_names_female))
+
+    # 500 most common last names in Wallonia in 2022 as per StatBel (with the same simplification as above)
+    #
+    # Data sourced from sheet 'top10000_2022' columns H-I ('Walloon Region') rows 2..501 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.1%20Familienamen/Family_names_2022.xlsx
+    # and then sorted by name
+    last_names = OrderedDict(
+        (
+            ("Abrassart", 723),
+            ("Adam", 3488),
+            ("Aerts", 784),
+            ("Albert", 1241),
+            ("Alexandre", 1249),
+            ("Allard", 1609),
+            ("Anciaux", 1011),
+            ("André", 3474),
+            ("Antoine", 2984),
+            ("Arnould", 1822),
+            ("Bah", 816),
+            ("Bailly", 1125),
+            ("Barbier", 1361),
+            ("Barbieux", 592),
+            ("Barry", 817),
+            ("Bastien", 659),
+            ("Bastin", 3310),
+            ("Baudoux", 910),
+            ("Bauduin", 1097),
+            ("Bauwens", 1013),
+            ("Beaujean", 758),
+            ("Becker", 1250),
+            ("Beckers", 1410),
+            ("Beguin", 633),
+            ("Benoit", 795),
+            ("Berger", 1561),
+            ("Bernard", 3890),
+            ("Bertrand", 4339),
+            ("Blaise", 984),
+            ("Blondiau", 722),
+            ("Bodart", 2436),
+            ("Bodson", 1835),
+            ("Bogaert", 722),
+            ("Boland", 621),
+            ("Bonnet", 633),
+            ("Bouchat", 1112),
+            ("Boucher", 604),
+            ("Bouchez", 811),
+            ("Boudart", 777),
+            ("Bouillon", 987),
+            ("Boulanger", 2227),
+            ("Bourgeois", 1534),
+            ("Bourguignon", 1553),
+            ("Bovy", 1147),
+            ("Brasseur", 1970),
+            ("Brichard", 656),
+            ("Bruno", 769),
+            ("Bruyère", 808),
+            ("Bultot", 700),
+            ("Burton", 1097),
+            ("Bury", 837),
+            ("Callens", 736),
+            ("Cambier", 1614),
+            ("Capelle", 618),
+            ("Cardon", 645),
+            ("Carlier", 3185),
+            ("Carpentier", 1254),
+            ("Carton", 595),
+            ("Cassart", 612),
+            ("Caudron", 825),
+            ("Chapelle", 971),
+            ("Charles", 1572),
+            ("Charlier", 4656),
+            ("Chevalier", 1558),
+            ("Christiaens", 867),
+            ("Claes", 1854),
+            ("Claessens", 740),
+            ("Claeys", 718),
+            ("Claude", 642),
+            ("Claus", 878),
+            ("Close", 765),
+            ("Closset", 904),
+            ("Clément", 1426),
+            ("Colin", 1672),
+            ("Colinet", 767),
+            ("Collard", 3974),
+            ("Collart", 918),
+            ("Collet", 1564),
+            ("Collette", 1270),
+            ("Collignon", 2295),
+            ("Collin", 2840),
+            ("Colot", 636),
+            ("Colson", 1244),
+            ("Compère", 608),
+            ("Constant", 1027),
+            ("Coppens", 1062),
+            ("Cordier", 1393),
+            ("Corman", 678),
+            ("Cornet", 2727),
+            ("Cornez", 847),
+            ("Cornil", 666),
+            ("Coulon", 992),
+            ("Courtois", 1026),
+            ("Couvreur", 684),
+            ("Crahay", 596),
+            ("Cremer", 656),
+            ("Culot", 1023),
+            ("Cuvelier", 1930),
+            ("Dardenne", 1552),
+            ("David", 1588),
+            ("De Backer", 822),
+            ("De Clercq", 794),
+            ("De Coster", 683),
+            ("De Smet", 983),
+            ("De Vos", 828),
+            ("Debroux", 1018),
+            ("Decamps", 662),
+            ("Dechamps", 1124),
+            ("Declercq", 1252),
+            ("Degueldre", 612),
+            ("Dehon", 951),
+            ("Dejardin", 797),
+            ("Delannoy", 679),
+            ("Delattre", 962),
+            ("Delcourt", 1753),
+            ("Delcroix", 1032),
+            ("Delforge", 1459),
+            ("Delfosse", 2058),
+            ("Delhaye", 2192),
+            ("Delhez", 1112),
+            ("Delmotte", 1462),
+            ("Delporte", 1004),
+            ("Deltour", 635),
+            ("Delvaux", 3124),
+            ("Delvigne", 768),
+            ("Demanet", 601),
+            ("Demaret", 1321),
+            ("Demir", 615),
+            ("Demoulin", 1811),
+            ("Denis", 5205),
+            ("Deprez", 2034),
+            ("Descamps", 2249),
+            ("Desmet", 1576),
+            ("Dessart", 861),
+            ("Dessy", 754),
+            ("Detaille", 649),
+            ("Dethier", 2057),
+            ("Detournay", 598),
+            ("Detry", 842),
+            ("Devaux", 698),
+            ("Deville", 645),
+            ("Devillers", 1019),
+            ("Devos", 2042),
+            ("Dewez", 804),
+            ("Diallo", 1936),
+            ("Dieu", 1081),
+            ("Dieudonné", 629),
+            ("Docquier", 960),
+            ("Donnay", 775),
+            ("Dony", 606),
+            ("Doumont", 664),
+            ("Doyen", 1117),
+            ("Druart", 1534),
+            ("Dubois", 9160),
+            ("Dubuisson", 1159),
+            ("Duchesne", 1099),
+            ("Duchêne", 681),
+            ("Duez", 609),
+            ("Dufour", 1734),
+            ("Dufrane", 664),
+            ("Dufrasne", 832),
+            ("Dujardin", 1679),
+            ("Dumont", 5757),
+            ("Dumortier", 818),
+            ("Dumoulin", 1217),
+            ("Dupont", 6185),
+            ("Dupuis", 1573),
+            ("Duquesne", 865),
+            ("Durant", 795),
+            ("Durieux", 1622),
+            ("Dury", 622),
+            ("Dussart", 768),
+            ("Dutrieux", 635),
+            ("Duval", 596),
+            ("Duvivier", 1191),
+            ("Eloy", 806),
+            ("Englebert", 1130),
+            ("Ernst", 701),
+            ("Etienne", 2150),
+            ("Evrard", 4220),
+            ("Fabry", 675),
+            ("Fauconnier", 653),
+            ("Feron", 784),
+            ("Flament", 1286),
+            ("Fontaine", 4156),
+            ("Foucart", 1119),
+            ("Franck", 822),
+            ("Franssen", 795),
+            ("François", 4779),
+            ("Frère", 895),
+            ("Gabriel", 973),
+            ("Gaillard", 637),
+            ("Gallez", 930),
+            ("Gallo", 604),
+            ("Gaspard", 1128),
+            ("Gauthier", 917),
+            ("Genot", 794),
+            ("George", 733),
+            ("Georges", 2503),
+            ("Gerard", 1264),
+            ("Ghislain", 1092),
+            ("Gilbert", 879),
+            ("Gillain", 1018),
+            ("Gillard", 1729),
+            ("Gilles", 2228),
+            ("Gillet", 3330),
+            ("Gilson", 2516),
+            ("Glineur", 679),
+            ("Gobert", 1732),
+            ("Goblet", 775),
+            ("Godart", 1622),
+            ("Godefroid", 1654),
+            ("Godfroid", 1129),
+            ("Godin", 669),
+            ("Goffaux", 775),
+            ("Goffin", 2664),
+            ("Goffinet", 951),
+            ("Goossens", 1661),
+            ("Gosset", 751),
+            ("Gossiaux", 594),
+            ("Graindorge", 709),
+            ("Grandjean", 1230),
+            ("Greco", 850),
+            ("Grosjean", 961),
+            ("Grégoire", 2866),
+            ("Guillaume", 3266),
+            ("Guiot", 880),
+            ("Gustin", 1407),
+            ("Gérard", 5196),
+            ("Hainaut", 662),
+            ("Halleux", 1061),
+            ("Hannecart", 649),
+            ("Hardy", 2007),
+            ("Heinen", 1003),
+            ("Hendrick", 773),
+            ("Hendrickx", 971),
+            ("Henin", 1003),
+            ("Henrard", 1426),
+            ("Henrion", 691),
+            ("Henrotte", 610),
+            ("Henry", 3357),
+            ("Herman", 1954),
+            ("Hermans", 1224),
+            ("Honoré", 781),
+            ("Hougardy", 597),
+            ("Huart", 1229),
+            ("Hubert", 3047),
+            ("Huberty", 617),
+            ("Hubin", 665),
+            ("Huet", 713),
+            ("Humblet", 945),
+            ("Jacob", 1848),
+            ("Jacobs", 2001),
+            ("Jacquemart", 593),
+            ("Jacquemin", 1768),
+            ("Jacques", 2939),
+            ("Jacquet", 1935),
+            ("Jadot", 1514),
+            ("Jadoul", 770),
+            ("Jamar", 719),
+            ("Janssen", 1396),
+            ("Janssens", 2781),
+            ("Joly", 1091),
+            ("Joris", 1030),
+            ("Kaya", 743),
+            ("Kinet", 663),
+            ("Klein", 872),
+            ("Lacroix", 2320),
+            ("Lahaye", 1258),
+            ("Lallemand", 1440),
+            ("Laloux", 1105),
+            ("Lambert", 8375),
+            ("Lambot", 872),
+            ("Lambotte", 1056),
+            ("Lambrechts", 750),
+            ("Lamy", 837),
+            ("Lange", 780),
+            ("Lardinois", 1269),
+            ("Latour", 603),
+            ("Laurent", 5463),
+            ("Lebeau", 747),
+            ("Leblanc", 978),
+            ("Lebon", 737),
+            ("Lebrun", 2897),
+            ("Leclercq", 5862),
+            ("Lecocq", 1916),
+            ("Lecomte", 2778),
+            ("Lecoq", 650),
+            ("Ledent", 811),
+            ("Ledoux", 981),
+            ("Leduc", 890),
+            ("Lefebvre", 3263),
+            ("Lefevre", 1086),
+            ("Lefèbvre", 1178),
+            ("Lefèvre", 2335),
+            ("Legrain", 769),
+            ("Legrand", 3524),
+            ("Legros", 1723),
+            ("Lejeune", 5316),
+            ("Leleux", 779),
+            ("Leloup", 640),
+            ("Lemaire", 4304),
+            ("Lemmens", 1155),
+            ("Lemoine", 1298),
+            ("Lempereur", 838),
+            ("Lenaerts", 772),
+            ("Lenoir", 1438),
+            ("Leonard", 633),
+            ("Lepage", 851),
+            ("Leroy", 5162),
+            ("Leruth", 608),
+            ("Lheureux", 599),
+            ("Lhoir", 755),
+            ("Libert", 2432),
+            ("Limbourg", 713),
+            ("Liégeois", 1212),
+            ("Liénard", 1054),
+            ("Lombardo", 703),
+            ("Lorent", 936),
+            ("Louis", 3131),
+            ("Lucas", 1095),
+            ("Léonard", 3464),
+            ("Maes", 2492),
+            ("Mahieu", 2123),
+            ("Mahy", 1030),
+            ("Malherbe", 787),
+            ("Maquet", 1023),
+            ("Marchal", 3699),
+            ("Marchand", 1353),
+            ("Marechal", 623),
+            ("Marion", 623),
+            ("Marlier", 1005),
+            ("Marquet", 796),
+            ("Martens", 875),
+            ("Martin", 6603),
+            ("Mary", 875),
+            ("Maréchal", 2673),
+            ("Massart", 2283),
+            ("Masset", 941),
+            ("Massin", 673),
+            ("Masson", 1964),
+            ("Matagne", 1057),
+            ("Materne", 754),
+            ("Mathieu", 4723),
+            ("Mathot", 830),
+            ("Mathy", 1223),
+            ("Maton", 816),
+            ("Matthys", 611),
+            ("Mercier", 1814),
+            ("Mertens", 2483),
+            ("Messina", 747),
+            ("Meunier", 2564),
+            ("Meurant", 692),
+            ("Meurisse", 647),
+            ("Meyer", 1205),
+            ("Michaux", 2562),
+            ("Michel", 4456),
+            ("Michiels", 1712),
+            ("Mignon", 870),
+            ("Minet", 1237),
+            ("Minne", 773),
+            ("Monfort", 809),
+            ("Moreau", 3287),
+            ("Mortier", 693),
+            ("Motte", 1067),
+            ("Mottet", 637),
+            ("Moulin", 1025),
+            ("Moureau", 732),
+            ("Mouton", 707),
+            ("Muller", 1258),
+            ("Müller", 789),
+            ("Navez", 889),
+            ("Neuville", 647),
+            ("Nguyen", 980),
+            ("Nicaise", 893),
+            ("Nicolas", 1977),
+            ("Nicolay", 786),
+            ("Nizet", 699),
+            ("Noel", 915),
+            ("Noël", 4424),
+            ("Nys", 754),
+            ("Nyssen", 748),
+            ("Oger", 694),
+            ("Olivier", 1676),
+            ("Orban", 1578),
+            ("Paquay", 1354),
+            ("Paquet", 1683),
+            ("Paquot", 654),
+            ("Parent", 1295),
+            ("Parmentier", 1922),
+            ("Paul", 989),
+            ("Paulus", 1136),
+            ("Pauwels", 1069),
+            ("Peeters", 2527),
+            ("Peters", 1305),
+            ("Petit", 4547),
+            ("Petitjean", 795),
+            ("Philippart", 958),
+            ("Philippe", 1313),
+            ("Picard", 693),
+            ("Pierard", 1192),
+            ("Pierrard", 634),
+            ("Pierre", 2059),
+            ("Pierret", 843),
+            ("Pierson", 718),
+            ("Piette", 2415),
+            ("Pirard", 1786),
+            ("Pire", 1262),
+            ("Piret", 1706),
+            ("Pirlot", 954),
+            ("Piron", 1949),
+            ("Pirotte", 1917),
+            ("Pirson", 1814),
+            ("Piérard", 769),
+            ("Pochet", 909),
+            ("Polet", 689),
+            ("Pollet", 597),
+            ("Poncelet", 2599),
+            ("Poncin", 1361),
+            ("Raskin", 622),
+            ("Remacle", 1741),
+            ("Remy", 2715),
+            ("Renard", 5209),
+            ("Renier", 1057),
+            ("Renson", 1120),
+            ("Reuter", 647),
+            ("Richard", 1322),
+            ("Rigaux", 611),
+            ("Rizzo", 922),
+            ("Robert", 3519),
+            ("Robin", 701),
+            ("Roger", 650),
+            ("Roland", 2283),
+            ("Romain", 1173),
+            ("Rossi", 722),
+            ("Rousseau", 2630),
+            ("Rousseaux", 660),
+            ("Ruelle", 1040),
+            ("Russo", 1002),
+            ("Sacré", 1151),
+            ("Salmon", 1055),
+            ("Sauvage", 1222),
+            ("Schmit", 996),
+            ("Schmitz", 2588),
+            ("Schoonbroodt", 674),
+            ("Schumacher", 720),
+            ("Schyns", 933),
+            ("Segers", 693),
+            ("Servais", 3367),
+            ("Sevrin", 606),
+            ("Simon", 6022),
+            ("Simonis", 835),
+            ("Simons", 713),
+            ("Smets", 1236),
+            ("Staquet", 737),
+            ("Stas", 672),
+            ("Stassin", 617),
+            ("Stevens", 977),
+            ("Theys", 709),
+            ("Thibaut", 1402),
+            ("Thirion", 1659),
+            ("Thiry", 3688),
+            ("Thomas", 3751),
+            ("Thonon", 859),
+            ("Thys", 1317),
+            ("Timmermans", 1081),
+            ("Toubeau", 632),
+            ("Tournay", 683),
+            ("Toussaint", 2986),
+            ("Urbain", 1986),
+            ("Valentin", 642),
+            ("Van Damme", 823),
+            ("Vandamme", 705),
+            ("Vandenberghe", 861),
+            ("Vanderheyden", 628),
+            ("Vanderlinden", 634),
+            ("Vandevelde", 772),
+            ("Verhaeghe", 638),
+            ("Vermeulen", 1207),
+            ("Vigneron", 773),
+            ("Vilain", 1027),
+            ("Vincent", 1869),
+            ("Vrancken", 632),
+            ("Warnier", 739),
+            ("Wathelet", 925),
+            ("Wattiez", 713),
+            ("Wauters", 1109),
+            ("Wauthier", 928),
+            ("Weber", 865),
+            ("Wilkin", 729),
+            ("Willame", 622),
+            ("Willem", 816),
+            ("Willems", 2515),
+            ("Wilmart", 593),
+            ("Wilmet", 841),
+            ("Wilmotte", 695),
+            ("Wouters", 1216),
+            ("Wéry", 1094),
+            ("Yildirim", 623),
+            ("Yilmaz", 1096),
+        )
+    )
diff --git a/faker/providers/person/nl_BE/__init__.py b/faker/providers/person/nl_BE/__init__.py
new file mode 100644
index 00000000..f70718cb
--- /dev/null
+++ b/faker/providers/person/nl_BE/__init__.py
@@ -0,0 +1,1563 @@
+"""faker.providers.person.nl_BE - 8-9 Jan 2023.
+
+Last names and male and female first names for locale 'nl_BE' (Dutch-speaking Belgium).
+Source: Statbel (Directorate-general Statistics - Statistics Belgium), https://statbel.fgov.be/en/about-statbel, 2022.
+"""
+from collections import Counter, OrderedDict
+
+from .. import Provider as PersonProvider
+
+
+class Provider(PersonProvider):
+    """Provider of `Person` data (male and female first and last names) for locale 'nl_BE' (Belgium Dutch, Flemish)."""
+
+    # As per https://nl.wikipedia.org/wiki/Familienaam#Belgi%C3%AB, from 1 Jun 2014 a child can get
+    # the family name of either parent, or both parents' family names separated by a space.
+    # As per https://nl.wikipedia.org/wiki/Geboortenaam#Situatie_in_Belgi%C3%AB, marriage does NOT affect family names.
+    #
+    # Below reflects these with an assumed 10% doubled name (for both genders).
+    formats_male = OrderedDict(
+        (("{{first_name_male}} {{last_name}}", 90), ("{{first_name_male}} {{last_name}} {{last_name}}", 10))
+    )
+    formats_female = OrderedDict(
+        (("{{first_name_female}} {{last_name}}", 90), ("{{first_name_female}} {{last_name}} {{last_name}}", 10))
+    )
+    formats = OrderedDict(Counter(formats_male) + Counter(formats_female))
+
+    # 500 most common male first names in Flanders in 2022 as per StatBel
+    # note this (simplistically) models 'nl_BE' as identical to Flanders (and ignores Brussels)
+    #
+    # Data sourced from sheet 'Men' columns E-F ('Flanders') rows 3..502 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.2%20Voornamen%20van%20vrouwen%20en%20mannen/First%20names_Population_2022.xlsx
+    # and then sorted by name
+    first_names_male = OrderedDict(
+        (
+            ("Aaron", 2889),
+            ("Abdul", 1215),
+            ("Abdullah", 1130),
+            ("Achiel", 1175),
+            ("Adam", 4837),
+            ("Adriaan", 1168),
+            ("Adrian", 1357),
+            ("Ahmad", 1532),
+            ("Ahmed", 5233),
+            ("Ahmet", 1538),
+            ("Alain", 8280),
+            ("Albert", 7205),
+            ("Alex", 5059),
+            ("Alexander", 9289),
+            ("Alexandre", 1923),
+            ("Alexis", 1191),
+            ("Alfons", 6341),
+            ("Alfred", 1476),
+            ("Ali", 5761),
+            ("Amir", 1669),
+            ("Anas", 1312),
+            ("Andreas", 3733),
+            ("André", 16580),
+            ("Andy", 6567),
+            ("Angelo", 1831),
+            ("Anthony", 3620),
+            ("Antoine", 3850),
+            ("Anton", 1565),
+            ("Antonio", 1884),
+            ("Antonius", 1139),
+            ("Antoon", 2329),
+            ("Armand", 1933),
+            ("Arnaud", 2111),
+            ("Arne", 6368),
+            ("Arno", 3833),
+            ("Arnold", 1110),
+            ("Arthur", 7857),
+            ("August", 2576),
+            ("Axel", 3177),
+            ("Ayman", 1008),
+            ("Ayoub", 1653),
+            ("Bart", 28608),
+            ("Bas", 1938),
+            ("Ben", 5033),
+            ("Benjamin", 5464),
+            ("Benny", 5423),
+            ("Benoit", 1450),
+            ("Bernard", 4627),
+            ("Bert", 8695),
+            ("Bilal", 1922),
+            ("Bjorn", 3795),
+            ("Björn", 3946),
+            ("Bob", 1651),
+            ("Boris", 1250),
+            ("Brahim", 1144),
+            ("Bram", 8657),
+            ("Brecht", 4008),
+            ("Brent", 4164),
+            ("Brian", 1733),
+            ("Briek", 985),
+            ("Bruno", 6801),
+            ("Bryan", 1893),
+            ("Carl", 2689),
+            ("Carlo", 2039),
+            ("Carlos", 2616),
+            ("Cas", 1945),
+            ("Casper", 1362),
+            ("Cedric", 2647),
+            ("Charles", 3721),
+            ("Chris", 5309),
+            ("Christiaan", 5304),
+            ("Christian", 6553),
+            ("Christof", 1477),
+            ("Christoph", 1322),
+            ("Christophe", 9500),
+            ("Claude", 1852),
+            ("Constant", 1375),
+            ("Cornelis", 1071),
+            ("Cyriel", 1705),
+            ("Cédric", 3306),
+            ("Daan", 6062),
+            ("Daniel", 11950),
+            ("Daniël", 5704),
+            ("Danny", 14014),
+            ("Dany", 2101),
+            ("Dario", 1380),
+            ("Dave", 2526),
+            ("David", 16804),
+            ("Davy", 7650),
+            ("Dean", 1094),
+            ("Denis", 2612),
+            ("Dennis", 3712),
+            ("Didier", 4702),
+            ("Diederik", 1392),
+            ("Diego", 1646),
+            ("Dieter", 6396),
+            ("Dimitri", 5964),
+            ("Dirk", 31219),
+            ("Dominique", 3983),
+            ("Dries", 7557),
+            ("Dylan", 4151),
+            ("Eddy", 16551),
+            ("Edgard", 1297),
+            ("Edmond", 1413),
+            ("Edouard", 1216),
+            ("Eduard", 3451),
+            ("Edward", 1834),
+            ("Edwin", 1900),
+            ("El", 1546),
+            ("Elias", 4557),
+            ("Emiel", 5975),
+            ("Emile", 3736),
+            ("Emmanuel", 2820),
+            ("Eric", 15680),
+            ("Erik", 11733),
+            ("Erwin", 6314),
+            ("Etienne", 7068),
+            ("Fabian", 1327),
+            ("Felix", 3453),
+            ("Ferdinand", 1599),
+            ("Fernand", 2367),
+            ("Ferre", 3013),
+            ("Filip", 12468),
+            ("Finn", 3614),
+            ("Flor", 1262),
+            ("Florent", 1250),
+            ("Florian", 1754),
+            ("Floris", 1592),
+            ("Francis", 4947),
+            ("Franciscus", 4620),
+            ("Frank", 14439),
+            ("Franky", 4773),
+            ("Frans", 11347),
+            ("François", 10144),
+            ("Freddy", 10632),
+            ("Frederic", 1538),
+            ("Frederick", 1009),
+            ("Frederik", 7154),
+            ("Frédéric", 2620),
+            ("Gabriel", 2770),
+            ("Gabriël", 1041),
+            ("Gaston", 2482),
+            ("Geert", 21142),
+            ("Geoffrey", 1661),
+            ("George", 1256),
+            ("Georges", 7694),
+            ("Gerard", 3417),
+            ("Gerardus", 1106),
+            ("Gerrit", 1956),
+            ("Gerry", 1040),
+            ("Gert", 6171),
+            ("Ghislain", 1419),
+            ("Gianni", 1608),
+            ("Gilbert", 6635),
+            ("Gilles", 4438),
+            ("Gino", 4390),
+            ("Giovanni", 2129),
+            ("Giuseppe", 1250),
+            ("Glenn", 6482),
+            ("Gregory", 3007),
+            ("Guido", 13295),
+            ("Guillaume", 3037),
+            ("Gunter", 1894),
+            ("Gunther", 3181),
+            ("Gust", 1755),
+            ("Gustaaf", 4352),
+            ("Guy", 11610),
+            ("Hamza", 2370),
+            ("Hannes", 1732),
+            ("Hans", 9693),
+            ("Harry", 1291),
+            ("Hasan", 1560),
+            ("Hassan", 1825),
+            ("Hendrik", 6990),
+            ("Henk", 1499),
+            ("Henri", 8318),
+            ("Henricus", 1528),
+            ("Herman", 9236),
+            ("Hubert", 4285),
+            ("Hugo", 8287),
+            ("Ian", 1954),
+            ("Ibrahim", 3190),
+            ("Ignace", 1783),
+            ("Igor", 1052),
+            ("Ilias", 2146),
+            ("Ilyas", 1616),
+            ("Imran", 1313),
+            ("Ismail", 1821),
+            ("Ivan", 6349),
+            ("Ivo", 3879),
+            ("Jaak", 1576),
+            ("Jack", 2255),
+            ("Jacob", 1159),
+            ("Jacobus", 1852),
+            ("Jacques", 7795),
+            ("Jamal", 1125),
+            ("James", 1671),
+            ("Jan", 38107),
+            ("Jari", 1111),
+            ("Jarne", 3277),
+            ("Jarno", 1610),
+            ("Jason", 2377),
+            ("Jasper", 6304),
+            ("Jayden", 1595),
+            ("Jean", 23651),
+            ("Jean-Claude", 983),
+            ("Jean-Marie", 1498),
+            ("Jean-Paul", 1485),
+            ("Jean-Pierre", 3944),
+            ("Jef", 3956),
+            ("Jeffrey", 2160),
+            ("Jelle", 6886),
+            ("Jens", 8330),
+            ("Jeremy", 1045),
+            ("Jeroen", 10446),
+            ("Jesse", 2025),
+            ("Jimmy", 3458),
+            ("Jo", 3086),
+            ("Joachim", 2548),
+            ("Joannes", 4239),
+            ("Jochen", 1826),
+            ("Joeri", 4374),
+            ("Johan", 29693),
+            ("Johannes", 4491),
+            ("John", 4592),
+            ("Johnny", 4371),
+            ("Johny", 2421),
+            ("Jonas", 10866),
+            ("Jonathan", 5528),
+            ("Joost", 2193),
+            ("Joppe", 1286),
+            ("Joran", 1232),
+            ("Jordi", 1308),
+            ("Jordy", 3753),
+            ("Joren", 2126),
+            ("Joris", 7332),
+            ("Jos", 2712),
+            ("Joseph", 12355),
+            ("Josephus", 3324),
+            ("Joshua", 1110),
+            ("Josse", 1054),
+            ("José", 3827),
+            ("Jozef", 21690),
+            ("Joël", 1687),
+            ("Juan", 1069),
+            ("Jules", 5985),
+            ("Julian", 1110),
+            ("Julien", 6241),
+            ("Jurgen", 5800),
+            ("Juul", 1420),
+            ("Jürgen", 3070),
+            ("Kamiel", 1791),
+            ("Karel", 8560),
+            ("Karim", 1405),
+            ("Karl", 1604),
+            ("Kasper", 1792),
+            ("Ken", 1966),
+            ("Kenneth", 3834),
+            ("Kenny", 4889),
+            ("Kevin", 16042),
+            ("Khalid", 1378),
+            ("Kim", 2390),
+            ("Kjell", 1139),
+            ("Klaas", 1557),
+            ("Kobe", 5551),
+            ("Koen", 15022),
+            ("Koenraad", 3456),
+            ("Kris", 11238),
+            ("Kristiaan", 1492),
+            ("Kristof", 11645),
+            ("Kurt", 10713),
+            ("Lander", 3719),
+            ("Lars", 6583),
+            ("Laurens", 3704),
+            ("Laurent", 3577),
+            ("Leander", 1207),
+            ("Lenn", 1396),
+            ("Lennert", 2967),
+            ("Leo", 5196),
+            ("Leon", 6226),
+            ("Leonard", 1093),
+            ("Leopold", 2051),
+            ("Levi", 1759),
+            ("Lewis", 2070),
+            ("Lex", 1073),
+            ("Liam", 5622),
+            ("Lieven", 4449),
+            ("Lionel", 1116),
+            ("Lode", 1814),
+            ("Lodewijk", 2443),
+            ("Lorenzo", 2320),
+            ("Lou", 1780),
+            ("Louis", 12930),
+            ("Lowie", 3004),
+            ("Loïc", 2094),
+            ("Luc", 38634),
+            ("Luca", 3120),
+            ("Lucas", 8648),
+            ("Lucien", 5158),
+            ("Ludo", 5546),
+            ("Ludovic", 1261),
+            ("Ludovicus", 3950),
+            ("Ludwig", 1671),
+            ("Luka", 1250),
+            ("Lukas", 3649),
+            ("Léon", 1982),
+            ("Maarten", 9051),
+            ("Manuel", 1979),
+            ("Marc", 43643),
+            ("Marcel", 13967),
+            ("Marco", 2452),
+            ("Marcus", 1574),
+            ("Mario", 7223),
+            ("Mark", 3928),
+            ("Marnix", 3209),
+            ("Martijn", 1880),
+            ("Martin", 4883),
+            ("Mathias", 6267),
+            ("Mathieu", 5061),
+            ("Mathijs", 1477),
+            ("Mathis", 4298),
+            ("Mats", 3527),
+            ("Matteo", 3595),
+            ("Matthew", 1080),
+            ("Matthias", 6831),
+            ("Maurice", 5761),
+            ("Maurits", 1498),
+            ("Mauro", 2942),
+            ("Max", 1913),
+            ("Maxim", 5387),
+            ("Maxime", 4105),
+            ("Mehdi", 1105),
+            ("Mehmet", 2458),
+            ("Michael", 6907),
+            ("Michaël", 5428),
+            ("Michel", 13866),
+            ("Michiel", 6741),
+            ("Miel", 1529),
+            ("Miguel", 1820),
+            ("Mike", 3337),
+            ("Milan", 5998),
+            ("Milo", 27),
+            ("Mohamad", 1154),
+            ("Mohamed", 15295),
+            ("Mohammad", 2663),
+            ("Mohammed", 5837),
+            ("Muhammed", 1339),
+            ("Murat", 1161),
+            ("Mustafa", 2946),
+            ("Mustapha", 1096),
+            ("Nand", 1350),
+            ("Nathan", 4867),
+            ("Nick", 8413),
+            ("Nicky", 1155),
+            ("Nico", 7393),
+            ("Nicolas", 7088),
+            ("Niels", 8462),
+            ("Nils", 1702),
+            ("Noah", 6152),
+            ("Norbert", 2442),
+            ("Noël", 3889),
+            ("Oliver", 1394),
+            ("Olivier", 7684),
+            ("Omar", 2601),
+            ("Omer", 1725),
+            ("Oscar", 2771),
+            ("Otis", 1173),
+            ("Owen", 1167),
+            ("Pascal", 8451),
+            ("Patrick", 33673),
+            ("Patrik", 998),
+            ("Paul", 24369),
+            ("Pedro", 1559),
+            ("Peter", 31045),
+            ("Petrus", 3264),
+            ("Philip", 5372),
+            ("Philippe", 10899),
+            ("Pierre", 8633),
+            ("Piet", 2415),
+            ("Pieter", 14721),
+            ("Pieter-Jan", 1875),
+            ("Piotr", 983),
+            ("Pol", 1080),
+            ("Quinten", 4016),
+            ("Rachid", 1901),
+            ("Raf", 3681),
+            ("Rafael", 1077),
+            ("Rafaël", 1475),
+            ("Raoul", 1454),
+            ("Raphaël", 3121),
+            ("Rayan", 2440),
+            ("Raymond", 4361),
+            ("Remi", 2370),
+            ("Renaat", 1164),
+            ("René", 8351),
+            ("Richard", 2874),
+            ("Rik", 5378),
+            ("Rob", 2129),
+            ("Robbe", 7095),
+            ("Robby", 2174),
+            ("Robert", 14189),
+            ("Robin", 8624),
+            ("Roel", 2794),
+            ("Roeland", 1134),
+            ("Roger", 16764),
+            ("Roland", 6869),
+            ("Romain", 2511),
+            ("Ronald", 4742),
+            ("Ronny", 10230),
+            ("Rony", 2161),
+            ("Roy", 1297),
+            ("Ruben", 8565),
+            ("Rudi", 8602),
+            ("Rudolf", 2272),
+            ("Rudy", 8506),
+            ("Rune", 3126),
+            ("Ryan", 1443),
+            ("Said", 1810),
+            ("Sam", 7843),
+            ("Sami", 1089),
+            ("Samir", 1268),
+            ("Sammy", 1139),
+            ("Samuel", 3007),
+            ("Sander", 5928),
+            ("Sebastiaan", 1599),
+            ("Sebastian", 1685),
+            ("Sem", 1937),
+            ("Senne", 5283),
+            ("Seppe", 6145),
+            ("Serge", 4070),
+            ("Siebe", 3031),
+            ("Simon", 8202),
+            ("Stan", 4075),
+            ("Stef", 3647),
+            ("Stefaan", 8349),
+            ("Stefan", 8748),
+            ("Stephan", 2496),
+            ("Steve", 5305),
+            ("Steven", 16397),
+            ("Stijn", 13070),
+            ("Stéphane", 1544),
+            ("Sven", 9508),
+            ("Sébastien", 1768),
+            ("Theo", 2656),
+            ("Theodoor", 986),
+            ("Thibault", 2022),
+            ("Thibaut", 1777),
+            ("Thibo", 1716),
+            ("Thierry", 4738),
+            ("Thijs", 2452),
+            ("Thomas", 17956),
+            ("Thor", 1055),
+            ("Tibe", 981),
+            ("Tibo", 3054),
+            ("Tijl", 1113),
+            ("Tijs", 1174),
+            ("Tim", 11570),
+            ("Timo", 1107),
+            ("Timothy", 2354),
+            ("Tobias", 1007),
+            ("Tom", 24659),
+            ("Tomas", 1127),
+            ("Tommy", 1707),
+            ("Tony", 4293),
+            ("Toon", 3210),
+            ("Tristan", 2418),
+            ("Tuur", 3209),
+            ("Urbain", 1007),
+            ("Valère", 1068),
+            ("Vic", 3169),
+            ("Victor", 8762),
+            ("Viktor", 2836),
+            ("Vince", 3617),
+            ("Vincent", 8083),
+            ("Walter", 9833),
+            ("Wannes", 2817),
+            ("Ward", 3667),
+            ("Warre", 3098),
+            ("Werner", 5470),
+            ("Wesley", 4163),
+            ("Wilfried", 5182),
+            ("Wilhelmus", 986),
+            ("Willem", 6532),
+            ("William", 4555),
+            ("Willy", 22434),
+            ("Wim", 17900),
+            ("Wout", 6567),
+            ("Wouter", 8743),
+            ("Xander", 3256),
+            ("Xavier", 2971),
+            ("Yannick", 4764),
+            ("Yassin", 1078),
+            ("Yassine", 1671),
+            ("Younes", 1758),
+            ("Youssef", 2678),
+            ("Yusuf", 1559),
+            ("Yvan", 2279),
+            ("Yves", 9192),
+            ("Zakaria", 1427),
+            ("Ömer", 1032),
+        )
+    )
+
+    # 500 most common female first names in Flanders in 2022 as per StatBel (with the same simplification as above)
+    #
+    # Data sourced from sheet 'Women' columns E-F ('Flanders') rows 3..502 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.2%20Voornamen%20van%20vrouwen%20en%20mannen/First%20names_Population_2022.xlsx
+    # and then sorted by name
+    first_names_female = OrderedDict(
+        (
+            ("Adriana", 1763),
+            ("Agnes", 7830),
+            ("Agnès", 2084),
+            ("Aicha", 1247),
+            ("Alexandra", 3095),
+            ("Alexia", 1248),
+            ("Alice", 5331),
+            ("Alicia", 1750),
+            ("Alina", 1583),
+            ("Aline", 3281),
+            ("Amber", 7480),
+            ("Amelia", 1371),
+            ("Amelie", 1761),
+            ("Amina", 2237),
+            ("Amira", 1322),
+            ("Amy", 1935),
+            ("Amélie", 4038),
+            ("An", 9756),
+            ("Ana", 2305),
+            ("Anaïs", 2451),
+            ("Andrea", 3150),
+            ("Angela", 2139),
+            ("Angelina", 1360),
+            ("Angèle", 1519),
+            ("Anita", 9194),
+            ("Anja", 8755),
+            ("Anke", 3470),
+            ("Ann", 24685),
+            ("Anna", 20785),
+            ("Anne", 14326),
+            ("Anne-Marie", 5699),
+            ("Anneke", 1526),
+            ("Anneleen", 2312),
+            ("Annelies", 8475),
+            ("Annemie", 2219),
+            ("Annette", 1258),
+            ("Annick", 8828),
+            ("Annie", 14154),
+            ("Annita", 1896),
+            ("Anny", 5227),
+            ("Anouk", 3255),
+            ("Antoinette", 1539),
+            ("Ariane", 1271),
+            ("Arlette", 4633),
+            ("Astrid", 4271),
+            ("Audrey", 1385),
+            ("Augusta", 1394),
+            ("Aurélie", 2379),
+            ("Axelle", 3442),
+            ("Aya", 1788),
+            ("Ayse", 1422),
+            ("Barbara", 4555),
+            ("Beatrice", 1810),
+            ("Beatrijs", 1718),
+            ("Bernadette", 3418),
+            ("Bertha", 1915),
+            ("Betty", 2384),
+            ("Bianca", 2994),
+            ("Bieke", 1586),
+            ("Birgit", 1375),
+            ("Bo", 2784),
+            ("Brenda", 2366),
+            ("Brigitta", 1467),
+            ("Brigitte", 8901),
+            ("Britt", 4019),
+            ("Camille", 3694),
+            ("Carina", 4095),
+            ("Carine", 15540),
+            ("Carla", 3208),
+            ("Carmen", 2203),
+            ("Carolien", 1345),
+            ("Carolina", 1417),
+            ("Caroline", 11730),
+            ("Catharina", 3593),
+            ("Catherine", 4021),
+            ("Cathy", 1612),
+            ("Cecile", 2412),
+            ("Cecilia", 2103),
+            ("Celine", 1989),
+            ("Chantal", 9244),
+            ("Charlotte", 12818),
+            ("Chiara", 1272),
+            ("Chloé", 2171),
+            ("Chloë", 1999),
+            ("Christa", 3016),
+            ("Christel", 10648),
+            ("Christelle", 1545),
+            ("Christiana", 4731),
+            ("Christiane", 17117),
+            ("Christianne", 1556),
+            ("Christina", 3669),
+            ("Christine", 14532),
+            ("Cindy", 11454),
+            ("Claire", 1818),
+            ("Clara", 3004),
+            ("Claudia", 2946),
+            ("Claudine", 4178),
+            ("Colette", 1394),
+            ("Conny", 3428),
+            ("Cornelia", 1800),
+            ("Cynthia", 2343),
+            ("Cécile", 1661),
+            ("Céline", 3152),
+            ("Daisy", 3936),
+            ("Danielle", 3802),
+            ("Daphne", 1210),
+            ("Debbie", 1301),
+            ("Debby", 1535),
+            ("Deborah", 2125),
+            ("Delphine", 3258),
+            ("Denise", 8634),
+            ("Diana", 5793),
+            ("Diane", 5547),
+            ("Dina", 2511),
+            ("Dominique", 4974),
+            ("Dorien", 3745),
+            ("Dorine", 2365),
+            ("Edith", 2445),
+            ("Elena", 5449),
+            ("Eliane", 2191),
+            ("Elien", 4073),
+            ("Elif", 1440),
+            ("Eline", 7637),
+            ("Elisa", 4405),
+            ("Elisabeth", 9021),
+            ("Elise", 8341),
+            ("Elke", 8317),
+            ("Ella", 5463),
+            ("Ellen", 11498),
+            ("Ellie", 1194),
+            ("Elly", 1777),
+            ("Els", 17283),
+            ("Elsa", 1207),
+            ("Elza", 4100),
+            ("Emilia", 1925),
+            ("Emilie", 2938),
+            ("Emily", 2839),
+            ("Emma", 11748),
+            ("Erika", 2154),
+            ("Erna", 4355),
+            ("Estelle", 1365),
+            ("Esther", 3304),
+            ("Eva", 8072),
+            ("Evelien", 5078),
+            ("Eveline", 3692),
+            ("Evelyn", 1556),
+            ("Evelyne", 2313),
+            ("Evi", 3578),
+            ("Evy", 3710),
+            ("Fabienne", 3801),
+            ("Fanny", 1798),
+            ("Farah", 1278),
+            ("Fatiha", 1265),
+            ("Fatima", 6713),
+            ("Fatma", 1947),
+            ("Febe", 3097),
+            ("Femke", 5575),
+            ("Fien", 5583),
+            ("Fleur", 3977),
+            ("Floor", 1788),
+            ("Flore", 1622),
+            ("Florence", 1884),
+            ("Fran", 1865),
+            ("Francine", 7139),
+            ("Françoise", 2716),
+            ("Freya", 1269),
+            ("Frida", 1196),
+            ("Frieda", 4009),
+            ("Gabriella", 1245),
+            ("Gabrielle", 2035),
+            ("Gaëlle", 1234),
+            ("Georgette", 4707),
+            ("Gerarda", 1936),
+            ("Gerda", 7709),
+            ("Germaine", 2002),
+            ("Ghislaine", 1827),
+            ("Gilberte", 2703),
+            ("Gina", 1618),
+            ("Ginette", 1485),
+            ("Gisèle", 1417),
+            ("Gitte", 1719),
+            ("Godelieva", 2176),
+            ("Godelieve", 17791),
+            ("Greet", 3041),
+            ("Greta", 9149),
+            ("Griet", 3493),
+            ("Hanna", 1469),
+            ("Hannah", 2750),
+            ("Hanne", 7995),
+            ("Hannelore", 2613),
+            ("Heidi", 8882),
+            ("Heleen", 1290),
+            ("Helena", 7025),
+            ("Helga", 1504),
+            ("Henriette", 1968),
+            ("Hilda", 7960),
+            ("Hilde", 17845),
+            ("Huguette", 1859),
+            ("Hélène", 2283),
+            ("Ida", 1608),
+            ("Ilona", 1400),
+            ("Ilse", 11320),
+            ("Imane", 1459),
+            ("Ine", 3595),
+            ("Ines", 2874),
+            ("Inge", 11783),
+            ("Ingeborg", 1526),
+            ("Ingrid", 17534),
+            ("Irena", 1954),
+            ("Iris", 4203),
+            ("Irma", 2148),
+            ("Irène", 3886),
+            ("Isabel", 3258),
+            ("Isabella", 1195),
+            ("Isabelle", 9228),
+            ("Ivonne", 1323),
+            ("Jacqueline", 10639),
+            ("Jade", 2951),
+            ("Jana", 5996),
+            ("Janne", 3022),
+            ("Jasmine", 1230),
+            ("Jeanine", 3445),
+            ("Jeanne", 4925),
+            ("Jeannette", 1395),
+            ("Jeannine", 11588),
+            ("Jennifer", 2280),
+            ("Jenny", 6116),
+            ("Jessica", 4869),
+            ("Jessie", 1266),
+            ("Jessy", 1261),
+            ("Jill", 3436),
+            ("Joanna", 5733),
+            ("Johanna", 3543),
+            ("Joke", 5645),
+            ("Jolien", 8045),
+            ("Josepha", 1804),
+            ("Josephina", 3042),
+            ("Josephine", 2406),
+            ("Josiane", 2631),
+            ("José", 1919),
+            ("Josée", 3325),
+            ("Joyce", 3143),
+            ("Joëlle", 1354),
+            ("Judith", 1892),
+            ("Julia", 5958),
+            ("Juliana", 1319),
+            ("Julie", 14016),
+            ("Julienne", 1955),
+            ("Juliette", 4718),
+            ("Justine", 2430),
+            ("Kaat", 3341),
+            ("Karen", 6671),
+            ("Karima", 1399),
+            ("Karin", 6450),
+            ("Karina", 2522),
+            ("Karine", 4250),
+            ("Karolien", 2745),
+            ("Katelijne", 1466),
+            ("Kathleen", 8619),
+            ("Kathy", 2864),
+            ("Katia", 2251),
+            ("Katja", 1249),
+            ("Katleen", 3872),
+            ("Kato", 3511),
+            ("Katrien", 15525),
+            ("Katrijn", 1680),
+            ("Katty", 1392),
+            ("Kelly", 9166),
+            ("Khadija", 2140),
+            ("Kiara", 1193),
+            ("Kim", 9550),
+            ("Kimberley", 1469),
+            ("Kimberly", 3711),
+            ("Kirsten", 2252),
+            ("Krista", 1537),
+            ("Kristel", 5525),
+            ("Kristien", 3727),
+            ("Kristina", 1337),
+            ("Kristine", 1727),
+            ("Lana", 1593),
+            ("Lara", 3630),
+            ("Laura", 13947),
+            ("Laure", 2630),
+            ("Lauren", 2295),
+            ("Laurence", 2219),
+            ("Lea", 5471),
+            ("Leen", 6357),
+            ("Lena", 6069),
+            ("Leona", 1884),
+            ("Leonie", 2239),
+            ("Lien", 6602),
+            ("Lies", 3903),
+            ("Liesbet", 2741),
+            ("Liesbeth", 6527),
+            ("Lieselot", 1628),
+            ("Lieve", 5027),
+            ("Lieze", 1471),
+            ("Liliana", 1328),
+            ("Liliane", 11030),
+            ("Lily", 2389),
+            ("Lina", 4137),
+            ("Linda", 17990),
+            ("Linde", 2148),
+            ("Lindsay", 1966),
+            ("Lindsey", 1437),
+            ("Lisa", 8518),
+            ("Lise", 2585),
+            ("Lisette", 5589),
+            ("Liv", 2040),
+            ("Lize", 1738),
+            ("Loes", 1439),
+            ("Lore", 7851),
+            ("Lotte", 8633),
+            ("Louisa", 3360),
+            ("Louise", 8126),
+            ("Lucia", 2420),
+            ("Lucie", 2899),
+            ("Lucienne", 3846),
+            ("Luna", 4523),
+            ("Lutgarde", 5667),
+            ("Lutgardis", 1728),
+            ("Lutgart", 1238),
+            ("Lydia", 5032),
+            ("Lydie", 1463),
+            ("Lynn", 3638),
+            ("Maaike", 2042),
+            ("Madeleine", 2624),
+            ("Magali", 1375),
+            ("Magda", 8093),
+            ("Magdalena", 5259),
+            ("Malika", 1690),
+            ("Manon", 3793),
+            ("Marcella", 2144),
+            ("Margareta", 2835),
+            ("Margaretha", 2933),
+            ("Margaux", 2149),
+            ("Margo", 1333),
+            ("Margot", 3965),
+            ("Marguerite", 1891),
+            ("Maria", 84005),
+            ("Mariam", 1455),
+            ("Marianne", 5561),
+            ("Marie", 42082),
+            ("Marie-Christine", 1877),
+            ("Marie-Claire", 1642),
+            ("Marie-Jeanne", 2256),
+            ("Marie-José", 1621),
+            ("Marie-Louise", 2805),
+            ("Marie-Rose", 1742),
+            ("Marie-Thérèse", 1490),
+            ("Marieke", 2194),
+            ("Mariette", 6488),
+            ("Marijke", 7878),
+            ("Marina", 9824),
+            ("Marjan", 1185),
+            ("Marleen", 22451),
+            ("Marlies", 1873),
+            ("Martha", 3796),
+            ("Marthe", 2578),
+            ("Martina", 1976),
+            ("Martine", 23567),
+            ("Maryam", 1486),
+            ("Mathilde", 1237),
+            ("Maud", 1765),
+            ("Maya", 2065),
+            ("Melanie", 1716),
+            ("Melissa", 6335),
+            ("Merel", 2546),
+            ("Mia", 4243),
+            ("Micheline", 2854),
+            ("Michelle", 2995),
+            ("Michèle", 2609),
+            ("Mieke", 6414),
+            ("Mila", 3734),
+            ("Mira", 1381),
+            ("Miranda", 1849),
+            ("Mireille", 4106),
+            ("Mona", 2133),
+            ("Monica", 2508),
+            ("Monika", 1845),
+            ("Monique", 21567),
+            ("Myriam", 8905),
+            ("Nadia", 6318),
+            ("Nadine", 10186),
+            ("Nancy", 15781),
+            ("Naomi", 2656),
+            ("Natacha", 1501),
+            ("Natalia", 1478),
+            ("Natalie", 2209),
+            ("Natascha", 1600),
+            ("Natasja", 1546),
+            ("Nathalie", 16550),
+            ("Nele", 8801),
+            ("Nelly", 3714),
+            ("Nicole", 17332),
+            ("Nina", 5383),
+            ("Noa", 2399),
+            ("Noor", 5253),
+            ("Nora", 4463),
+            ("Nore", 1887),
+            ("Noëlla", 1906),
+            ("Odette", 3077),
+            ("Olga", 2195),
+            ("Olivia", 4685),
+            ("Oona", 1511),
+            ("Pascale", 5080),
+            ("Patricia", 11556),
+            ("Paula", 9017),
+            ("Paulien", 2158),
+            ("Pauline", 3256),
+            ("Peggy", 5095),
+            ("Petra", 5704),
+            ("Rachel", 2620),
+            ("Rani", 1535),
+            ("Rania", 1310),
+            ("Rebecca", 1910),
+            ("Regina", 2099),
+            ("Reinhilde", 1270),
+            ("Renée", 3546),
+            ("Ria", 4661),
+            ("Rita", 29651),
+            ("Romy", 1764),
+            ("Roos", 2194),
+            ("Rosa", 7245),
+            ("Rosalia", 1421),
+            ("Rosalie", 1595),
+            ("Rose", 1284),
+            ("Rosette", 3094),
+            ("Rosita", 1345),
+            ("Ruth", 2455),
+            ("Sabine", 9869),
+            ("Sabrina", 4489),
+            ("Sam", 1809),
+            ("Samira", 2072),
+            ("Sandra", 12403),
+            ("Sandy", 2141),
+            ("Sanne", 2921),
+            ("Sara", 10099),
+            ("Sarah", 15389),
+            ("Saskia", 3904),
+            ("Shana", 2539),
+            ("Sharon", 2167),
+            ("Sien", 2112),
+            ("Sigrid", 2235),
+            ("Silke", 4799),
+            ("Silvia", 1265),
+            ("Simone", 2938),
+            ("Simonne", 6519),
+            ("Sofia", 2446),
+            ("Sofie", 16942),
+            ("Sonia", 4859),
+            ("Sonja", 9209),
+            ("Sophia", 1491),
+            ("Sophie", 8008),
+            ("Stefanie", 6235),
+            ("Steffi", 1527),
+            ("Stella", 1401),
+            ("Stephanie", 6152),
+            ("Stien", 1413),
+            ("Stéphanie", 2684),
+            ("Suzanna", 2178),
+            ("Suzanne", 4367),
+            ("Suzy", 1245),
+            ("Sylvia", 3160),
+            ("Sylvie", 4659),
+            ("Tamara", 4386),
+            ("Tania", 3564),
+            ("Tanja", 2048),
+            ("Tatiana", 1474),
+            ("Tess", 1848),
+            ("Tessa", 3083),
+            ("Theresia", 1250),
+            ("Tina", 2437),
+            ("Tine", 4832),
+            ("Tineke", 1530),
+            ("Tinne", 1398),
+            ("Valentina", 1375),
+            ("Valerie", 4085),
+            ("Valérie", 3114),
+            ("Vanessa", 6425),
+            ("Veerle", 12048),
+            ("Vera", 6550),
+            ("Veronique", 4845),
+            ("Vicky", 4617),
+            ("Victoria", 2024),
+            ("Virginie", 2389),
+            ("Viviane", 7507),
+            ("Véronique", 4908),
+            ("Wendy", 11011),
+            ("Yana", 2642),
+            ("Yara", 1321),
+            ("Yasmina", 1486),
+            ("Yasmine", 2681),
+            ("Yolanda", 1641),
+            ("Yolande", 2231),
+            ("Yvette", 4226),
+            ("Yvonne", 4767),
+            ("Zeynep", 1240),
+            ("Zita", 1245),
+            ("Zoë", 4381),
+        )
+    )
+
+    # combination of *almost* 1000 common first names (not necesarilly *the most* common)
+    # with totalled frequencies (for duplicate 'unisex'/gender-neutral first names, which cause < 1000 total names)
+    first_names = OrderedDict(Counter(first_names_male) + Counter(first_names_female))
+
+    # 500 most common last names in Flanders in 2022 as per StatBel (with the same simplification as above)
+    #
+    # Data sourced from sheet 'top10000_2022' columns E-F ('Flemish Region') rows 2..501 (top-500 names incl. frequency)
+    # of Excel workbook at https://statbel.fgov.be/sites/default/files/files/documents/bevolking/
+    # 5.10%20Namen%20en%20voornamen/5.10.1%20Familienamen/Family_names_2022.xlsx
+    # and then sorted by name
+    last_names = OrderedDict(
+        (
+            ("Adams", 1819),
+            ("Adriaensen", 1794),
+            ("Adriaenssens", 1504),
+            ("Aerts", 11048),
+            ("Ahmed", 1828),
+            ("Ali", 1709),
+            ("Andries", 3617),
+            ("Baele", 1465),
+            ("Baert", 5608),
+            ("Baeten", 2798),
+            ("Baetens", 2477),
+            ("Baeyens", 3418),
+            ("Bauwens", 4545),
+            ("Beckers", 3518),
+            ("Beeckman", 1618),
+            ("Beernaert", 1727),
+            ("Bekaert", 2894),
+            ("Belmans", 1784),
+            ("Berghmans", 1606),
+            ("Bertels", 2106),
+            ("Bervoets", 1449),
+            ("Beyens", 1708),
+            ("Blommaert", 1622),
+            ("Blomme", 2701),
+            ("Blondeel", 1704),
+            ("Boeckx", 1741),
+            ("Bogaert", 4869),
+            ("Bogaerts", 4692),
+            ("Bollen", 2750),
+            ("Bonte", 2313),
+            ("Boon", 1673),
+            ("Boone", 2679),
+            ("Boonen", 2804),
+            ("Borremans", 1922),
+            ("Bosmans", 4959),
+            ("Bossuyt", 1809),
+            ("Bouckaert", 1620),
+            ("Bracke", 2832),
+            ("Braem", 1728),
+            ("Breugelmans", 1656),
+            ("Broeckx", 1602),
+            ("Brouwers", 1520),
+            ("Bruggeman", 2025),
+            ("Bruneel", 1769),
+            ("Bruyninckx", 1902),
+            ("Buelens", 2153),
+            ("Buyse", 1865),
+            ("Buysse", 2141),
+            ("Callebaut", 2096),
+            ("Callens", 3750),
+            ("Callewaert", 2561),
+            ("Carlier", 1649),
+            ("Casier", 2001),
+            ("Casteleyn", 1480),
+            ("Celis", 1915),
+            ("Ceulemans", 4170),
+            ("Ceuppens", 1578),
+            ("Christiaens", 4621),
+            ("Claes", 13525),
+            ("Claesen", 1617),
+            ("Claessens", 4062),
+            ("Claeys", 8904),
+            ("Claus", 2974),
+            ("Coene", 1633),
+            ("Coenen", 2965),
+            ("Colman", 1500),
+            ("Colpaert", 1818),
+            ("Cools", 6568),
+            ("Coppens", 6811),
+            ("Cornelis", 5113),
+            ("Cox", 2056),
+            ("Cuypers", 3783),
+            ("Cuyvers", 1497),
+            ("D'Hondt", 2261),
+            ("D'hondt", 2348),
+            ("Daems", 3788),
+            ("Daniels", 2186),
+            ("David", 1933),
+            ("De Backer", 7534),
+            ("De Baere", 1576),
+            ("De Baets", 2439),
+            ("De Bie", 2541),
+            ("De Block", 2599),
+            ("De Bock", 3582),
+            ("De Boeck", 3266),
+            ("De Bondt", 1938),
+            ("De Bruycker", 1864),
+            ("De Bruyn", 3613),
+            ("De Bruyne", 3567),
+            ("De Clerck", 3353),
+            ("De Clercq", 8606),
+            ("De Cock", 6486),
+            ("De Coninck", 3926),
+            ("De Coster", 3426),
+            ("De Cuyper", 1980),
+            ("De Decker", 3401),
+            ("De Graeve", 2152),
+            ("De Greef", 2161),
+            ("De Groof", 1519),
+            ("De Groote", 4200),
+            ("De Jonghe", 2651),
+            ("De Keyser", 3242),
+            ("De Laet", 2589),
+            ("De Leeuw", 1540),
+            ("De Maeyer", 2447),
+            ("De Meester", 1969),
+            ("De Mey", 1789),
+            ("De Meyer", 5698),
+            ("De Moor", 2746),
+            ("De Mulder", 1747),
+            ("De Muynck", 1568),
+            ("De Neve", 2219),
+            ("De Paepe", 2664),
+            ("De Pauw", 5349),
+            ("De Ridder", 5214),
+            ("De Roeck", 2468),
+            ("De Roo", 1485),
+            ("De Roover", 1628),
+            ("De Ryck", 1897),
+            ("De Rycke", 1923),
+            ("De Schepper", 2894),
+            ("De Schrijver", 1671),
+            ("De Schryver", 1661),
+            ("De Schutter", 1909),
+            ("De Smedt", 6067),
+            ("De Smet", 12094),
+            ("De Sutter", 2295),
+            ("De Vos", 9015),
+            ("De Vuyst", 2116),
+            ("De Wachter", 1990),
+            ("De Waele", 3373),
+            ("De Weerdt", 1761),
+            ("De Wilde", 5511),
+            ("De Winter", 3748),
+            ("De Wit", 3129),
+            ("De Witte", 3673),
+            ("De Wolf", 3439),
+            ("De Wulf", 1715),
+            ("Debruyne", 2637),
+            ("Deceuninck", 1681),
+            ("Deckers", 3144),
+            ("Declerck", 3534),
+            ("Declercq", 5175),
+            ("Decock", 2484),
+            ("Deconinck", 1677),
+            ("Decoster", 2351),
+            ("Degroote", 1584),
+            ("Degryse", 1840),
+            ("Dejonghe", 1825),
+            ("Dekeyser", 1693),
+            ("Delaere", 1717),
+            ("Deleu", 1719),
+            ("Deman", 1443),
+            ("Demeulenaere", 1596),
+            ("Demeyer", 1538),
+            ("Demeyere", 1696),
+            ("Demuynck", 2011),
+            ("Denys", 1891),
+            ("Depoorter", 2084),
+            ("Deprez", 3081),
+            ("Depuydt", 1863),
+            ("Derycke", 1466),
+            ("Desmedt", 2222),
+            ("Desmet", 7897),
+            ("Devolder", 1613),
+            ("Devos", 6499),
+            ("Devriendt", 1699),
+            ("Dewaele", 2548),
+            ("Dewilde", 1463),
+            ("Dewitte", 1877),
+            ("Dewulf", 3221),
+            ("Dhondt", 3055),
+            ("Diallo", 2213),
+            ("Dierckx", 4202),
+            ("Dierick", 1605),
+            ("Dierickx", 3156),
+            ("Dillen", 2152),
+            ("Dobbelaere", 2337),
+            ("Dockx", 1644),
+            ("Driesen", 2675),
+            ("Dubois", 2344),
+            ("Dupont", 3008),
+            ("Eeckhout", 2874),
+            ("Engelen", 3298),
+            ("Engels", 2820),
+            ("Everaert", 2537),
+            ("Faes", 1904),
+            ("Feys", 1941),
+            ("Fierens", 1799),
+            ("Fransen", 1852),
+            ("François", 1921),
+            ("Galle", 1526),
+            ("Geens", 3337),
+            ("Geeraerts", 2198),
+            ("Geerts", 5208),
+            ("Geudens", 1695),
+            ("Geuens", 1451),
+            ("Gevaert", 1941),
+            ("Gielen", 3915),
+            ("Gillis", 1520),
+            ("Goethals", 4344),
+            ("Goossens", 13062),
+            ("Goovaerts", 1985),
+            ("Goris", 3278),
+            ("Govaerts", 2402),
+            ("Goyvaerts", 1473),
+            ("Hanssens", 1496),
+            ("Hellemans", 2037),
+            ("Helsen", 2867),
+            ("Hendrickx", 8190),
+            ("Hens", 1539),
+            ("Heremans", 1890),
+            ("Herman", 1790),
+            ("Hermans", 10690),
+            ("Heylen", 4692),
+            ("Heymans", 2285),
+            ("Heyvaert", 2032),
+            ("Holvoet", 1710),
+            ("Horemans", 2063),
+            ("Hoste", 2300),
+            ("Houben", 2883),
+            ("Huybrechts", 3294),
+            ("Huyghe", 2873),
+            ("Huys", 1778),
+            ("Huysmans", 3609),
+            ("Jacobs", 16329),
+            ("Jans", 3185),
+            ("Jansen", 4650),
+            ("Janssen", 7920),
+            ("Janssens", 24733),
+            ("Jonckheere", 2364),
+            ("Joos", 1897),
+            ("Joris", 2046),
+            ("Kaur", 1465),
+            ("Kaya", 1577),
+            ("Kenis", 1694),
+            ("Kerkhofs", 1771),
+            ("Knockaert", 1772),
+            ("Laenen", 2198),
+            ("Lambert", 2205),
+            ("Lambrecht", 2771),
+            ("Lambrechts", 4989),
+            ("Lammens", 2061),
+            ("Laureys", 2065),
+            ("Lauwers", 5422),
+            ("Leemans", 3176),
+            ("Lemmens", 7243),
+            ("Lenaerts", 5136),
+            ("Leroy", 1716),
+            ("Leys", 2584),
+            ("Leysen", 2439),
+            ("Liekens", 1965),
+            ("Lievens", 4245),
+            ("Lippens", 2267),
+            ("Loos", 1950),
+            ("Luyckx", 2825),
+            ("Luyten", 3962),
+            ("Maertens", 2967),
+            ("Maes", 21410),
+            ("Mahieu", 2207),
+            ("Malfait", 1535),
+            ("Marien", 1706),
+            ("Maris", 1506),
+            ("Mariën", 3169),
+            ("Martens", 9695),
+            ("Matthijs", 1577),
+            ("Matthys", 3658),
+            ("Meersman", 1769),
+            ("Meert", 2844),
+            ("Mees", 1815),
+            ("Meeus", 3197),
+            ("Melis", 2127),
+            ("Merckx", 2353),
+            ("Mertens", 14720),
+            ("Mestdagh", 2133),
+            ("Meyers", 1437),
+            ("Michiels", 9056),
+            ("Michielsen", 2244),
+            ("Moens", 4953),
+            ("Moerman", 2608),
+            ("Moonen", 1518),
+            ("Moons", 3226),
+            ("Moors", 2207),
+            ("Moreels", 1598),
+            ("Mortier", 3241),
+            ("Naessens", 2265),
+            ("Neirynck", 1653),
+            ("Nelissen", 1513),
+            ("Neven", 1501),
+            ("Neyens", 1715),
+            ("Nijs", 4206),
+            ("Nuyts", 2984),
+            ("Nys", 3433),
+            ("Ooms", 2822),
+            ("Op de Beeck", 2157),
+            ("Parmentier", 2019),
+            ("Pattyn", 2299),
+            ("Pauwels", 11234),
+            ("Peeters", 27625),
+            ("Peters", 1978),
+            ("Philips", 2285),
+            ("Pieters", 4405),
+            ("Poelmans", 1634),
+            ("Polfliet", 1442),
+            ("Pollet", 1811),
+            ("Poppe", 2412),
+            ("Praet", 1443),
+            ("Proost", 2043),
+            ("Put", 2001),
+            ("Raes", 3810),
+            ("Raeymaekers", 1843),
+            ("Ramaekers", 1787),
+            ("Renders", 2215),
+            ("Reynaert", 1805),
+            ("Reynders", 2948),
+            ("Roelandt", 2111),
+            ("Roels", 3982),
+            ("Rogiers", 1978),
+            ("Rombaut", 1756),
+            ("Rombouts", 1850),
+            ("Roose", 2039),
+            ("Roosen", 1812),
+            ("Rosseel", 2022),
+            ("Rottiers", 1472),
+            ("Rutten", 2007),
+            ("Sabbe", 1842),
+            ("Saelens", 1487),
+            ("Samyn", 1875),
+            ("Sanders", 1835),
+            ("Schepens", 2550),
+            ("Schepers", 3019),
+            ("Schoofs", 1907),
+            ("Segers", 7482),
+            ("Seghers", 1784),
+            ("Sels", 1913),
+            ("Simoens", 1551),
+            ("Simons", 4259),
+            ("Singh", 3338),
+            ("Slegers", 1619),
+            ("Smeets", 3356),
+            ("Smet", 6103),
+            ("Smets", 8517),
+            ("Smits", 3291),
+            ("Smolders", 2118),
+            ("Snauwaert", 1467),
+            ("Somers", 3832),
+            ("Staelens", 2138),
+            ("Standaert", 1654),
+            ("Stas", 1464),
+            ("Sterckx", 2923),
+            ("Stevens", 7609),
+            ("Steyaert", 2016),
+            ("Stroobants", 1829),
+            ("Swennen", 1490),
+            ("Swinnen", 3550),
+            ("Tack", 2361),
+            ("Tanghe", 2436),
+            ("Temmerman", 3033),
+            ("Theunis", 1766),
+            ("Theys", 1794),
+            ("Thijs", 4532),
+            ("Thomas", 2242),
+            ("Thys", 5018),
+            ("Tielemans", 1496),
+            ("Timmerman", 1909),
+            ("Timmermans", 4855),
+            ("Torfs", 2719),
+            ("Troch", 1524),
+            ("Vaes", 2814),
+            ("Van Acker", 4075),
+            ("Van Assche", 2446),
+            ("Van Baelen", 1574),
+            ("Van Belle", 2339),
+            ("Van Bogaert", 1455),
+            ("Van Camp", 3020),
+            ("Van Campenhout", 1796),
+            ("Van Daele", 3406),
+            ("Van Damme", 8481),
+            ("Van Dessel", 2283),
+            ("Van Dijck", 2138),
+            ("Van Dooren", 1528),
+            ("Van Driessche", 2524),
+            ("Van Dyck", 4872),
+            ("Van Genechten", 1711),
+            ("Van Gestel", 2018),
+            ("Van Goethem", 3348),
+            ("Van Gorp", 2203),
+            ("Van Hecke", 4109),
+            ("Van Herck", 2701),
+            ("Van Hoecke", 1722),
+            ("Van Hoof", 4179),
+            ("Van Hove", 3609),
+            ("Van Hulle", 1529),
+            ("Van Impe", 1864),
+            ("Van Laer", 1981),
+            ("Van Laere", 2410),
+            ("Van Landeghem", 1728),
+            ("Van Lierde", 1613),
+            ("Van Loo", 2240),
+            ("Van Loock", 1665),
+            ("Van Loon", 1937),
+            ("Van Looveren", 2207),
+            ("Van Looy", 2892),
+            ("Van Nuffel", 1719),
+            ("Van Parys", 1453),
+            ("Van Poucke", 1583),
+            ("Van Praet", 1585),
+            ("Van Raemdonck", 1482),
+            ("Van Rompaey", 2437),
+            ("Van Roy", 2441),
+            ("Van de Velde", 7761),
+            ("Van de Voorde", 2658),
+            ("Van de Walle", 2445),
+            ("Van den Bergh", 3421),
+            ("Van den Berghe", 2788),
+            ("Van den Bosch", 2429),
+            ("Van den Bossche", 4470),
+            ("Van den Brande", 2969),
+            ("Van den Broeck", 6977),
+            ("Van den Eynde", 3352),
+            ("Van der Auwera", 1931),
+            ("Van der Linden", 1484),
+            ("Vanbrabant", 1465),
+            ("Vandaele", 2747),
+            ("Vandamme", 3788),
+            ("Vandecasteele", 2198),
+            ("Vandekerckhove", 2540),
+            ("Vandenberghe", 5021),
+            ("Vandenbroucke", 2912),
+            ("Vandenbussche", 3018),
+            ("Vandendriessche", 2965),
+            ("Vandeputte", 3010),
+            ("Vanderheyden", 1781),
+            ("Vanderlinden", 1672),
+            ("Vanderstraeten", 2213),
+            ("Vandevelde", 3340),
+            ("Vandewalle", 3435),
+            ("Vanhee", 1884),
+            ("Vanhoutte", 3206),
+            ("Vanhove", 3263),
+            ("Vanneste", 3563),
+            ("Vansteenkiste", 2351),
+            ("Verbeeck", 3620),
+            ("Verbeke", 5173),
+            ("Verbiest", 1767),
+            ("Verbist", 2413),
+            ("Verboven", 2295),
+            ("Verbruggen", 3835),
+            ("Verbrugghe", 1491),
+            ("Vercammen", 4018),
+            ("Vercauteren", 3750),
+            ("Vercruysse", 3532),
+            ("Verdonck", 3722),
+            ("Vereecke", 1832),
+            ("Vereecken", 2011),
+            ("Verelst", 2490),
+            ("Verfaillie", 1755),
+            ("Vergauwen", 1682),
+            ("Verhaegen", 3890),
+            ("Verhaeghe", 4339),
+            ("Verhelst", 4056),
+            ("Verheyden", 3138),
+            ("Verheyen", 5656),
+            ("Verhoeven", 6452),
+            ("Verhulst", 3410),
+            ("Verlinden", 4955),
+            ("Vermeersch", 4688),
+            ("Vermeir", 1914),
+            ("Vermeire", 2870),
+            ("Vermeiren", 5030),
+            ("Vermeulen", 11300),
+            ("Vermeylen", 1624),
+            ("Verschueren", 4870),
+            ("Verstappen", 1545),
+            ("Verstraete", 5731),
+            ("Verstraeten", 4484),
+            ("Vervaeke", 1575),
+            ("Vervaet", 1716),
+            ("Vervoort", 3912),
+            ("Verwimp", 1676),
+            ("Viaene", 2290),
+            ("Vinck", 1661),
+            ("Vissers", 1852),
+            ("Vlaeminck", 1525),
+            ("Vleugels", 1475),
+            ("Voet", 1635),
+            ("Vos", 3337),
+            ("Vrancken", 2096),
+            ("Vranckx", 1635),
+            ("Vranken", 2538),
+            ("Wauters", 5713),
+            ("Wellens", 2311),
+            ("Willaert", 2140),
+            ("Willekens", 1889),
+            ("Willems", 14709),
+            ("Wouters", 13352),
+            ("Wuyts", 4945),
+            ("Wynants", 1604),
+            ("Yildirim", 1560),
+            ("Yilmaz", 2779),
+        )
+    )
diff --git a/faker/providers/phone_number/es_ES/__init__.py b/faker/providers/phone_number/es_ES/__init__.py
index 19ac7776..34b32832 100644
--- a/faker/providers/phone_number/es_ES/__init__.py
+++ b/faker/providers/phone_number/es_ES/__init__.py
@@ -1,59 +1,128 @@
+import itertools
+
 from .. import Provider as PhoneNumberProvider
 
 
 class Provider(PhoneNumberProvider):
     """
     According to official specs:
-    https://avancedigital.gob.es/es-ES/Servicios/Numeracion/Documents/Descripcion_PNN.pdf
+    https://avancedigital.mineco.gob.es/es-ES/Servicios/Numeracion/Documents/Guia_Numeracion.pdf
     """
 
-    formats = (
-        "+34 9## ### ###",
-        "+34 8## ### ###",
-        "+34 70# ### ###",
-        "+34 71# ### ###",
-        "+34 72# ### ###",
-        "+34 73# ### ###",
-        "+34 74# ### ###",
-        "+34 6## ### ###",
-        "+34 9########",
-        "+34 8########",
-        "+34 70#######",
-        "+34 71#######",
-        "+34 72#######",
-        "+34 73#######",
-        "+34 74#######",
-        "+34 6########",
-        "+34 9## ## ## ##",
-        "+34 8## ## ## ##",
-        "+34 70# ## ## ##",
-        "+34 71# ## ## ##",
-        "+34 72# ## ## ##",
-        "+34 73# ## ## ##",
-        "+34 74# ## ## ##",
-        "+34 6## ## ## ##",
-        "+349## ### ###",
-        "+348## ### ###",
-        "+3470# ### ###",
-        "+3471# ### ###",
-        "+3472# ### ###",
-        "+3473# ### ###",
-        "+3474# ### ###",
-        "+346## ### ###",
-        "+349########",
-        "+348########",
-        "+3470#######",
-        "+3471#######",
-        "+3472#######",
-        "+3473#######",
-        "+3474#######",
-        "+346########",
-        "+349## ## ## ##",
-        "+348## ## ## ##",
-        "+3470# ## ## ##",
-        "+3471# ## ## ##",
-        "+3472# ## ## ##",
-        "+3473# ## ## ##",
-        "+3474# ## ## ##",
-        "+346## ## ## ##",
+    PREFIXES = (
+        "6##",
+        "70#",
+        "71#",
+        "72#",
+        "73#",
+        "74#",
+        # 75-79 unassigned
+        "800",
+        "803",
+        "806",
+        "807",
+        # 801, 802, 804, 805, 808, 809 unassigned
+        "81#",
+        "820",
+        "821",
+        "822",
+        "823",
+        "824",
+        "825",
+        "826",
+        "827",
+        "828",
+        # 829 unassigned
+        "83#",
+        # 840 unassigned
+        "841",
+        "842",
+        "843",
+        "844",
+        "845",
+        "846",
+        "847",
+        "848",
+        "849",
+        "85#",
+        "86#",
+        # 870 unassigned
+        "871",
+        "872",
+        "873",
+        "874",
+        "875",
+        "876",
+        "877",
+        "878",
+        "879",
+        "880",
+        "881",
+        "882",
+        "883",
+        "884",
+        "885",
+        "886",
+        "887",
+        "888",
+        # 889-899 unassigned
+        "900",
+        "901",
+        "902",
+        # 903-909 unassigned
+        "91#",
+        "920",
+        "921",
+        "922",
+        "923",
+        "924",
+        "925",
+        "926",
+        "927",
+        "928",
+        # 929 unassigned
+        "93#",
+        # 940 unassigned
+        "941",
+        "942",
+        "943",
+        "944",
+        "945",
+        "946",
+        "947",
+        "948",
+        "949",
+        "95#",
+        "96#",
+        # 970 unassigned
+        "971",
+        "972",
+        "973",
+        "974",
+        "975",
+        "976",
+        "977",
+        "978",
+        "979",
+        "980",
+        "981",
+        "982",
+        "983",
+        "984",
+        "985",
+        "986",
+        "987",
+        "988",
+        # 989-999 unassigned
+    )
+    PHONE_FORMATS = (
+        "+34 xxx ### ###",
+        "+34 xxx######",
+        "+34 xxx ## ## ##",
+        "+34xxx ### ###",
+        "+34xxx######",
+        "+34xxx ## ## ##",
+    )
+    formats = tuple(
+        phone_format.replace("xxx", prefix) for (prefix, phone_format) in itertools.product(PREFIXES, PHONE_FORMATS)
     )
diff --git a/tox.ini b/tox.ini
index d5f8f469..0a667658 100644
--- a/tox.ini
+++ b/tox.ini
@@ -58,11 +58,13 @@ commands =
 basepython = python
 passenv = TEST_32BIT
 commands = ./build32bit.sh
+allowlist_externals = ./build32bit.sh
 
 [testenv:alpine]
 basepython = python
 passenv = TEST_ALPINE
 commands = ./build-alpine.sh
+allowlist_externals = ./build-alpine.sh
 
 [flake8]
 max-line-length = 120


Test patch:
diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py
index 120dee66..564012c9 100644
--- a/tests/providers/test_address.py
+++ b/tests/providers/test_address.py
@@ -2220,3 +2220,25 @@ class TestUkUa:
             region = faker.region()
             assert isinstance(region, str)
             assert region in UkUaAddressProvider.region_names
+
+
+class TestPlPl:
+    """Test pl_PL address provider methods"""
+
+    def test_postcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            postcode = faker.postcode()
+            match = re.findall(r"^\d{2}-\d{3}$", postcode)
+            assert match
+
+    def test_zipcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            zipcode = faker.zipcode()
+            match = re.findall(r"^\d{2}-\d{3}$", zipcode)
+            assert match
+
+    def test_postalcode(self, faker, num_samples):
+        for _ in range(num_samples):
+            postalcode = faker.postalcode()
+            match = re.findall(r"^^\d{2}-\d{3}$$", postalcode)
+            assert match
diff --git a/tests/providers/test_bank.py b/tests/providers/test_bank.py
index 3683b6e0..36569340 100644
--- a/tests/providers/test_bank.py
+++ b/tests/providers/test_bank.py
@@ -49,6 +49,11 @@ class TestAzAz:
             assert iban[:2] == AzAzBankProvider.country_code
             assert re.fullmatch(r"\d{2}[A-Z]{4}\d{20}", iban[2:])
 
+    def test_bank(self, faker, num_samples):
+        for _ in range(num_samples):
+            bank = faker.bank()
+            assert bank in AzAzBankProvider.banks
+
 
 class TestNoNo:
     """Test no_NO bank provider"""
diff --git a/tests/providers/test_currency.py b/tests/providers/test_currency.py
index bd7145a2..b04685e8 100644
--- a/tests/providers/test_currency.py
+++ b/tests/providers/test_currency.py
@@ -440,3 +440,20 @@ class TestElGr:
         for _ in range(num_samples):
             pricetag = faker.pricetag()
             assert isinstance(pricetag, str)
+
+
+class TestTrTr:
+    """Test tr_TR currency provider"""
+
+    num_samples = 100
+
+    @classmethod
+    def setup_class(cls):
+        from faker.providers.currency.tr_TR import Provider as TrTrCurrencyProvider
+
+        cls.provider = TrTrCurrencyProvider
+
+    def test_pricetag(self, faker, num_samples):
+        for _ in range(num_samples):
+            pricetag = faker.pricetag()
+            assert isinstance(pricetag, str)
diff --git a/tests/providers/test_date_time.py b/tests/providers/test_date_time.py
index 4865a62b..89e1b5e3 100644
--- a/tests/providers/test_date_time.py
+++ b/tests/providers/test_date_time.py
@@ -36,6 +36,7 @@ from faker.providers.date_time.pt_PT import Provider as PtPtProvider
 from faker.providers.date_time.ro_RO import Provider as RoRoProvider
 from faker.providers.date_time.ru_RU import Provider as RuProvider
 from faker.providers.date_time.sk_SK import Provider as SkSkProvider
+from faker.providers.date_time.sl_SI import Provider as SlSiProvider
 from faker.providers.date_time.ta_IN import Provider as TaInProvider
 from faker.providers.date_time.tr_TR import Provider as TrTrProvider
 from faker.providers.date_time.zh_CN import Provider as ZhCnProvider
@@ -887,6 +888,20 @@ class TestSkSk(unittest.TestCase):
         assert month in SkSkProvider.MONTH_NAMES.values()
 
 
+class TestSlSi(unittest.TestCase):
+    def setUp(self):
+        self.fake = Faker("sl_SI")
+        Faker.seed(0)
+
+    def test_day(self):
+        day = self.fake.day_of_week()
+        assert day in SlSiProvider.DAY_NAMES.values()
+
+    def test_month(self):
+        month = self.fake.month_name()
+        assert month in SlSiProvider.MONTH_NAMES.values()
+
+
 class TestThTh(unittest.TestCase):
     num_sample_runs = 50
 
@@ -1207,3 +1222,18 @@ class TestFrFr(unittest.TestCase):
     def test_month(self):
         day = self.fake.month_name()
         assert day in FrFrProvider.MONTH_NAMES.values()
+
+
+class TestFrCa(unittest.TestCase):
+    # Both fr_FR and fr_CA share the same date format so we use the same test suite
+    def setUp(self):
+        self.fake = Faker("fr-CA")
+        Faker.seed(0)
+
+    def test_day(self):
+        day = self.fake.day_of_week()
+        assert day in FrFrProvider.DAY_NAMES.values()
+
+    def test_month(self):
+        day = self.fake.month_name()
+        assert day in FrFrProvider.MONTH_NAMES.values()
diff --git a/tests/providers/test_misc.py b/tests/providers/test_misc.py
index dbe4d671..695defe7 100644
--- a/tests/providers/test_misc.py
+++ b/tests/providers/test_misc.py
@@ -1,4 +1,5 @@
 import csv
+import datetime
 import io
 import itertools
 import json
@@ -51,6 +52,9 @@ class _FooBarProvider:
     def test_float(self, multi=1) -> float:
         return 1.1 * multi
 
+    def test_date_time(self) -> datetime.datetime:
+        return datetime.datetime(2022, 12, 22, 13, 42, 33, 123)
+
 
 class TestMiscProvider:
     """Test miscellaneous provider methods"""
@@ -670,6 +674,29 @@ class TestMiscProvider:
         assert json_data["dict"]["item1"] == "FooBars"
         assert json_data["dict"]["item2"] == "FooBar"
 
+    def test_json_type_integrity_datetime_using_encoder(self, faker_with_foobar):
+        class DateTimeEncoder(json.JSONEncoder):
+            def default(self, obj):
+                if isinstance(obj, datetime.datetime):
+                    return str(obj)
+
+                # Let the base class default method raise the TypeError
+                return json.JSONEncoder.default(self, obj)
+
+        kwargs = {
+            "data_columns": {"item1": "test_date_time"},
+            "num_rows": 1,
+            "cls": DateTimeEncoder,
+        }
+        json_data = json.loads(faker_with_foobar.json(**kwargs))
+        assert isinstance(json_data["item1"], str)
+        assert json_data["item1"] == "2022-12-22 13:42:33.000123"
+
+    def test_json_type_integrity_datetime_no_encoder(self, faker_with_foobar):
+        kwargs = {"data_columns": {"item1": "test_date_time"}, "num_rows": 1}
+        with pytest.raises(TypeError):
+            faker_with_foobar.json(**kwargs)
+
     def test_fixed_width_with_arguments(self, faker_with_foobar):
         kwargs = {
             "data_columns": [
diff --git a/tests/providers/test_person.py b/tests/providers/test_person.py
index a32c8e34..0bd640ea 100644
--- a/tests/providers/test_person.py
+++ b/tests/providers/test_person.py
@@ -15,10 +15,12 @@ from faker.providers.person.en_US import Provider as EnUSProvider
 from faker.providers.person.es import Provider as EsProvider
 from faker.providers.person.es_CO import Provider as EsCOProvider
 from faker.providers.person.fi_FI import Provider as FiProvider
+from faker.providers.person.fr_BE import Provider as FrBEProvider
 from faker.providers.person.ga_IE import Provider as GaIEProvider
 from faker.providers.person.he_IL import Provider as HeILProvider
 from faker.providers.person.hy_AM import Provider as HyAmProvider
 from faker.providers.person.ne_NP import Provider as NeProvider
+from faker.providers.person.nl_BE import Provider as NlBEProvider
 from faker.providers.person.or_IN import Provider as OrINProvider
 from faker.providers.person.pl_PL import Provider as PlPLProvider
 from faker.providers.person.pl_PL import checksum_identity_card_number as pl_checksum_identity_card_number
@@ -148,6 +150,61 @@ class TestAzAz(unittest.TestCase):
         assert name in AzAzProvider.last_names_male
 
 
+class TestNlBE(unittest.TestCase):
+    """Tests person in the nl-BE locale"""
+
+    def setUp(self):
+        self.fake = Faker("nl-BE")
+        self.provider = NlBEProvider
+        Faker.seed(0)
+
+    def test_first_name(self):
+        # General first name
+        name = self.fake.first_name()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+
+        # Females first name
+        name = self.fake.first_name_female()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+        assert name in self.provider.first_names_female
+
+        # Male first name
+        name = self.fake.first_name_male()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+        assert name in self.provider.first_names_male
+
+    def test_last_name(self):
+        assert not hasattr(self.provider, "last_names_male")
+        assert not hasattr(self.provider, "last_names_female")
+        # All last names apply for all genders.
+        assert hasattr(self.provider, "last_names")
+
+        # General last name.
+        name = self.fake.last_name()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+
+        # Females last name.
+        name = self.fake.last_name_female()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+        assert name in self.provider.last_names
+
+        # Male last name.
+        name = self.fake.last_name_male()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+
+
 class TestJaJP(unittest.TestCase):
     """Tests person in the ja_JP locale"""
 
@@ -246,6 +303,61 @@ class TestNeNP(unittest.TestCase):
             assert name[0] in prefixes
 
 
+class TestFrBE(unittest.TestCase):
+    """Tests person in the fr-BE locale"""
+
+    def setUp(self):
+        self.fake = Faker("fr-BE")
+        self.provider = FrBEProvider
+        Faker.seed(0)
+
+    def test_first_name(self):
+        # General first name
+        name = self.fake.first_name()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+
+        # Females first name
+        name = self.fake.first_name_female()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+        assert name in self.provider.first_names_female
+
+        # Male first name
+        name = self.fake.first_name_male()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.first_names
+        assert name in self.provider.first_names_male
+
+    def test_last_name(self):
+        assert not hasattr(self.provider, "last_names_male")
+        assert not hasattr(self.provider, "last_names_female")
+        # All last names apply for all genders.
+        assert hasattr(self.provider, "last_names")
+
+        # General last name.
+        name = self.fake.last_name()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+
+        # Females last name.
+        name = self.fake.last_name_female()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+        assert name in self.provider.last_names
+
+        # Male last name.
+        name = self.fake.last_name_male()
+        assert name
+        self.assertIsInstance(name, str)
+        assert name in self.provider.last_names
+
+
 class TestFiFI(unittest.TestCase):
     def setUp(self):
         self.fake = Faker("fi_FI")