diff --git a/AGENTS.md b/AGENTS.md
index 1dbda2b5..6687a2ca 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -261,7 +261,7 @@ Add a dedicated `copy.deepcopy()` round-trip test for it too (see `test_regexes_
**Adding a flag-gated post-parse transform** (reorder/adjust) — add a `Constants` boolean (default `False`), implement a `handle_*()` method, and call it in `post_process()` after `handle_firstnames()` and before `handle_capitalization()`, gated on the flag. Default-off keeps existing parses byte-for-byte unchanged. Two shipped examples: `patronymic_name_order` gates both `handle_east_slavic_patronymic_name_order()` (#85) and `handle_turkic_patronymic_name_order()` (#185) — one flag driving two independent handlers, added in the same `post_process()` slot; `middle_name_as_last` gates `handle_middle_name_as_last()` (#133), which folds `middle_list` into `last_list`.
-**Validating a new parsing rule** — before implementing, simulate it in a throwaway script against `TEST_NAMES` (plus a few target-language examples) to catch regressions/false-positives early. E.g. this surfaced the `last_base` `do`/`st`/`mc` empties and the patronymic `"David Michael Abramovich"` false-reorder. After the change, `tests/v2/test_snapshot.py` lists every corpus name it moved, grouped by changed field -- read them, and re-record with `uv run python tools/differential/snapshot.py --record` once every move is intended, so the PR diff of `snapshot.jsonl` shows the reviewer the same list. `uv run python tools/differential/cldr_agreement.py` reports how the tree's agreement with CLDR's stated name fields moved; `tests/v2/test_cldr_agreement.py` fails on any move, and `tools/differential/cldr_agreement.json` doubles as a measured list of names the parser and CLDR read differently. The same command and test score the GND corpus's real names (`gnd_fields.jsonl`, record `gnd_agreement.json`) by the same rules, and `--record` rewrites every record, printing per source what it accepts. A locale-pack change reads the second view the same command prints, per pack (`cldr_agreement_locales.json`, #672); its `JA` rows run only with the `ja` extra installed.
+**Validating a new parsing rule** — before implementing, simulate it in a throwaway script against `TEST_NAMES` (plus a few target-language examples) to catch regressions/false-positives early. E.g. this surfaced the `last_base` `do`/`st`/`mc` empties and the patronymic `"David Michael Abramovich"` false-reorder. After the change, `tests/v2/test_snapshot.py` lists every corpus name it moved, grouped by changed field -- read them, and re-record with `uv run python tools/differential/snapshot.py --record` once every move is intended, so the PR diff of `snapshot.jsonl` shows the reviewer the same list. `uv run python tools/differential/cldr_agreement.py` reports how the tree's agreement with CLDR's stated name fields moved; `tests/v2/test_cldr_agreement.py` fails on any move, and `tools/differential/cldr_agreement.json` doubles as a measured list of names the parser and CLDR read differently. The same command and test score the GND corpus's real names (`gnd_fields.jsonl`, record `gnd_agreement.json`) by the same rules, and `--record` rewrites every record, printing per source what it accepts. A locale-pack change reads the second view the same command prints, per pack (`cldr_agreement_locales.json`, #672, and `wikidata_native_agreement_locales.json` for real Han and kana names); its `JA` rows run only with the `ja` extra installed. A change to Han, Hangul or kana order or to Korean segmentation reads `wikidata_native_agreement.json` too: the only real names in those scripts the corpora hold. It holds no honorific, so a change to the honorific peel moves nothing there.
## Gotchas
diff --git a/tests/v2/test_cldr_agreement.py b/tests/v2/test_cldr_agreement.py
index 0dd402ba..6f522f52 100644
--- a/tests/v2/test_cldr_agreement.py
+++ b/tests/v2/test_cldr_agreement.py
@@ -12,12 +12,16 @@
tools/ is not a package, so the module is loaded by path, as
_differential_fixtures.py loads compare.py.
"""
+import contextlib
+import functools
import importlib.util
+import io
import json
import sys
from collections import Counter
from pathlib import Path
from types import ModuleType
+from typing import Any
import pytest
@@ -101,10 +105,18 @@ def test_each_pending_field_is_scored_inside_the_role_it_names(field: str) -> No
and "Vila" in roles[r].split()]
-def test_the_summary_says_where_each_pending_field_is_scored(
- capsys: pytest.CaptureFixture[str]) -> None:
- agreement.main([])
- out = capsys.readouterr().out
+@functools.cache
+def _summary_run() -> tuple[int, str]:
+ """One `main([])` run and what it printed, shared by the tests that
+ read the summary: each run scores every source (about 0.7 s)."""
+ out = io.StringIO()
+ with contextlib.redirect_stdout(out):
+ code = agreement.main([])
+ return code, out.getvalue()
+
+
+def test_the_summary_says_where_each_pending_field_is_scored() -> None:
+ _, out = _summary_run()
assert "patronymic" in out and "(scored inside given_names)" in out
assert "(scored inside family)" in out
@@ -240,7 +252,8 @@ def test_changes_reports_a_rendering_that_is_gone() -> None:
#: an emptied one re-recorded would match its emptied record.
_CORPORA = {"CLDR": ("corpus_cldr.jsonl", 1000), "GND": ("corpus_gnd.jsonl", 500),
"Wikidata": ("corpus_wikidata.jsonl", 500),
- "Conventions": ("corpus_conventions.jsonl", 25)}
+ "Conventions": ("corpus_conventions.jsonl", 25),
+ "Wikidata native": ("corpus_wikidata_native.jsonl", 700)}
#: Sources whose fields file states only some of its corpus's names: the
#: conventions table leaves a row without fields where no field can state
#: it, and says why in the row's `unstated`.
@@ -317,16 +330,23 @@ def test_nameparser_still_agrees_with_each_source_where_it_did(source: str) -> N
"and say why in the commit."])
-def test_the_summary_counts_each_role_and_matches_the_record(
- capsys: pytest.CaptureFixture[str]) -> None:
- assert agreement.main([]) == 0
- out = capsys.readouterr().out
+def test_the_summary_counts_each_role_and_matches_the_record() -> None:
+ code, out = _summary_run()
+ assert code == 0, out
for role in agreement.ROLES:
assert any(line.split()[0] == role and "agree" in line
for line in out.splitlines() if line.strip()), role
for source in agreement.sources():
assert f"{source} view matches the record" in out
- assert "locale view matches the record" in out
+ for source in agreement.locale_sources():
+ assert f"{source} locale view matches the record" in out
+ # each locale view prints its own default count, not another source's
+ native = out.split("Wikidata native locale view", 1)[1]
+ rows = agreement.load_rows(agreement.NATIVE_FIELDS)
+ wrong = agreement.disagreements(rows)
+ zh = agreement.locale_rows(rows, agreement.locale_sources()["Wikidata native"], "ZH")
+ before = sum(agreement.rendering_key(r) not in wrong for r in zh)
+ assert f"ZH zh-cn, zh-tw: {before}/{len(zh)} default" in native
@pytest.mark.parametrize("text", [
@@ -361,20 +381,35 @@ def test_every_locale_pack_is_measured_or_listed_as_having_no_cldr_file() -> Non
assert mapped | agreement.NO_CLDR == {code.upper() for code in locales.available()}
-def test_every_mapped_cldr_file_has_renderings() -> None:
- # A misspelled file in the table would measure nothing and pass.
- files = {row["file"] for row in agreement.load_rows()}
- assert set(agreement.LOCALE_FILES) <= files
+def test_every_mapped_cldr_file_and_native_stratum_has_renderings() -> None:
+ # A misspelled file or stratum in the tables would measure nothing and pass.
+ assert set(agreement.LOCALE_FILES) <= {row["file"] for row in agreement.load_rows()}
+ native = agreement.load_rows(agreement.NATIVE_FIELDS)
+ assert set(agreement.NATIVE_LABELS) <= {row["label"] for row in native}
+
+
+_CLDR, _NATIVE = (agreement.locale_sources()[name] for name in ("CLDR", "Wikidata native"))
+_ZH_ROW = {"file": "Q1", "label": "zh-cn", "order": "surnameFirst",
+ "text": "王小明", "shape": None, "fields": {"surname": "王", "given": "小明"}}
def test_the_locale_view_parses_with_the_pack() -> None:
# A view that fell back to the default parser would record the
# default's disagreements and still pass its own ratchet. 王小明 is
# one unspaced Han token: only ZH segments it.
- row = {"file": "zh", "label": "nativeG", "order": "surnameFirst",
- "text": "王小明", "shape": 4, "fields": {"surname": "王", "given": "小明"}}
- assert agreement.disagreements([row], locale=True) == {}
- assert agreement.disagreements([row]) != {}
+ assert agreement.disagreements([_ZH_ROW], "ZH") == {}
+ assert agreement.disagreements([_ZH_ROW]) != {}
+
+
+def test_each_source_finds_a_renderings_pack_in_its_own_key() -> None:
+ # CLDR by its file, the native-script source by its stratum: a QID
+ # names no language, and a CLDR label names no stratum.
+ assert _CLDR.pack_of("zh/nativeG/givenFirst") == "ZH"
+ assert _NATIVE.pack_of("Q1/zh-cn/surnameFirst") == "ZH"
+ assert _NATIVE.pack_of("Q1/ja-jp/surnameFirst") == "JA"
+ assert _NATIVE.pack_of("Q1/ko-kr/surnameFirst") is None
+ assert _CLDR.pack_of("Q1/zh-cn/surnameFirst") is None
+ assert agreement.locale_rows([_ZH_ROW], _NATIVE, "ZH") == [_ZH_ROW]
def test_a_pack_parser_keeps_the_family_first_order_of_its_shape() -> None:
@@ -384,45 +419,112 @@ def test_a_pack_parser_keeps_the_family_first_order_of_its_shape() -> None:
assert (name.family, name.given) == ("Ivanov", "Ivan")
-def test_a_recorded_entry_whose_file_left_the_table_is_reported_gone() -> None:
+def test_a_recorded_entry_no_pack_reads_is_reported_gone() -> None:
# No pack's check reads such an entry, so without this it would sit
# in the record unguarded -- and survive every re-record.
- [message] = agreement.unmapped({"zh/nativeG/givenFirst": {}, "xx/nativeG/sorting": {}})
+ [message] = agreement.unmapped({"zh/nativeG/givenFirst": {}, "xx/nativeG/sorting": {}},
+ _CLDR)
assert message.startswith("gone: xx/nativeG/sorting")
- assert agreement.unmapped(agreement.read_record(agreement.LOCALE_RECORD)) == []
+ [message] = agreement.unmapped({"Q1/zh-cn/surnameFirst": {},
+ "Q2/xx-yy/surnameFirst": {}}, _NATIVE)
+ assert message.startswith("gone: Q2/xx-yy/surnameFirst")
+ for name, source in agreement.locale_sources().items():
+ assert agreement.unmapped(agreement.read_record(source.record), source) == [], name
+
+
+def test_a_recorded_rendering_that_is_gone_is_reported_by_its_packs_check() -> None:
+ recorded: dict[str, dict[str, Any]] = {"Q2/zh-cn/surnameFirst": {"text": "王"}}
+ [message] = agreement.locale_changes([_ZH_ROW], _NATIVE, "ZH", recorded)
+ assert message.startswith("gone: Q2/zh-cn/surnameFirst")
+
+
+def _redirect(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> dict[str, Any]:
+ """Point every record, each source's and each locale one, into
+ tmp_path through sources() and locale_sources() themselves, so a
+ source added later cannot be written into the tree by a test."""
+ redirected = {name: (fields, tmp_path / f"{name}.json")
+ for name, (fields, _) in agreement.sources().items()}
+ redirected_locale = {name: source._replace(record=tmp_path / f"{name}.locales.json")
+ for name, source in agreement.locale_sources().items()}
+ monkeypatch.setattr(agreement, "sources", lambda: redirected)
+ monkeypatch.setattr(agreement, "locale_sources", lambda: redirected_locale)
+ return redirected_locale
-def test_a_re_record_drops_entries_whose_file_left_the_table(
+def test_a_re_record_drops_entries_no_pack_reads(
tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
# The carry-over that keeps an unmeasured pack's entries must not
# keep an unmapped file's too.
- # Every record is redirected through sources() itself, so a source
- # added later cannot be written into the tree by this test.
- record = tmp_path / "locales.json"
+ real, real_locale = agreement.sources(), agreement.locale_sources()
+ record = _redirect(tmp_path, monkeypatch)["CLDR"].record
agreement.write_record({"xx/nativeG/sorting": {"text": "X"}}, record)
- real = agreement.sources()
- redirected = {name: (fields, tmp_path / f"{name}.json")
- for name, (fields, _) in real.items()}
- monkeypatch.setattr(agreement, "LOCALE_RECORD", record)
- monkeypatch.setattr(agreement, "sources", lambda: redirected)
assert agreement.main(["--record"]) == 0
assert "xx/nativeG/sorting" not in agreement.read_record(record)
- # and the re-record wrote every source's record, not CLDR's alone
- for name, (fields, written) in redirected.items():
+ # and the re-record wrote every source's record, not CLDR's alone, and
+ # every locale record: each its committed record's measured packs (an
+ # unmeasured pack's entries are carried over only from the old record,
+ # which here holds none of them)
+ for name, (_, written) in agreement.sources().items():
assert agreement.read_record(written) == agreement.read_record(real[name][1]), name
+ for name, source in agreement.locale_sources().items():
+ committed = real_locale[name]
+ measured = {k: v for k, v in agreement.read_record(committed.record).items()
+ if agreement.pack_available(committed.pack_of(k) or "")}
+ assert agreement.read_record(source.record) == measured, name
+
+
+def test_every_locale_record_is_read() -> None:
+ # Dropping a source from locale_sources() would leave its committed
+ # record read by nothing, and its rows' ratchet would simply vanish
+ # from the parametrization.
+ records = {source.record.name for source in agreement.locale_sources().values()}
+ assert records == {path.name for path in _TOOLS.glob("*_agreement_locales.json")}
+ assert set(agreement.locale_sources()) <= set(agreement.sources())
+
+
+@pytest.mark.parametrize("source", sorted(agreement.locale_sources()))
+def test_a_re_record_keeps_an_unmeasured_packs_entries(
+ source: str, tmp_path: Path, monkeypatch: pytest.MonkeyPatch,
+ capsys: pytest.CaptureFixture[str]) -> None:
+ # Without the ja extra, --record must carry the JA entries over, or a
+ # run without it would erase them and only CI's ja-extra job would see.
+ committed = agreement.locale_sources()[source]
+ redirected = committed._replace(record=tmp_path / committed.record.name)
+ redirected.record.write_text(committed.record.read_text(encoding="utf-8"),
+ encoding="utf-8")
+ monkeypatch.setattr(agreement, "_EXTRAS", {"JA": "a_module_that_is_not_installed"})
+ rows = agreement.load_rows(agreement.sources()[source][0])
+ agreement._record_locale(source, rows, redirected)
+ old, new = agreement.read_record(committed.record), agreement.read_record(redirected.record)
+ kept = {k: v for k, v in old.items() if committed.pack_of(k) == "JA"}
+ assert kept, f"{source} records no JA entry: the carry-over is not exercised"
+ assert {k: v for k, v in new.items() if committed.pack_of(k) == "JA"} == kept
+ assert "JA not measured" in capsys.readouterr().out
+
+
+def test_the_summary_still_checks_a_pack_with_no_renderings_left(
+ capsys: pytest.CaptureFixture[str]) -> None:
+ # Its recorded entries are gone, and must be reported as such.
+ rows = [r for r in agreement.load_rows()
+ if _CLDR.pack_of(agreement.rendering_key(r)) != "ZH"]
+ problems = agreement._locale_summary("CLDR", rows, _CLDR, {})
+ assert problems and all(p.startswith("gone:") for p in problems)
-@pytest.mark.parametrize("pack", [
- pytest.param(pack, marks=pytest.mark.skipif(
+@pytest.mark.parametrize(("source", "pack"), [
+ pytest.param(source, pack, marks=pytest.mark.skipif(
not agreement.pack_available(pack),
reason=f"needs {agreement._EXTRAS.get(pack)}; CI's ja-extra job runs it"))
- for pack in sorted(set(agreement.LOCALE_FILES.values()))])
-def test_each_pack_still_agrees_with_cldr_where_it_did(pack: str) -> None:
+ for source in sorted(agreement.locale_sources())
+ for pack in agreement._packs()])
+def test_each_pack_still_agrees_with_each_source_where_it_did(source: str, pack: str) -> None:
+ locale = agreement.locale_sources()[source]
problems = agreement.locale_changes(
- agreement.load_rows(), pack, agreement.read_record(agreement.LOCALE_RECORD))
+ agreement.load_rows(agreement.sources()[source][0]), locale, pack,
+ agreement.read_record(locale.record))
assert not problems, "\n".join([
*problems[:40],
f"{len(problems)} change(s) against "
- f"tools/differential/cldr_agreement_locales.json for {pack}.",
+ f"tools/differential/{locale.record.name} for {pack}.",
f"If every one is intended, re-record with `{agreement.RECORD_COMMAND}` "
"and say why in the commit."])
diff --git a/tests/v2/test_corpus_build.py b/tests/v2/test_corpus_build.py
index 84aa9423..d85f5cd7 100644
--- a/tests/v2/test_corpus_build.py
+++ b/tests/v2/test_corpus_build.py
@@ -17,7 +17,8 @@
corpus_build = load_tool("corpus_build")
-_BUILDERS = ("build_cldr_corpus", "build_gnd_corpus", "build_wikidata_corpus")
+_BUILDERS = ("build_cldr_corpus", "build_gnd_corpus", "build_wikidata_corpus",
+ "build_wikidata_native_corpus")
@pytest.mark.parametrize("stem", _BUILDERS)
diff --git a/tests/v2/test_wikidata_native_corpus.py b/tests/v2/test_wikidata_native_corpus.py
new file mode 100644
index 00000000..1ee335ce
--- /dev/null
+++ b/tests/v2/test_wikidata_native_corpus.py
@@ -0,0 +1,482 @@
+"""Offline checks on tools/differential/build_wikidata_native_corpus.py.
+
+The builder is the only part of the native-script corpus that touches
+the network, so what it adds to build_wikidata_corpus.py's alignment --
+the script filter, character alignment for unspaced text, per-language
+feminine surnames, the order a script decides -- is pinned here on
+hand-written items in wbgetentities' shape.
+"""
+import json
+import urllib.error
+import urllib.request
+from collections import Counter
+from pathlib import Path
+from typing import Any
+
+import pytest
+
+from nameparser import Policy
+
+from ._differential_fixtures import load_tool, serve
+
+native = load_tool("build_wikidata_native_corpus")
+wikidata = load_tool("build_wikidata_corpus")
+agreement = load_tool("cldr_agreement")
+
+_STRATA = {stratum.label: stratum for stratum in native.STRATA}
+
+
+def _claim(value: dict[str, str] | str) -> dict[str, Any]:
+ return {"rank": "normal", "mainsnak": {"snaktype": "value",
+ "datavalue": {"value": value}}}
+
+
+def _person(labels: dict[str, str], native_name: tuple[str, str] | None = None,
+ female: bool = False, **parts: str | list[str]) -> dict[str, Any]:
+ claims: dict[str, list[dict[str, Any]]] = {}
+ for prop, ids in parts.items():
+ claims[prop] = [_claim({"id": i}) for i in ([ids] if isinstance(ids, str) else ids)]
+ if native_name:
+ claims["P1559"] = [_claim({"text": native_name[0], "language": native_name[1]})]
+ if female:
+ claims["P21"] = [_claim({"id": wikidata.FEMALE})]
+ return {"labels": {lang: {"value": text} for lang, text in labels.items()},
+ "claims": claims}
+
+
+def _names(language: str, **labels: str) -> dict[str, Any]:
+ return {qid: {"labels": {language: {"value": text}}} for qid, text in labels.items()}
+
+
+def _one(person: dict[str, Any], names: dict[str, Any], label: str) -> dict[str, Any]:
+ [row] = native.renderings("Q1", person, names, _STRATA[label])
+ return row
+
+
+# -- the script filter ------------------------------------------------------------
+
+@pytest.mark.parametrize(("text", "language", "result"), [
+ ("Anushka Sharma", "hi", False), # a `mul` label: Latin, not Devanagari
+ ("अनुष्का शर्मा", "hi", True), # vowel signs are marks of the script
+ ("عزتالله انتظامی", "fa", True), # the ZWNJ is not a letter, so not asked
+ ("佐々木 勇人", "ja", True), # 々 is IDEOGRAPHIC, not CJK UNIFIED
+ ("長谷川テル", "ja", True),
+ ("長谷川テル", "zh", False), # kana is not Han
+ ("Ратко Janković", "sr", False), # a mixed text is in no one script
+ ("·", "zh", False), # no letter: in no script
+ ("مِحمد", "ar", True), # an Arabic point is a mark of the script
+ ("محمد\u05b4", "ar", False), # a Hebrew point is not
+])
+def test_a_text_is_used_only_in_its_strata_script(text: str, language: str,
+ result: bool) -> None:
+ assert native.in_script(text, native.LANGUAGES[language].script) is result
+
+
+def test_a_latin_label_does_not_pass_as_a_native_name() -> None:
+ names = {**_names("mul", Q2="Anushka", Q3="Sharma"),
+ **_names("hi", Q3="शर्मा")}
+ person = _person({"hi": "Anushka Sharma", "mul": "Anushka Sharma"},
+ P735="Q2", P734="Q3")
+ assert native.renderings("Q1", person, names, _STRATA["hi-in"]) == []
+
+
+# -- character alignment ------------------------------------------------------------
+
+def test_an_unspaced_name_is_aligned_by_character() -> None:
+ assert native.align_chars("김기영", [("surname", {"김"}), ("given", {"기영"})]) == {
+ "surname": [0], "given": [1, 2]}
+
+
+@pytest.mark.parametrize(("text", "parts"), [
+ ("김기영", [("surname", {"김"}), ("given", {"기"})]), # 영 unclaimed
+ ("이이영", [("surname", {"이"}), ("given", {"영"})]), # 이 in two places
+ ("김기영", [("surname", {"김기"}), ("given", {"기영"})]), # 기 claimed twice
+ ("刘放", [("surname", {"刘"})]), # the given is unstated
+])
+def test_an_unspaced_name_not_covered_once_per_character_is_left_out(
+ text: str, parts: list[tuple[str, set[str]]]) -> None:
+ assert native.align_chars(text, parts) is None
+
+
+def test_the_widest_spelling_of_a_part_claims_its_characters() -> None:
+ # 佐 and 佐々木 both spell the surname item: the narrower match inside
+ # the wider one is not a second place.
+ assert native.align_chars("佐々木勇人", [("surname", {"佐", "佐々木"}),
+ ("given", {"勇人"})]) == {
+ "surname": [0, 1, 2], "given": [3, 4]}
+
+
+def test_a_chinese_name_stating_only_its_surname_is_not_used() -> None:
+ # Most Chinese items state P734 and no P735: the rest of the text is
+ # NOT read as the given name, which would be an inference.
+ person = _person({"zh": "王之玺"}, P734="Q2")
+ assert native.renderings("Q1", person, _names("zh", Q2="王"), _STRATA["zh-cn"]) == []
+
+
+# -- the rows ---------------------------------------------------------------------
+
+def test_a_hangul_name_is_ordered_by_its_script() -> None:
+ row = _one(_person({"ko": "김기영"}, P734="Q2", P735="Q3"),
+ _names("ko", Q2="김", Q3="기영"), "ko-kr")
+ assert (row["order"], row["shape"]) == ("surnameFirst", None)
+ assert row["fields"] == {"surname": "김", "given": "기영"}
+
+
+@pytest.mark.parametrize(("label", "surname", "given"), [
+ ("zh-cn", "刘", "放"), ("ja-jp", "平賀", "淳")])
+def test_a_han_name_is_ordered_by_its_script(label: str, surname: str, given: str) -> None:
+ language = native.LANGUAGES[_STRATA[label].language].labels[0]
+ row = _one(_person({language: surname + given}, P734="Q2", P735="Q3"),
+ _names(language, Q2=surname, Q3=given), label)
+ assert (row["order"], row["shape"]) == ("surnameFirst", None)
+
+
+def test_the_scripts_said_to_decide_the_order_are_the_parsers() -> None:
+ # A drift alarm, not a derivation: the builder states which scripts
+ # order a name by themselves, so that a parser change shows in the
+ # record; this fails when the two stop naming the same scripts.
+ assert {script.name for script in dict(Policy().script_orders)} == {
+ "HAN", "HANGUL", "HIRAGANA"}
+ assert native.script_orders("平賀淳") and native.script_orders("김기영")
+ assert native.script_orders("高橋みなみ") # kana beside Han: licensed
+ assert not native.script_orders("サトウハチロー") # pure katakana: not
+
+
+def test_a_spaced_han_name_is_ordered_by_its_script_not_by_a_shape() -> None:
+ # Family first and spaced: build_wikidata_corpus would tag it
+ # FAMILY_FIRST; the script reads it family-first by itself.
+ row = _one(_person({"ja": "佐々木 勇人"}, P734="Q2", P735="Q3"),
+ _names("ja", Q2="佐々木", Q3="勇人"), "ja-jp")
+ assert (row["order"], row["shape"]) == ("surnameFirst", None)
+
+
+def test_a_pure_katakana_name_keeps_the_family_first_shape() -> None:
+ # The parser leaves pure katakana to the declared order (a transcribed
+ # foreign name), so the script decides nothing here.
+ row = _one(_person({"ja": "サトウ ハチロー"}, P734="Q2", P735="Q3"),
+ _names("ja", Q2="サトウ", Q3="ハチロー"), "ja-jp")
+ assert (row["order"], row["shape"]) == ("surnameFirst", wikidata.FAMILY_FIRST_SHAPE)
+
+
+def test_an_unspaced_pure_katakana_name_keeps_the_family_first_shape() -> None:
+ row = _one(_person({"ja": "サトウハチロー"}, P734="Q2", P735="Q3"),
+ _names("ja", Q2="サトウ", Q3="ハチロー"), "ja-jp")
+ assert (row["order"], row["shape"]) == ("surnameFirst", wikidata.FAMILY_FIRST_SHAPE)
+ row = _one(_person({"ja": "ハチローサトウ"}, P734="Q2", P735="Q3"),
+ _names("ja", Q2="サトウ", Q3="ハチロー"), "ja-jp")
+ assert (row["order"], row["shape"]) == ("givenFirst", None)
+
+
+def test_a_one_word_name_outside_the_unspaced_scripts_is_never_split() -> None:
+ # Only Han, kana and Hangul are aligned by character: an Arabic
+ # compound written as one word is one word, never a given name and a
+ # surname cut from it.
+ person = _person({"ar": "عبدالله"}, P735="Q2", P734="Q3")
+ assert native.renderings("Q1", person, _names("ar", Q2="عبد", Q3="الله"),
+ _STRATA["ar-eg"]) == []
+
+
+def test_a_spaced_name_in_another_script_is_ordered_as_written() -> None:
+ row = _one(_person({"ka": "ნოდარ ცინცაძე"}, P734="Q2", P735="Q3"),
+ _names("ka", Q2="ცინცაძე", Q3="ნოდარ"), "ka-ge")
+ assert (row["order"], row["shape"]) == ("givenFirst", None)
+ row = _one(_person({"uk": "Полунін Михайло Степанович"},
+ P734="Q2", P735="Q3", P5056="Q4"),
+ _names("uk", Q2="Полунін", Q3="Михайло", Q4="Степанович"), "uk-ua")
+ assert (row["order"], row["shape"]) == ("surnameFirst", wikidata.FAMILY_FIRST_SHAPE)
+ assert row["fields"]["patronymic"] == "Степанович"
+
+
+def test_the_native_name_wins_and_one_rendering_is_kept() -> None:
+ person = _person({"ja": "鍵山秀三郎"}, native_name=("鍵山 秀三郎", "ja"),
+ P734="Q2", P735="Q3")
+ rows = native.renderings("Q1", person, _names("ja", Q2="鍵山", Q3="秀三郎"),
+ _STRATA["ja-jp"])
+ assert [row["text"] for row in rows] == ["鍵山 秀三郎"]
+
+
+def test_a_given_name_and_a_surname_are_both_required() -> None:
+ person = _person({"he": "אהרן"}, P735="Q3", P734="Q2") # no surname written
+ assert native.renderings("Q1", person, _names("he", Q2="הלוי", Q3="אהרן"),
+ _STRATA["he-il"]) == []
+ person = _person({"ko": "김"}, P735="Q3", P734="Q2") # no given name written
+ assert native.renderings("Q1", person, _names("ko", Q2="김", Q3="기영"),
+ _STRATA["ko-kr"]) == []
+
+
+def test_a_name_in_a_variant_language_is_used() -> None:
+ # A zh-tw person may be labelled only in zh-hant.
+ row = _one(_person({"zh-hant": "李正中"}, P734="Q2", P735="Q3"),
+ _names("zh-hant", Q2="李", Q3="正中"), "zh-tw")
+ assert row["text"] == "李正中"
+
+
+def test_a_native_name_in_another_language_is_not_used() -> None:
+ # A ja P1559 on a Chinese stratum is not a Chinese name, even in Han.
+ person = _person({}, native_name=("李正中", "ja"), P734="Q2", P735="Q3")
+ assert native.renderings("Q1", person, _names("zh", Q2="李", Q3="正中"),
+ _STRATA["zh-tw"]) == []
+
+
+# -- feminine surnames ---------------------------------------------------------------
+
+@pytest.mark.parametrize(("language", "male", "female"), [
+ ("el", "Λελούδας", "Λελούδα"), ("el", "Γεωργιάδης", "Γεωργιάδου"),
+ ("el", "Παπαδόπουλος", "Παπαδοπούλου"), ("el", "Παπαδάκης", "Παπαδάκη"),
+ ("el", "Ευαγγελάτος", "Ευαγγελάτου"),
+ ("uk", "Шевченко", ""), ("uk", "Заньківський", "Заньківська"),
+ ("uk", "Полунін", "Полуніна"),
+ ("bg", "Марков", "Маркова"), ("bg", "Стоянски", "Стоянска"),
+ ("kk", "Тұрлыханов", "Тұрлыханова"),
+])
+def test_feminine_forms_by_language(language: str, male: str, female: str) -> None:
+ assert wikidata.feminine(male, native.LANGUAGES[language].feminine) == female
+
+
+@pytest.mark.parametrize("text", ["Тарас Шевченко", "Оксана Полунін"])
+def test_a_womans_surname_still_matches_as_its_item_spells_it(text: str) -> None:
+ # The feminine forms are added to the item's spellings, not put in
+ # their place: a surname with no feminine form (Шевченко), or one a
+ # woman writes as the item does, still matches.
+ given, surname = text.split()
+ row = _one(_person({"uk": text}, female=True, P734="Q2", P735="Q3"),
+ _names("uk", Q2=surname, Q3=given), "uk-ua")
+ assert row["fields"]["surname"] == surname
+
+
+def test_a_womans_greek_surname_matches_its_feminine_form() -> None:
+ names = _names("el", Q2="Λελούδας", Q3="Ντόρα")
+ woman = _person({"el": "Ντόρα Λελούδα"}, female=True, P734="Q2", P735="Q3")
+ assert _one(woman, names, "el-gr")["fields"]["surname"] == "Λελούδα"
+ man = _person({"el": "Ντόρα Λελούδα"}, P734="Q2", P735="Q3")
+ assert native.renderings("Q1", man, names, _STRATA["el-gr"]) == []
+
+
+def test_the_russian_default_is_unchanged() -> None:
+ assert wikidata.feminine("Достоевский") == "Достоевская"
+
+
+# -- the build --------------------------------------------------------------------
+
+def _stub_build(monkeypatch: pytest.MonkeyPatch, strata: tuple[Any, ...],
+ pooled: dict[str, list[str]]) -> None:
+ people = {q: _person({"ko": "김기영"}, P734="Q2", P735="Q3")
+ for qs in pooled.values() for q in qs}
+ if "Q11" in people:
+ people["Q11"]["claims"]["P244"] = [_claim("n82128473")]
+ names = _names("ko", Q2="김", Q3="기영")
+ monkeypatch.setattr(native, "STRATA", strata)
+ monkeypatch.setattr(native, "pool", lambda stratum, refresh: pooled[stratum.label])
+ monkeypatch.setattr(native, "entities", lambda ids, language, refresh:
+ {**{q: people[q] for q in ids if q in people},
+ **{q: names[q] for q in ids if q in names}})
+
+
+def test_build_takes_each_person_once_up_to_the_quota(
+ monkeypatch: pytest.MonkeyPatch) -> None:
+ first = native.Stratum("first", "Q884", "ko", 2, 3)
+ second = native.Stratum("second", "Q884", "ko", 2, 3)
+ _stub_build(monkeypatch, (first, second),
+ {"first": ["Q10", "Q11", "Q12"], "second": ["Q11", "Q13", "Q14"]})
+ rows, lccns = native.build(refresh=False)
+ taken = {lab: [r["file"] for r in rows if r["label"] == lab]
+ for lab in ("first", "second")}
+ assert taken == {"first": ["Q10", "Q11"], "second": ["Q13", "Q14"]}
+ assert lccns == {"Q11": "n82128473"}
+
+
+def test_build_stops_before_writing_when_a_stratum_falls_short(
+ monkeypatch: pytest.MonkeyPatch) -> None:
+ thin = native.Stratum("thin", "Q884", "ko", 5, 5, least=3)
+ _stub_build(monkeypatch, (thin,), {"thin": ["Q10", "Q11"]})
+ with pytest.raises(ValueError, match="thin 2/3"):
+ native.build(refresh=False)
+
+
+def test_a_missing_pooled_person_stops_the_build(monkeypatch: pytest.MonkeyPatch) -> None:
+ stratum = native.Stratum("s", "Q884", "ko", 1, 1)
+ _stub_build(monkeypatch, (stratum,), {"s": ["Q10"]})
+ monkeypatch.setattr(native, "entities", lambda ids, language, refresh:
+ {q: {"id": q, "missing": ""} for q in ids})
+ with pytest.raises(ValueError, match="s: WDQS pooled items .*missing: Q10"):
+ native.build(refresh=False)
+
+
+def test_a_deprecated_lccn_is_not_read() -> None:
+ person = {"claims": {"P244": [{**_claim("n1"), "rank": "deprecated"}, _claim("n2")]}}
+ assert native.lccn(person) == "n2"
+ assert native.lccn({"claims": {}}) is None
+
+
+def test_a_query_names_the_strata_label_language() -> None:
+ stratum = _STRATA["zh-cn"]
+ assert 'FILTER(LANG(?own) = "zh")' in native.query(stratum)
+ assert f"LIMIT {stratum.pool}" in native.query(stratum)
+
+
+# -- the network and the cache ------------------------------------------------
+
+def _serve(monkeypatch: pytest.MonkeyPatch, tmp_path: Path, body: bytes) -> list[str]:
+ # native imports build_wikidata_corpus by name, not as load_tool's copy
+ monkeypatch.setattr(native.wikidata.time, "sleep", lambda seconds: None)
+ return serve(monkeypatch, tmp_path, body)
+
+
+def _results(n: int) -> bytes:
+ return json.dumps({"results": {"bindings": [
+ {"item": {"value": f"http://www.wikidata.org/entity/Q{i}"}}
+ for i in range(n)]}}).encode()
+
+
+def test_a_query_matching_nothing_stops_the_build(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ _serve(monkeypatch, tmp_path, _results(0))
+ with pytest.raises(ValueError, match="ko-kr: the query matches nothing"):
+ native.pool(_STRATA["ko-kr"], refresh=False)
+
+
+def test_a_pool_short_of_its_size_stops_the_build_unless_it_is_the_whole(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ _serve(monkeypatch, tmp_path, _results(5))
+ with pytest.raises(ValueError, match="ko-kr: the query matched 5 people, fewer "
+ "than its pool of 300"):
+ native.pool(_STRATA["ko-kr"], refresh=False)
+ assert len(native.pool(_STRATA["th-th"], refresh=False)) == 5
+
+
+def test_a_stratum_marked_whole_whose_pool_fills_stops_the_build(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ # The population has outgrown the mark, which would otherwise go on
+ # excusing a short pool.
+ whole = native.Stratum("w", "Q869", "th", 1, 3, whole=True)
+ _serve(monkeypatch, tmp_path, _results(3))
+ with pytest.raises(ValueError, match="w: marked whole=True, but the query filled"):
+ native.pool(whole, refresh=False)
+
+
+def test_entities_asks_only_for_the_languages_labels(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ fetched = _serve(monkeypatch, tmp_path, b'{"entities": {"Q1": {"id": "Q1"}}}')
+ native.entities(["Q1"], "zh", refresh=False)
+ [url] = fetched
+ assert "languages=zh%7Czh-hans%7Czh-hant%7Czh-cn%7Czh-tw%7Czh-hk%7Cmul" in url
+
+
+def test_an_lc_record_is_cached_and_read_back(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ fetched = _serve(monkeypatch, tmp_path, _MARC.encode())
+ assert native.lc_variants("nr93008484", refresh=False) == ["הלוי, אהרן", "이 병기"]
+ assert native.lc_variants("nr93008484", refresh=False) == ["הלוי, אהרן", "이 병기"]
+ assert len(fetched) == 1
+
+
+def _fail(monkeypatch: pytest.MonkeyPatch, tmp_path: Path, code: int) -> None:
+ monkeypatch.setenv("NAMEPARSER_TOOLS_CACHE", str(tmp_path))
+
+ def urlopen(request: urllib.request.Request, timeout: int) -> None:
+ raise urllib.error.HTTPError(request.full_url, code, "x", {}, None) # type: ignore[arg-type]
+ monkeypatch.setattr(urllib.request, "urlopen", urlopen)
+
+
+def test_an_lccn_lc_no_longer_has_is_none_and_not_cached(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ _fail(monkeypatch, tmp_path, 404)
+ assert native.lc_variants("n0", refresh=False) is None
+ assert not list((tmp_path / "lc").iterdir())
+
+
+def test_any_other_lc_error_stops_the_check(
+ monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None:
+ _fail(monkeypatch, tmp_path, 503)
+ with pytest.raises(urllib.error.HTTPError) as caught:
+ native.lc_variants("n0", refresh=False)
+ caught.value.close() # unclosed, it warns on 3.14 and fails the run
+
+
+def test_the_lc_check_tallies_each_name_once(monkeypatch: pytest.MonkeyPatch,
+ capsys: pytest.CaptureFixture[str]) -> None:
+ rows = [{"file": q, "label": "he-il", "text": "אהרן הלוי",
+ "fields": {"given": "אהרן", "surname": "הלוי"}} for q in ("Q1", "Q2", "Q3")]
+ variants = {"n2": ["הלוי, אהרן"], "n3": ["אהרן, הלוי"]}
+ monkeypatch.setattr(native, "lc_variants", lambda lccn, refresh: variants[lccn])
+ native.lc_check(rows, {"Q2": "n2", "Q3": "n3"}, refresh=False)
+ out = capsys.readouterr().out
+ assert ("names 3, with an LCCN 2, no LC record 0, LC splits it 2, agree 1"
+ in out)
+ assert "1 split differently" in out and "Q3" in out
+
+
+def test_the_lc_check_counts_a_stale_lccn(monkeypatch: pytest.MonkeyPatch,
+ capsys: pytest.CaptureFixture[str]) -> None:
+ row = {"file": "Q1", "label": "he-il", "text": "אהרן הלוי",
+ "fields": {"given": "אהרן", "surname": "הלוי"}}
+ monkeypatch.setattr(native, "lc_variants", lambda lccn, refresh: None)
+ native.lc_check([row], {"Q1": "n0"}, refresh=False)
+ assert "no LC record 1, LC splits it 0" in capsys.readouterr().out
+
+
+# -- the LC cross-check ------------------------------------------------------------
+
+_MARC = """
+Haleṿi, Aharon
+הלוי, אהרן
+이 병기,
+1891-1968
+"""
+
+
+def test_an_lc_record_yields_its_variants() -> None:
+ assert native._lc_checked(_MARC, "x") == {"variants": ["הלוי, אהרן", "이 병기"]}
+ with pytest.raises(ValueError, match="not MARC XML"):
+ native._lc_checked("", "x")
+ with pytest.raises(ValueError, match="not a MARC record"):
+ native._lc_checked("", "x")
+
+
+@pytest.mark.parametrize(("text", "variants", "split"), [
+ ("אהרן הלוי", ["הלוי, אהרן"], ("הלוי", "אהרן")), # the comma
+ ("이병기", ["이병기", "이 병기"], ("이", "병기")), # a CJK space
+ ("李秉岐", ["李秉岐"], None), # unspaced: no split
+ ("אהרן הלוי", ["Haleṿi, Aharon"], None), # other letters
+ ("إبراهيم صالح", ["صالح، إبراهيم"], ("صالح", "إبراهيم")), # the Arabic comma
+ # the comma's words in the text's own order: LC's family still leads
+ ("إبراهيم صالح", ["إبراهيم، صالح"], ("إبراهيم", "صالح")),
+ # no comma, and the text is spaced: a space splits only unspaced CJK
+ ("إبراهيم صالح", ["إبراهيم صالح"], None),
+])
+def test_lc_splits_a_name_by_its_comma_or_a_cjk_space(
+ text: str, variants: list[str], split: tuple[str, str] | None) -> None:
+ assert native.lc_split({"text": text}, variants) == split
+
+
+# -- the committed files ---------------------------------------------------------------
+
+_ROWS = agreement.load_rows(agreement.NATIVE_FIELDS)
+
+
+def test_each_committed_stratum_holds_what_the_build_promises() -> None:
+ names = {label: {row["file"] for row in _ROWS if row["label"] == label}
+ for label in {row["label"] for row in _ROWS}}
+ assert set(names) == set(_STRATA)
+ for label, ids in names.items():
+ assert _STRATA[label].floor <= len(ids) <= _STRATA[label].quota, label
+ # one rendering per person, and one stratum
+ assert set(Counter(row["file"] for row in _ROWS).values()) == {1}
+
+
+def test_every_committed_text_is_in_its_strata_script() -> None:
+ assert not [row["text"] for row in _ROWS if not native.in_script(
+ row["text"], native.LANGUAGES[_STRATA[row["label"]].language].script)]
+
+
+def test_every_han_and_kana_stratum_is_scored_under_its_pack() -> None:
+ # Both ways: a zh or ja stratum missing from the scorer's NATIVE_LABELS
+ # would never be parsed with its pack, and nothing else would notice.
+ packs = {"zh": "ZH", "ja": "JA"}
+ assert agreement.NATIVE_LABELS == {s.label: packs[s.language]
+ for s in native.STRATA if s.language in packs}
+
+
+def test_a_committed_rendering_its_script_orders_has_no_shape() -> None:
+ assert not [row["text"] for row in _ROWS
+ if native.script_orders(row["text"]) and row["shape"] is not None]
diff --git a/tools/differential/README.md b/tools/differential/README.md
index d8f17a3a..56441cba 100644
--- a/tools/differential/README.md
+++ b/tools/differential/README.md
@@ -189,6 +189,7 @@ invocation shows it.
| `corpus_cldr.jsonl` | Unicode CLDR's person-name formatting test data at `release-48`: each fictional name's long, formal rendering in givenFirst, surnameFirst and sorting order, about 110 locales in native scripts, via `build_cldr_corpus.py` (2026-10-12); Unicode-3.0, notice in `cldr_LICENSE` | real-world name distributions: the names are written to fill every field, so full-house names are over-represented and plain two-word names under-represented |
| `corpus_gnd.jsonl` | the German National Library's authority file (GND, via lobid), real people who are deceased and have a Wikipedia article: each preferred name as cataloged (`Gogh, Vincent van`) and, outside family-first areas, a given-first rendering composed from its fields (a regnal name is composed only, `Johann II.`, without its German descriptor), sampled by shape and area via `build_gnd_corpus.py` (2026-10-16); CC0, credit in `gnd_LICENSE` | names as their bearers write them: German library romanization and German forms for historic figures, Latin script only, titles, credentials and nicknames kept out of the preferred name (a few slip into a `personalName`: `Imam Bonjol`), and the catalog's entry rules (not the bearer's culture) decide what counts as a surname |
| `corpus_wikidata.jsonl` | Wikidata, real public figures (deceased, or with at least 10 sitelinks) whose item states a second surname (P1950: Spain, Mexico, Colombia) or a patronymic (P5056: Russia, the Soviet Union, the Russian Empire, Iceland, Malaysia): each P1559 native-language name and own-language label whose every word aligns with exactly one stated part, via `build_wikidata_corpus.py` (2026-10-16); CC0, credit in `wikidata_LICENSE` | everything the strict alignment drops: short display forms without the second surname, nicknames, and names with an unrecorded part, so tidy names are over-represented; only those eight citizenships; no titles, credentials or suffixes |
+| `corpus_wikidata_native.jsonl` | Wikidata, real public figures (deceased, or with at least 10 sitelinks) with a name written in their own script: Hangul, Han and kana, Arabic (Syria, Egypt, Saudi Arabia, Iran), Hebrew, Georgian, Armenian, Greek, Cyrillic beyond Russian (Serbia, Bulgaria, Ukraine, Kazakhstan), Bengali, Devanagari and Thai, 20 strata sampled by country and language. Each person's first P1559 or own-language label whose every word, or every character in unspaced text, aligns with exactly one stated part, via `build_wikidata_native_corpus.py` (2026-10-16). CC0, credit in `wikidata_native_LICENSE` | everything the strict alignment drops, which in these scripts is most names: Arabic nasab chains (`بن` is no connective in Arabic script), `آل` family names and kunyas (most Arabic items state no family name), Chinese names whose given name has no item (most), Japanese names whose given-name item holds only a kana reading, and names whose parts are labelled only in Latin script (most Devanagari, Bengali and Thai items, so those strata are 10–25 names); transcriptions with the 间隔号; Urdu and Marathi entirely; no titles, credentials or suffixes |
| `corpus_conventions.jsonl` | invented names patterned on naming conventions the other corpora barely cover -- no family name, religious names, positional patronymics, honorifics after the name -- from the hand-written table in `conventions.py`, via `build_conventions_corpus.py` (#686) | real names, and every convention nobody has written a row for: about one row per convention, so it shows that a convention moved, not how often |
| `corpus_rules.jsonl` | every example in `docs/design/rules.md`, via `build_rules_corpus.py` (#414) | anything the rules doc has no example for |
| `corpus_shapes.jsonl` | shape-tagged rows of `tests/v2/cases.py`, via `build_shapes_corpus.py` (#468) | anything no one has tagged a row for |
@@ -416,16 +417,18 @@ data can.
and say why in the commit. Run it without `--record` for per-role agreement counts. Nothing is special-cased: an unnatural rendering or a modelling difference (CLDR's `さん` title is a suffix here) simply stays a recorded disagreement, which makes the record a measured worklist as well as a guard.
-A second view measures the locale packs (#672). `LOCALE_FILES` in `cldr_agreement.py` maps each CLDR file to the pack for its language (`zh`, `zh_Hant`, `yue`, `yue_Hans` → `ZH`; `ja` → `JA`; `ru` → `RU`; `tr`, `az` → `TR_AZ`); those renderings are parsed with `parser_for(pack)`, over the same `FAMILY_FIRST` base where CLDR's order is surnameFirst, and their disagreements go to `cldr_agreement_locales.json`, ratcheted per pack by the same test. The summary prints, per pack, how many of its renderings agree in every role under the default parser and under the pack, so a pack PR shows what it moved on its own language. A new pack adds its files to `LOCALE_FILES`, or its name to `NO_CLDR`; the test fails on a pack in neither. The modelling differences stay recorded here too: a pack is not meant to agree with CLDR where the models differ by design.
+A second view measures the locale packs (#672). `LOCALE_FILES` in `cldr_agreement.py` maps each CLDR file to the pack for its language (`zh`, `zh_Hant`, `yue`, `yue_Hans` → `ZH`; `ja` → `JA`; `ru` → `RU`; `tr`, `az` → `TR_AZ`); those renderings are parsed with `parser_for(pack)`, over the same `FAMILY_FIRST` base where CLDR's order is surnameFirst, and their disagreements go to `cldr_agreement_locales.json`, ratcheted per pack by the same test. The native-script Wikidata source's Han and kana strata are mapped by `NATIVE_LABELS` (`zh-cn`, `zh-tw` → `ZH`; `ja-jp` → `JA`), since their file is a QID that names no language, and the view parses them the same way into `wikidata_native_agreement_locales.json`. Each source's pack is read from its own rendering key (`locale_sources()`: CLDR's file, the native source's stratum), so a recorded rendering that is gone is still checked by its pack. The summary prints, per pack, how many of its renderings agree in every role under the default parser and under the pack, so a pack PR shows what it moved on its own language. A new pack adds its files to `LOCALE_FILES`, or its name to `NO_CLDR`; the test fails on a pack in neither. The modelling differences stay recorded here too: a pack is not meant to agree with CLDR where the models differ by design.
-**The GND source.** `build_gnd_corpus.py` writes the GND's name parts in CLDR's field vocabulary (`forename` → `given`, `prefix` → `surname-prefix` with a one-word `surname` as `surname-core`, any other family → `surname` whole, `counting` → `generation`, and a `personalName` -- a person entered under the whole name, with no surname -- as `given` alone, so the family is expected empty), so `cldr_agreement.py` compares `gnd_fields.jsonl` by the same rules and records its disagreements in `gnd_agreement.json`, ratcheted by the same test. The locale view reads CLDR only. A composed rendering says so (`composed: true`); where a particle is glued to the surname (`d'Arenberg`, `al-Ǧaʿfarī`) the composed line states the glued word as a whole `surname`, since the comparison matches fields word by word, and the index form, where the particle is a word of its own, keeps the split. A family with no `prefix`, or with a surname of several words, is stated whole for the same kind of reason: GND does not split a particle inside a surname (`Vélez de Guevara`, `Zuylen van Nijevelt`), so what it leaves unsplit means "not stated", not "no particle", and only `family` is compared there. Raw lobid responses are cached outside the tree, in a `gnd/` directory under `$NAMEPARSER_TOOLS_CACHE` (default `~/.cache/nameparser-tools`); `--refresh` fetches them again. The build stops before writing anything when a stratum falls below its floor, a query matches nothing, or a pool pages short, so a lobid change fails it rather than shrinking the corpus; `--record` prints, per source, how many changes of each kind it accepts.
+**The GND source.** `build_gnd_corpus.py` writes the GND's name parts in CLDR's field vocabulary (`forename` → `given`, `prefix` → `surname-prefix` with a one-word `surname` as `surname-core`, any other family → `surname` whole, `counting` → `generation`, and a `personalName` -- a person entered under the whole name, with no surname -- as `given` alone, so the family is expected empty), so `cldr_agreement.py` compares `gnd_fields.jsonl` by the same rules and records its disagreements in `gnd_agreement.json`, ratcheted by the same test. The locale view does not read it: no pack covers its names. A composed rendering says so (`composed: true`); where a particle is glued to the surname (`d'Arenberg`, `al-Ǧaʿfarī`) the composed line states the glued word as a whole `surname`, since the comparison matches fields word by word, and the index form, where the particle is a word of its own, keeps the split. A family with no `prefix`, or with a surname of several words, is stated whole for the same kind of reason: GND does not split a particle inside a surname (`Vélez de Guevara`, `Zuylen van Nijevelt`), so what it leaves unsplit means "not stated", not "no particle", and only `family` is compared there. Raw lobid responses are cached outside the tree, in a `gnd/` directory under `$NAMEPARSER_TOOLS_CACHE` (default `~/.cache/nameparser-tools`); `--refresh` fetches them again. The build stops before writing anything when a stratum falls below its floor, a query matches nothing, or a pool pages short, so a lobid change fails it rather than shrinking the corpus; `--record` prints, per source, how many changes of each kind it accepts.
-**Adding a source.** Map only what the source states. The comparison reads a missing field as a statement that the role is empty, so a field the source leaves unstated must be mapped so that its role is not compared at all: #688's first build wrote a prefixless GND surname as `surname-core`, and 19 renderings recorded the parser's `de` in `Vélez de Guevara` as a disagreement no fix could clear; its fix then missed the same gap inside a several-word core after a prefix (`Zuylen van Nijevelt, Julius van`), so test each way a field can be left unstated, not the one that was reported. A field must also occur in its rendering's text, word by word (`test_every_committed_field_occurs_in_its_rendering`), or it is expected empty too. A build must fail rather than shrink: give every stratum a floor, check a response's shape before caching it (an API error arrives as HTTP 200), and raise on a query that matches nothing. But tell a broken fetch from a fact about the data: #689's first fix raised on any item Wikidata reported missing, so one deleted name-part item anywhere in a pool would have stopped every rebuild, with `--refresh` advice that could not help; a missing part now only refuses the person stating it. The cache (`cache_dir`, `cached_json`, which checks a response before caching it and writes atomically) and the two output files (`corpus_lines`, `fields_lines`, `write_corpus`) are shared in `corpus_build.py`; a new builder imports them rather than copying another builder's.
+**Adding a source.** Map only what the source states. The comparison reads a missing field as a statement that the role is empty, so a field the source leaves unstated must be mapped so that its role is not compared at all: #688's first build wrote a prefixless GND surname as `surname-core`, and 19 renderings recorded the parser's `de` in `Vélez de Guevara` as a disagreement no fix could clear; its fix then missed the same gap inside a several-word core after a prefix (`Zuylen van Nijevelt, Julius van`), so test each way a field can be left unstated, not the one that was reported. A field must also occur in its rendering's text, word by word (`test_every_committed_field_occurs_in_its_rendering`), or it is expected empty too. A build must fail rather than shrink: give every stratum a floor, check a response's shape before caching it (an API error arrives as HTTP 200), and raise on a query that matches nothing. But tell a broken fetch from a fact about the data: #689's first fix raised on any item Wikidata reported missing, so one deleted name-part item anywhere in a pool would have stopped every rebuild, with `--refresh` advice that could not help; a missing part now only refuses the person stating it. A source sampled by script must check each text's script itself: Wikidata's `mul` labels are Latin, and the native-script build's first probe kept `Anushka Sharma` as a Hindi name. And give each refusal a test row that fails for the reason it names, not for another: that build's review found an all-Hebrew text standing for "a Hebrew point is not Arabic", which passed with the mark check deleted. A builder change has one oracle the suite cannot run, since it needs the local cache: rebuild offline from `$NAMEPARSER_TOOLS_CACHE` and diff the result against the committed fields file. The same review's mutation pass scored every surviving mutation that way, and four of them would have moved committed rows or the figures quoted from them with every test passing. The cache (`cache_dir`, `cached_json`, which checks a response before caching it and writes atomically) and the two output files (`corpus_lines`, `fields_lines`, `write_corpus`) are shared in `corpus_build.py`; a new builder imports them rather than copying another builder's.
**The Wikidata source.** `build_wikidata_corpus.py` exists for the two fields no other open source labels, and states them in `wikidata_fields.jsonl` as `surname2` (P1950, CLDR's own field name) and `patronymic` (P5056, which CLDR has no field for), beside `given` (P735) and `surname` (P734); its disagreements are in `wikidata_agreement.json`. A person's written names are token-aligned to the parts rather than composed from them: a text is kept only where every word is claimed by exactly one part, a connective (`bin`, `i`, `y`) joining the part after it, and a woman's Russian surname may match the feminine form of its item's label. ParsedName has no `surname2` or `patronymic` attribute, so `cldr_agreement.py` lists them in `PENDING_ROLES` and scores them inside `family` and `given_names` respectively -- a patronymic is not a family name, so `Vigdís Finnbogadóttir` expects the family empty -- and also scores each on its own the day ParsedName gains an attribute of that name (whether the merged role then drops it is for the 3.0 design). Until then the summary says how many renderings state each. CLDR's `surname2` is in the same position. A stratum that falls below its floor, a query that matches nothing, and a response that is not what was asked for each stop the build before anything is written; Malaysia's floor is set below its quota because only 17 Malaysian public figures with a P5056 statement matched the query on 2026-10-16, and 9 of them aligned. Raw responses are cached outside the tree, in a `wikidata/` directory under `$NAMEPARSER_TOOLS_CACHE` (default `~/.cache/nameparser-tools`); `--refresh` fetches them again.
+**The native-script Wikidata source.** `build_wikidata_native_corpus.py` exists because every other real-name corpus is Latin script, apart from Wikidata's Russian patronymics, so the script-conditional readings (family-first Han, Hangul and kana; Korean surname segmentation) had been tested only against CLDR's invented names. No text holds an honorific, so the corpus does not exercise the CJK honorific peel; it shows only that the peel leaves plain names alone. It reuses `build_wikidata_corpus.py`'s fetches and token alignment and adds the following. Strata are a country and a language, not a property, and the query keeps people with a label in that language. A text is used only if every letter and combining mark is in the stratum's script (`mul` labels are Latin: `Anushka Sharma` would otherwise pass as a Hindi name). Unspaced text is aligned by character under the same exactly-one-part rule, and nothing is inferred: a Chinese item stating only its surname is left out rather than reading the rest of the text as the given name. Feminine surname forms are kept per language (Greek `Λελούδα` for `Λελούδας`, Bulgarian and Kazakh `-ова`, Ukrainian `-ська`), so the filter does not drop women. A Han, kana or Hangul text carries no shape, since the parser reads those scripts family-first by itself and that is what is being tested; pure katakana keeps the order it is written in, as the parser does. Each person gives one rendering, P1559 first, and its disagreements are in `wikidata_native_agreement.json`. On 2026-10-16 every spaced stratum agreed in every role except seven Arabic surnames of two words (`عبد العزيز`, `عز الدين`, `شكر الله`, `ذو الغنى`: the parser reads the first word as a middle name), a Persian double surname, and a Bulgarian name whose two stated family names include what is probably the father's name (`Динко Цветков Дерменджиев`); Hangul agreed on 120 of 120; Han read by default disagrees on every unspaced Chinese name and 49 of 60 Japanese ones, while the locale view reads 74/80 under `ZH` (six surnames it does not segment: `詹`, `卫`, `柯`, `茅`, `华`, `文`) and 59/60 under `JA`. Wikidata's P734 is a convention, not a fact, where the culture has none: an Arabic nisba (`البغدادي`) is entered as a family name, and the corpus scores it as one. `--lc-check` compares each name with the native-script variants of its Library of Congress record (P244), splitting by LC's comma or, in CJK, a space, and counts an LCCN LC no longer has; it runs after the build has written its files, and adds nothing to them and filters nothing from them. A pool that comes back shorter than its size stops the build unless its stratum is marked as the whole population (Thailand, Kazakhstan, Bangladesh), so a query that starts matching less cannot drift the sample unseen; a stratum so marked whose pool comes back full stops it too, since the mark is then stale. On 2026-10-16, 99 of the 910 names had an LC variant that splits them, and 96 agreed; the other three are Arabic names whose LC record names a person written the other way round (`Ibrāhīm, Ṣāliḥ` for Wikidata's `إبراهيم صالح`), so the P244 link or the order is suspect, not the split. LC writes most Han variants unspaced, so it confirms almost no Chinese or Japanese split. The 907 corpus lines (904 names new to the snapshot; three Ukrainian names were already in `corpus_wikidata.jsonl`) cost about 2.9 s in the corpus-reading test modules and about 0.6 s in the agreement tests, measured locally without coverage on 2026-10-16. Raw responses are cached under `$NAMEPARSER_TOOLS_CACHE`, in `wikidata/` and `lc/`.
+
**The conventions source.** `conventions_fields.jsonl` states the parts of the hand-written conventions corpus, from the `fields` of `conventions.py`'s rows, and its disagreements are in `conventions_agreement.json`. The names are invented, so the record is a worklist of conventions rather than a measure of real data: a patronymic read as a family name (`Hassan bin Yusof`), a title read as a given name (`U Kyaw Win`). It uses the Wikidata source's `patronymic`, written with its connective (`bin Yusof`), and adds `honorific`, a word of address written after the name (`Bey`, `ssi`, `san`), scored inside `suffix` as nameparser reads `さん` (Derek, 2026-10-16). A row no field can state honestly is left out of the fields file and stays in the corpus, which the snapshot still watches: the kunya `Abu Karim`, the `-né` married form `Szabóné Kiss Éva`, and `arap`/`ole`/`wa`, whose last word is a parent's name or a family name depending on the family. Such a row says why in its `unstated`, and the builder refuses a row with neither `fields` nor `unstated`, so this fields file states a subset of its corpus without a row's fields being lost unseen. Being hand-written, it is also held to two checks the generated sources pass anyway: its fields partition each text word for word (`test_the_fields_partition_their_rendering`), and the scorer raises on a field name no rule reads, for every source.
-`--record` rewrites every record. `JA` needs the `ja` extra (`namedivider-python`), which only CI's `ja-extra` job installs: without it the `JA` ratchet skips, the summary says `not measured`, and `--record` keeps the recorded `ja` entries unchanged. Re-record with the extra installed (`uv sync --group dev --extra ja`) when a change moves Japanese.
+`--record` rewrites every record. `JA` needs the `ja` extra (`namedivider-python`), which only CI's `ja-extra` job installs: without it the `JA` ratchet skips, the summary says `not measured`, and `--record` keeps the recorded `JA` entries of both locale records unchanged. Re-record with the extra installed (`uv sync --group dev --extra ja`) when a change moves Japanese.
-`_CORPUS_NAMES` in `tests/v2/_differential_fixtures.py` leaves the file out (2026-10-12): the tests reading it carry counts measured over the names the other corpora held. `corpus_gnd.jsonl` and `corpus_wikidata.jsonl` stay in it (2026-10-16): the counts those tests carry are floors and dated snapshots, which a larger corpus cannot falsify, and their invariants now walk both files' names too. A release figure counts GND's moved names in, its composed renderings included, since the names are real; AGENTS.md's rule of counting out names only `corpus_cldr.jsonl` holds stays CLDR's alone (Derek, 2026-10-16). Wikidata's moved names count in under the same rule, which singles out CLDR alone; they are real and written, not composed. `differential_corpus()` in `tests/v2/conftest.py`, which feeds the property tests, globs `corpus*.jsonl`, so it reads CLDR (since #652), GND and Wikidata, and the decomposed-twin test walks all their names.
+`_CORPUS_NAMES` in `tests/v2/_differential_fixtures.py` leaves the file out (2026-10-12): the tests reading it carry counts measured over the names the other corpora held. `corpus_gnd.jsonl`, `corpus_wikidata.jsonl` and `corpus_wikidata_native.jsonl` stay in it (2026-10-16): the counts those tests carry are floors and dated snapshots, which a larger corpus cannot falsify, and their invariants now walk all three files' names too. A release figure counts GND's moved names in, its composed renderings included, since the names are real; AGENTS.md's rule of counting out names only `corpus_cldr.jsonl` holds stays CLDR's alone (Derek, 2026-10-16). Wikidata's moved names, native-script ones included, count in under the same rule, which singles out CLDR alone; they are real and written, not composed. `differential_corpus()` in `tests/v2/conftest.py`, which feeds the property tests, globs `corpus*.jsonl`, so it reads CLDR (since #652), GND and both Wikidata files, and the decomposed-twin test walks all their names.
diff --git a/tools/differential/build_wikidata_corpus.py b/tools/differential/build_wikidata_corpus.py
index c0c9d7dd..daafccd5 100644
--- a/tools/differential/build_wikidata_corpus.py
+++ b/tools/differential/build_wikidata_corpus.py
@@ -231,16 +231,22 @@ def pool(stratum: Stratum, refresh: bool) -> list[str]:
return qids
-def entities(ids: Iterable[str], props: str, refresh: bool) -> dict[str, Any]:
+def entities(ids: Iterable[str], props: str, refresh: bool,
+ languages: Iterable[str] = ()) -> dict[str, Any]:
"""Each requested item, keyed by the id asked for (a redirected item
comes back under that id, holding its target; a deleted one, marked
- `missing`). Raises on an id the response leaves out."""
+ `missing`). Raises on an id the response leaves out. `languages`,
+ when given, limits the labels fetched to those languages: a famous
+ person's item carries hundreds, and the cache holds every one."""
ids = sorted(set(ids))
+ languages = tuple(languages) # read once per batch: an iterator would run dry
out: dict[str, Any] = {}
for start in range(0, len(ids), BATCH):
- url = API + "?" + urllib.parse.urlencode({
- "action": "wbgetentities", "ids": "|".join(ids[start:start + BATCH]),
- "props": props, "format": "json"})
+ query = {"action": "wbgetentities", "ids": "|".join(ids[start:start + BATCH]),
+ "props": props, "format": "json"}
+ if languages:
+ query["languages"] = "|".join(languages)
+ url = API + "?" + urllib.parse.urlencode(query)
out.update(_fetch(url, None, refresh, "entities")["entities"])
absent = sorted(i for i in ids if i not in out)
if absent:
@@ -283,9 +289,12 @@ def spellings(part: dict[str, Any], languages: Iterable[str]) -> set[str]:
("ын", "ына"))
-def feminine(surname: str) -> str:
- """The feminine form of a masculine Russian surname, or ''."""
- for male, female in _FEMININE:
+def feminine(surname: str,
+ endings: tuple[tuple[str, str], ...] = _FEMININE) -> str:
+ """The feminine form of a masculine surname, or '': Russian by
+ default, or by another language's table of (masculine, feminine)
+ endings, tried in order, so a longer ending goes first."""
+ for male, female in endings:
if surname.endswith(male):
return surname[: -len(male)] + female
return ""
@@ -315,22 +324,41 @@ def _widest(spans: set[tuple[int, int]]) -> set[tuple[int, int]]:
if not any(a <= i and j <= b and (a, b) != (i, j) for a, b in spans)}
-def align(text: str, parts: list[tuple[str, set[str]]]) -> dict[str, list[int]] | None:
- """Each field's word positions in `text`, or None when the text is
- not covered by exactly one part per word. `parts` holds one
- (field, spellings) entry per statement."""
- tokens = text.split()
- words = [_word(t) for t in tokens]
+def claim(found: list[tuple[str, set[tuple[int, int]]]]) -> dict[int, str] | None:
+ """The field each position is claimed by, from each part's (field,
+ spans): a part claims its widest span, or None when it matches in two
+ places or two parts claim one position. Positions are words or, for
+ an unspaced text, characters; coverage is the caller's to check."""
claimed: dict[int, str] = {}
- for field, names in parts:
- widest = _widest(_spans(tokens, words, names))
+ for field, spans in found:
+ widest = _widest(spans)
if len(widest) > 1:
return None # the part matches in two places
for i, j in widest:
for k in range(i, j):
if k in claimed:
- return None # two parts claim one word
+ return None # two parts claim one position
claimed[k] = field
+ return claimed
+
+
+def by_field(claimed: dict[int, str]) -> dict[str, list[int]]:
+ """claim()'s positions, grouped by field in text order."""
+ out: dict[str, list[int]] = {}
+ for k in sorted(claimed):
+ out.setdefault(claimed[k], []).append(k)
+ return out
+
+
+def align(text: str, parts: list[tuple[str, set[str]]]) -> dict[str, list[int]] | None:
+ """Each field's word positions in `text`, or None when the text is
+ not covered by exactly one part per word. `parts` holds one
+ (field, spellings) entry per statement."""
+ tokens = text.split()
+ words = [_word(t) for t in tokens]
+ claimed = claim([(field, _spans(tokens, words, names)) for field, names in parts])
+ if claimed is None:
+ return None
# Right to left, so a run of connectives chains to the part after it;
# tokens[k], not words[k], since a connective carrying a comma joins nothing.
for k in range(len(words) - 1, -1, -1):
@@ -339,10 +367,7 @@ def align(text: str, parts: list[tuple[str, set[str]]]) -> dict[str, list[int]]
claimed[k] = claimed[k + 1]
if len(claimed) != len(words):
return None
- out: dict[str, list[int]] = {}
- for k in sorted(claimed):
- out.setdefault(claimed[k], []).append(k)
- return out
+ return by_field(claimed)
def _order(text: str, fields: dict[str, list[int]]) -> tuple[str, int | None]:
diff --git a/tools/differential/build_wikidata_native_corpus.py b/tools/differential/build_wikidata_native_corpus.py
new file mode 100644
index 00000000..36813252
--- /dev/null
+++ b/tools/differential/build_wikidata_native_corpus.py
@@ -0,0 +1,523 @@
+"""Regenerate the native-script Wikidata corpus: real names in their own scripts.
+
+A corpus with its own provenance (the roster, with each file's source and
+blind spot, is the table in tools/differential/README.md). Every other
+real-name corpus is Latin script but for Wikidata's Russian patronymics,
+and CLDR's native-script names are fictional, so the parser's
+script-conditional readings -- family-first order for Han, Hangul and
+kana, Korean surname segmentation -- had been tested against no real
+name. It holds no honorific, so it does not exercise the CJK honorific
+peel; it shows only that the peel leaves plain names alone. This corpus holds real names as Wikidata writes
+them in Arabic, Hebrew, Devanagari, Bengali, Thai, Greek, Georgian,
+Armenian, Hangul, Han and kana, and Cyrillic beyond Russian. Wikidata is
+CC0.
+
+ uv run python tools/differential/build_wikidata_native_corpus.py
+ uv run python tools/differential/build_wikidata_native_corpus.py --refresh
+ uv run python tools/differential/build_wikidata_native_corpus.py --lc-check
+
+Writes three files beside this script, always together:
+
+- corpus_wikidata_native.jsonl -- one line per distinct (rendering,
+ shape), read by snapshot.py like every other corpus.
+- wikidata_native_fields.jsonl -- one line per rendering, in
+ build_wikidata_corpus.py's field vocabulary (`given`, `surname`,
+ `patronymic`), scored by cldr_agreement.py, which also scores the
+ Han and kana strata under their locale packs (its NATIVE_LABELS).
+- wikidata_native_LICENSE -- the CC0 statement and the source credit.
+
+The machinery is build_wikidata_corpus.py's, imported: the cache under
+$NAMEPARSER_TOOLS_CACHE/wikidata, the fetches, statements() and
+spellings(), and the token alignment, which keeps a written name only
+where every word is claimed by exactly one stated part (P735 given,
+P734 surname, P5056 patronymic). What this builder adds:
+
+- Selection by script, not by property. A stratum is one country of
+ citizenship and one language; its query takes public figures --
+ deceased, or with at least MIN_SITELINKS sitelinks -- who state a given
+ or family name and carry a label in that language, in MD5 order. A
+ text (the person's P1559 in that language, or their label in it) is
+ used only if every letter and combining mark in it is in the
+ stratum's script (digits and punctuation are not asked): `mul`
+ labels are Latin, and a Latin text would pass as a Hindi name.
+- Unspaced text is aligned by character. A Han, kana or Hangul text
+ with no space (most of them) is aligned with the same rule over its
+ characters: each part's widest occurrence must be its only one, no
+ two parts may claim a character, and every character must be
+ claimed. No part is inferred: a Chinese item stating only P734 (most
+ do) leaves its given name unstated, and the person is not used,
+ rather than reading the rest of the text as the given name.
+- Feminine surnames, per language. A woman's surname may be written in
+ a feminine form of its item's label (Greek `Λελούδα` for `Λελούδας`,
+ Bulgarian `-ова`, Ukrainian `-ська`); without these the filter would
+ drop women and the sample would skew male. A wrong form costs
+ nothing: it matches no word, and the name falls out as before.
+- The script decides the order. A Han, kana or Hangul text carries no
+ shape: the parser reads those scripts family-first by itself, which
+ is what the corpus is for. Pure katakana, which the parser leaves to
+ the declared order, and any other text are ordered by where the
+ surname stands, as build_wikidata_corpus.py orders them.
+
+A stratum that falls below its floor stops the build before anything is
+written, as does a query matching nothing or a response that is not what
+was asked for. A stratum's count says what was sampled, not how common
+the shape is. Its pool is sized from the yield measured on 2026-10-16.
+Where the yield was thin (under about two and a half times the quota),
+or the pool is the whole population (Thailand, Kazakhstan, Bangladesh),
+the floor is set below the quota, leaving a margin a re-pool may lose.
+A pool short of its size stops the build unless the stratum is marked
+as its whole population, and so does a stratum so marked whose pool
+comes back full, since its population has then outgrown the mark.
+
+--lc-check compares each name, where its item states a Library of
+Congress authority id (P244), with the native-script variants (MARC 400
+$a) of that LC record, and prints per stratum how many LC confirms and
+which it splits differently. LC is a witness, never a source: the check
+runs after the build has written its files, and adds nothing to them and
+filters nothing from them. LC's split is its comma (`הלוי,
+אהרן`) or, in CJK, a space (`이 병기`); most Han variants are written
+unspaced and give no split. Records are cached under
+$NAMEPARSER_TOOLS_CACHE/lc; an LCCN LC no longer has (HTTP 404) is
+counted as such and not cached.
+
+Blind to: everything the strict filter drops. Survivors are tidy names
+whose every word has a Wikidata item labelled in the script. Arabic
+nasab chains never align, since `بن` is not a connective in Arabic
+script, and `آل` family names and kunyas are missing because most
+Arabic items state no family name, so the Arabic rows are mostly
+two-word modern names; Chinese rows are names whose given name has an
+item, a minority; most Japanese items are refused because the
+given-name item holds only a kana reading; Devanagari, Bengali and Thai items are
+mostly labelled in Latin script only, so those strata are small. A
+transcribed foreign name written with the 间隔号 (·) never aligns.
+Urdu and Marathi are left out: 8 and 5 names of 600 aligned
+(2026-10-16). No title, credential or suffix is in any text, and
+Wikidata's P734 is a convention, not a fact, where a culture has no
+family name (an Arabic nisba such as `البغدادي` is entered as one).
+"""
+from __future__ import annotations
+
+import argparse
+import sys
+import unicodedata
+import urllib.error
+import urllib.parse
+import urllib.request
+import xml.etree.ElementTree as ET
+from collections import Counter
+from pathlib import Path
+from typing import Any, NamedTuple
+
+# The shared modules, found by putting this directory on sys.path: see
+# corpus_build's docstring for why.
+_HERE = str(Path(__file__).resolve().parent)
+if _HERE not in sys.path:
+ sys.path.append(_HERE)
+
+import build_wikidata_corpus as wikidata # noqa: E402
+import corpus_build # noqa: E402
+from corpus_build import corpus_lines, fields_lines # noqa: E402,F401
+from build_wikidata_corpus import align, statements # noqa: E402
+
+HERE = Path(__file__).resolve().parent
+CORPUS = HERE / "corpus_wikidata_native.jsonl"
+FIELDS = HERE / "wikidata_native_fields.jsonl"
+LICENSE = HERE / "wikidata_native_LICENSE"
+LC_RECORD = "https://id.loc.gov/authorities/names/{}.marcxml.xml"
+MARC = "{http://www.loc.gov/MARC21/slim}"
+#: The parts a native-script name is aligned to. P1950 is Spanish only.
+PARTS = {"P735": "given", "P734": "surname", "P5056": "patronymic"}
+
+#: Feminine surname endings, longest first, by language.
+_GREEK = (("όπουλος", "οπούλου"), ("ίδης", "ίδου"), ("άδης", "άδου"),
+ ("άκης", "άκη"), ("ής", "ή"), ("ης", "η"), ("άς", "ά"), ("ας", "α"),
+ ("ός", "ού"), ("ος", "ου"))
+_SLAVIC = (("ов", "ова"), ("ев", "ева"), ("ёв", "ёва"), ("ин", "ина"))
+_BULGARIAN = (("ски", "ска"), ("цки", "цка"), *_SLAVIC)
+_UKRAINIAN = (("ський", "ська"), ("цький", "цька"), ("ін", "іна"), *_SLAVIC)
+
+
+class Language(NamedTuple):
+ #: Label languages a text may come from (P1559 is matched by prefix).
+ labels: tuple[str, ...]
+ #: Unicode character-name prefixes every letter and combining mark of
+ #: a text must have.
+ script: tuple[str, ...]
+ feminine: tuple[tuple[str, str], ...] = ()
+
+
+_HAN = ("CJK UNIFIED", "CJK COMPATIBILITY", "IDEOGRAPHIC")
+#: Scripts the parser reads family-first by itself (Policy.script_orders):
+#: a text in them carries no shape -- unless it is pure katakana, which
+#: the parser leaves to the declared order (a transcribed foreign name).
+_SELF_ORDERED = (*_HAN, "HANGUL", "HIRAGANA", "KATAKANA")
+LANGUAGES = {
+ "ar": Language(("ar",), ("ARABIC",)),
+ "fa": Language(("fa",), ("ARABIC",)),
+ "he": Language(("he",), ("HEBREW",)),
+ "hi": Language(("hi",), ("DEVANAGARI",)),
+ "bn": Language(("bn",), ("BENGALI",)),
+ "th": Language(("th",), ("THAI",)),
+ "el": Language(("el",), ("GREEK",), _GREEK),
+ "ka": Language(("ka",), ("GEORGIAN",)),
+ "hy": Language(("hy",), ("ARMENIAN",)),
+ "ko": Language(("ko",), ("HANGUL",)),
+ "ja": Language(("ja",), (*_HAN, "HIRAGANA", "KATAKANA")),
+ "zh": Language(("zh", "zh-hans", "zh-hant", "zh-cn", "zh-tw", "zh-hk"), _HAN),
+ "uk": Language(("uk",), ("CYRILLIC",), _UKRAINIAN),
+ "bg": Language(("bg",), ("CYRILLIC",), _BULGARIAN),
+ "sr": Language(("sr", "sr-ec"), ("CYRILLIC",)),
+ "kk": Language(("kk", "kk-cyrl"), ("CYRILLIC",), _SLAVIC),
+}
+
+
+class Stratum(NamedTuple):
+ label: str
+ country: str # Wikidata item for the country of citizenship (P27)
+ language: str # a LANGUAGES key
+ quota: int
+ #: How many people the query takes, sized from the yield measured on
+ #: 2026-10-16.
+ pool: int
+ #: The fewest names the build accepts; below it, it stops. Set below
+ #: the quota where the yield is thin enough that a re-pool could
+ #: fall short, or the pool is the whole population.
+ least: int | None = None
+ #: Whether the query's whole population is smaller than `pool`. A
+ #: pool short of `pool` stops the build unless this is set: a query
+ #: that suddenly matches less would otherwise drift the sample unseen.
+ whole: bool = False
+
+ @property
+ def floor(self) -> int:
+ return self.quota if self.least is None else self.least
+
+
+# The yields in the comments are names kept of 600 pooled, 2026-10-16,
+# unless the comment gives another denominator.
+STRATA = (
+ Stratum("ko-kr", "Q884", "ko", 120, 300), # 405
+ Stratum("ka-ge", "Q230", "ka", 60, 150), # 402
+ Stratum("sr-rs", "Q403", "sr", 60, 300), # 192
+ Stratum("bg-bg", "Q219", "bg", 60, 300), # 165
+ Stratum("he-il", "Q801", "he", 60, 400), # 144
+ Stratum("ar-sy", "Q858", "ar", 60, 400), # 145
+ Stratum("ar-eg", "Q79", "ar", 60, 450), # 131
+ Stratum("ar-sa", "Q851", "ar", 30, 600, least=25), # 61
+ Stratum("hy-am", "Q399", "hy", 60, 500), # 106
+ Stratum("el-gr", "Q41", "el", 60, 600), # 84, before feminine forms
+ Stratum("ja-jp", "Q17", "ja", 60, 700), # 85
+ Stratum("zh-cn", "Q148", "zh", 50, 800), # 61
+ Stratum("zh-tw", "Q865", "zh", 30, 700, least=25), # 41
+ Stratum("fa-ir", "Q794", "fa", 30, 600, least=25), # 49
+ Stratum("uk-ua", "Q212", "uk", 30, 900, least=25), # 38, before feminine forms
+ Stratum("bn-in", "Q668", "bn", 25, 900, least=20), # 29
+ Stratum("hi-in", "Q668", "hi", 15, 1000, least=12), # 21
+ # The pools below are the whole population on 2026-10-16.
+ Stratum("bn-bd", "Q902", "bn", 15, 600, least=12, whole=True), # 26 of 563
+ Stratum("kk-kz", "Q232", "kk", 15, 600, least=12, whole=True), # 22 of 491
+ Stratum("th-th", "Q869", "th", 10, 600, least=8, whole=True), # 13 of 224
+)
+
+LICENSE_TEXT = """\
+corpus_wikidata_native.jsonl and wikidata_native_fields.jsonl are derived
+from Wikidata (https://www.wikidata.org), read through the Wikidata Query
+Service and the wbgetentities API, and carry Wikidata's license.
+
+Wikidata states that "All structured data (i.e. the main, Property,
+Lexeme, and EntitySchema namespaces) is released into the public
+domain".
+https://www.wikidata.org/wiki/Wikidata:Licensing
+
+CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/
+
+No attribution is required; this file credits the source anyway.
+Source: Wikidata, Wikimedia Foundation. Each line of
+wikidata_native_fields.jsonl names its item's QID, resolvable at
+https://www.wikidata.org/wiki/. Only public figures are sampled
+(deceased, or with at least 10 sitelinks), and only name strings and
+QIDs are kept.
+"""
+
+
+def query(stratum: Stratum) -> str:
+ """The stratum's WDQS query: its public figures with a stated given or
+ family name and a label in its language, in MD5 order."""
+ return f"""SELECT ?item WHERE {{
+ ?item wdt:P31 wd:Q5; wdt:P27 wd:{stratum.country}; wdt:P735|wdt:P734 ?part;
+ rdfs:label ?own; wikibase:sitelinks ?links.
+ FILTER(LANG(?own) = "{LANGUAGES[stratum.language].labels[0]}")
+ FILTER(?links >= {wikidata.MIN_SITELINKS} || EXISTS {{ ?item wdt:P570 ?died }})
+}} GROUP BY ?item ORDER BY MD5(STR(?item)) LIMIT {stratum.pool}"""
+
+
+def pool(stratum: Stratum, refresh: bool) -> list[str]:
+ """The stratum's QIDs in MD5 order; raises on a query matching
+ nothing, since that means the query or Wikidata changed."""
+ data = urllib.parse.urlencode({"query": query(stratum), "format": "json"}).encode()
+ result = wikidata._fetch(wikidata.SPARQL, data, refresh, "results")
+ qids = [b["item"]["value"].rsplit("/", 1)[1] for b in result["results"]["bindings"]]
+ if not qids:
+ raise ValueError(f"{stratum.label}: the query matches nothing; has a "
+ f"property or item changed?\n{query(stratum)}")
+ if len(qids) < stratum.pool and not stratum.whole:
+ raise ValueError(f"{stratum.label}: the query matched {len(qids)} people, "
+ f"fewer than its pool of {stratum.pool}; if that is now "
+ "the whole population, mark the stratum whole=True")
+ if len(qids) == stratum.pool and stratum.whole:
+ raise ValueError(f"{stratum.label}: marked whole=True, but the query filled "
+ f"its pool of {stratum.pool}; drop whole=True")
+ return qids
+
+
+def entities(ids: list[str], language: str, refresh: bool) -> dict[str, Any]:
+ """wbgetentities for `ids`, with labels in the language's label
+ languages and `mul` only."""
+ return wikidata.entities(ids, "labels|claims", refresh,
+ (*LANGUAGES[language].labels, "mul"))
+
+
+def in_script(text: str, script: tuple[str, ...]) -> bool:
+ """Whether every letter and mark of `text` is in the script (named by
+ Unicode character-name prefixes); spaces, punctuation and joiners are
+ not asked. A text with no letter is in no script."""
+ letters = [ch for ch in text
+ if ch.isalpha() or unicodedata.category(ch).startswith("M")]
+ return bool(letters) and all(unicodedata.name(ch, "").startswith(script)
+ for ch in letters)
+
+
+def align_chars(text: str,
+ parts: list[tuple[str, set[str]]]) -> dict[str, list[int]] | None:
+ """align() for a text with no space: each field's character positions,
+ or None unless every character is claimed by exactly one part, each
+ part matching (at its widest spelling) in one place only."""
+ def spans(names: set[str]) -> set[tuple[int, int]]:
+ found: set[tuple[int, int]] = set()
+ for name in names:
+ name = "".join(name.split())
+ start = text.find(name) if name else -1
+ while start != -1:
+ found.add((start, start + len(name)))
+ start = text.find(name, start + 1)
+ return found
+ claimed = wikidata.claim([(field, spans(names)) for field, names in parts])
+ if claimed is None or len(claimed) != len(text):
+ return None
+ return wikidata.by_field(claimed)
+
+
+def script_orders(text: str) -> bool:
+ """Whether the parser reads `text` family-first by its script alone:
+ Han, kana or Hangul, but not pure katakana."""
+ return in_script(text, _SELF_ORDERED) and not in_script(text, ("KATAKANA",))
+
+
+def _texts(person: dict[str, Any], language: Language) -> list[tuple[str, str]]:
+ """The person's written names in the language that are in its script,
+ P1559 first, each as (text, its language), whitespace-normalized and
+ deduplicated."""
+ found = [(text, lang) for text, lang in statements(person, "P1559")
+ if lang.split("-")[0] == language.labels[0].split("-")[0]]
+ found += [(wikidata._label(person, lang), lang) for lang in language.labels]
+ out: dict[str, str] = {}
+ for text, lang in found:
+ text = " ".join(text.split())
+ if text and text not in out and in_script(text, language.script):
+ out[text] = lang
+ return list(out.items())
+
+
+def renderings(qid: str, person: dict[str, Any], names: dict[str, Any],
+ stratum: Stratum) -> list[dict[str, Any]]:
+ """The fields lines one person contributes: at most one, their first
+ written name that aligns with a given name and a surname."""
+ language = LANGUAGES[stratum.language]
+ female = wikidata.FEMALE in statements(person, "P21")
+ for text, lang in _texts(person, language):
+ parts: list[tuple[str, set[str]]] = []
+ for prop, field in PARTS.items():
+ for value in statements(person, prop):
+ written = wikidata.spellings(names.get(value, {}),
+ (lang, *language.labels, "mul"))
+ if field == "surname" and female and language.feminine:
+ written |= {f for f in (wikidata.feminine(w, language.feminine)
+ for w in written) if f}
+ parts.append((field, written))
+ # Only Han, kana and Hangul are written unspaced; a one-word text
+ # in another script is word-aligned, and so never splits a word.
+ by_char = len(text.split()) == 1 and in_script(text, _SELF_ORDERED)
+ aligned = align_chars(text, parts) if by_char else align(text, parts)
+ if aligned is None or "given" not in aligned or "surname" not in aligned:
+ continue
+ units, joint = (text, "") if by_char else (
+ [wikidata._word(t) for t in text.split()], " ")
+ fields = {f: joint.join(units[k] for k in ks) for f, ks in aligned.items()}
+ order, shape = wikidata._order(text, aligned)
+ if script_orders(text):
+ shape = None # the script decides the order: what is under test
+ return [{"file": qid, "label": stratum.label, "order": order, "text": text,
+ "shape": shape, "composed": False, "fields": fields}]
+ return []
+
+
+def lccn(person: dict[str, Any]) -> str | None:
+ """The person's Library of Congress authority id (P244), if stated."""
+ ids = [v for v in (claim["mainsnak"].get("datavalue", {}).get("value")
+ for claim in person.get("claims", {}).get("P244", [])
+ if claim.get("rank") != "deprecated")
+ if isinstance(v, str)]
+ return ids[0] if ids else None
+
+
+def build(refresh: bool) -> tuple[list[dict[str, Any]], dict[str, str]]:
+ """Every stratum's rows, and the LCCN of each person used who states
+ one. Raises ValueError, before main() writes anything, naming each
+ stratum below its floor, or on a pooled person Wikidata reports
+ missing, or (from pool()) on a pool that is empty or the wrong size."""
+ rows: list[dict[str, Any]] = []
+ lccns: dict[str, str] = {}
+ seen: set[str] = set()
+ short: list[str] = []
+ for stratum in STRATA:
+ pooled = pool(stratum, refresh)
+ qids = [q for q in pooled if q not in seen]
+ people = entities(qids, stratum.language, refresh)
+ stale = sorted(q for q in qids if "missing" in people[q])
+ if stale:
+ raise ValueError(f"{stratum.label}: WDQS pooled items Wikidata reports "
+ f"missing: {', '.join(stale[:10])}; rerun with --refresh")
+ parts = {v for p in people.values() for prop in PARTS for v in statements(p, prop)}
+ names = entities(sorted(parts), stratum.language, refresh)
+ taken = refused = 0
+ for qid in qids:
+ if taken == stratum.quota:
+ break
+ mine = renderings(qid, people[qid], names, stratum)
+ if not mine:
+ refused += 1
+ continue
+ seen.add(qid)
+ rows.extend(mine)
+ if (found := lccn(people[qid])) is not None:
+ lccns[qid] = found
+ taken += 1
+ print(f"{stratum.label:6} {taken:3}/{stratum.quota} names ({refused} refused, "
+ f"{len(pooled) - len(qids)} taken by an earlier stratum, "
+ f"{len(pooled)} pooled)")
+ if taken < stratum.floor:
+ short.append(f"{stratum.label} {taken}/{stratum.floor}")
+ if short:
+ raise ValueError(f"strata below their floor, nothing written: {', '.join(short)}")
+ return rows, lccns
+
+
+# -- the LC cross-check -------------------------------------------------------
+
+def _lc_checked(body: bytes | str, source: str) -> dict[str, Any]:
+ """An LC MARC record's 400 $a variants, or ValueError naming the
+ source when the body is not a MARC record."""
+ try:
+ root = ET.fromstring(body)
+ except ET.ParseError as error:
+ raise ValueError(f"{source} is not MARC XML ({error})") from None
+ if not root.tag.endswith("record"):
+ raise ValueError(f"{source} is not a MARC record: <{root.tag}>")
+ variants = ["".join(sf.text or "" for sf in field.iter(MARC + "subfield")
+ if sf.get("code") == "a").strip(" ,.")
+ for field in root.iter(MARC + "datafield") if field.get("tag") == "400"]
+ return {"variants": [v for v in variants if v]}
+
+
+def lc_variants(lccn: str, refresh: bool) -> list[str] | None:
+ """The record's 400 $a variants, or None when LC has no such record."""
+ url = LC_RECORD.format(urllib.parse.quote(lccn))
+
+ def fetch() -> bytes:
+ request = urllib.request.Request(url, headers={"User-Agent": wikidata.USER_AGENT})
+ with urllib.request.urlopen(request, timeout=60) as response:
+ body: bytes = response.read()
+ wikidata.time.sleep(1)
+ return body
+ try:
+ record = corpus_build.cached_json(corpus_build.cache_dir("lc"), url, url,
+ fetch, _lc_checked, refresh)
+ except urllib.error.HTTPError as error:
+ if error.code == 404:
+ error.close() # it holds the response; unclosed, 3.14 warns
+ return None
+ raise
+ return list(record["variants"])
+
+
+def _squash(text: str) -> str:
+ return "".join(text.replace(",", " ").replace("،", " ").split())
+
+
+def lc_split(row: dict[str, Any], variants: list[str]) -> tuple[str, str] | None:
+ """LC's (family, rest) for the rendering: from a variant that writes
+ the same letters with a comma (`הלוי, אהרן` for `אהרן הלוי`), or, for a text with no
+ space, with one space (`이 병기`); None when no variant gives one."""
+ whole = _squash(row["text"])
+ for variant in variants:
+ family, comma, rest = variant.replace("،", ",").partition(",")
+ # inverted, so the text may write the parts either way round
+ if comma and whole in (_squash(family + rest), _squash(rest + family)):
+ return _squash(family), _squash(rest)
+ words = variant.split()
+ if " " not in row["text"] and len(words) == 2 and _squash(variant) == whole:
+ return words[0], words[1]
+ return None
+
+
+def lc_check(rows: list[dict[str, Any]], lccns: dict[str, str], refresh: bool) -> None:
+ """Print, per stratum, how often LC's split agrees with Wikidata's."""
+ tally: dict[str, Counter[str]] = {}
+ differ: list[str] = []
+ for row in rows:
+ counts = tally.setdefault(row["label"], Counter())
+ counts["names"] += 1
+ if row["file"] not in lccns:
+ continue
+ counts["with an LCCN"] += 1
+ variants = lc_variants(lccns[row["file"]], refresh)
+ if variants is None:
+ counts["no LC record"] += 1 # a stale P244
+ continue
+ split = lc_split(row, variants)
+ if split is None:
+ continue
+ counts["LC splits it"] += 1
+ fields = row["fields"]
+ ours = (_squash(fields["surname"]),
+ _squash(" ".join(v for f, v in fields.items() if f != "surname")))
+ if split == ours:
+ counts["agree"] += 1
+ else:
+ differ.append(f" {row['file']} {row['text']!r}: Wikidata {ours}, "
+ f"LC {split} (lccn {lccns[row['file']]})")
+ for label, counts in tally.items():
+ print(f"{label:6} " + ", ".join(f"{k} {counts[k]}" for k in
+ ("names", "with an LCCN", "no LC record",
+ "LC splits it", "agree")))
+ print(f"{len(differ)} split differently:", *differ, sep="\n")
+
+
+def main() -> None:
+ ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
+ ap.add_argument("--refresh", action="store_true",
+ help="fetch from Wikidata (and LC) again instead of reading the cache")
+ ap.add_argument("--lc-check", action="store_true",
+ help="also compare each name with its Library of Congress record")
+ args = ap.parse_args()
+ rows, lccns = build(args.refresh)
+ corpus_build.write_corpus(rows, CORPUS, FIELDS)
+ LICENSE.write_text(LICENSE_TEXT, encoding="utf-8")
+ print(f"Wikidata native: {len(rows)} renderings; wrote {CORPUS.name}, "
+ f"{FIELDS.name}, {LICENSE.name}")
+ if args.lc_check:
+ lc_check(rows, lccns, args.refresh)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/differential/cldr_agreement.py b/tools/differential/cldr_agreement.py
index 6b04b45a..95957c3d 100644
--- a/tools/differential/cldr_agreement.py
+++ b/tools/differential/cldr_agreement.py
@@ -12,7 +12,10 @@
which states the two fields CLDR's vocabulary merges or lacks, and the
hand-written conventions table (build_conventions_corpus.py,
conventions_agreement.json), which adds `honorific`, a word of address
-written after the name, scored inside `suffix`; "CLDR" below means any
+written after the name, scored inside `suffix`. The native-script
+Wikidata corpus (build_wikidata_native_corpus.py,
+wikidata_native_agreement.json), real names in their own scripts, is a
+fifth source. "CLDR" below means any
source wherever the rule is about fields. For each source the
test fails on:
@@ -27,17 +30,19 @@
uv run python tools/differential/cldr_agreement.py # summary
uv run python tools/differential/cldr_agreement.py --record # re-record
---record rewrites every record, each source's and the locale one below, and first prints, per source, how many of each kind of change
+--record rewrites every record, each source's and the locale ones below, and first prints, per source, how many of each kind of change
it is accepting, so a re-record made for one source cannot slip another
source's regressions in unseen.
A second view does the same with each locale pack (#672): the renderings
-of every CLDR file in LOCALE_FILES are parsed with parser_for(pack), and
-their disagreements are recorded in cldr_agreement_locales.json and
-ratcheted the same way, so a pack change shows what it moved on its own
-language. It reads the CLDR source only. A pack needing an optional
-extra that is not installed (JA's namedivider) is not measured, and its
-recorded entries are carried over unchanged.
+of every CLDR file in LOCALE_FILES, and of every native-script Wikidata
+stratum in NATIVE_LABELS (its Han and kana names), are parsed
+with parser_for(pack), and their disagreements are recorded in
+cldr_agreement_locales.json and wikidata_native_agreement_locales.json
+and ratcheted the same way, so a pack change shows what it moved on its
+own language. A pack needing an optional extra that is not installed
+(JA's namedivider) is not measured, and its recorded entries are
+carried over unchanged.
Re-record deliberately, and say why in the commit, as with a watched diff.
Each record doubles as a measured worklist: every entry is a place the
@@ -76,7 +81,7 @@
from collections import Counter
from importlib.util import find_spec
from pathlib import Path
-from typing import Any
+from typing import Any, NamedTuple
from nameparser import (FAMILY_FIRST, FAMILY_FIRST_GIVEN_LAST, ParsedName, Parser, Policy,
locales, parser_for)
@@ -98,6 +103,9 @@
WIKIDATA_RECORD = HERE / "wikidata_agreement.json"
CONVENTIONS_FIELDS = HERE / "conventions_fields.jsonl"
CONVENTIONS_RECORD = HERE / "conventions_agreement.json"
+NATIVE_FIELDS = HERE / "wikidata_native_fields.jsonl"
+NATIVE_RECORD = HERE / "wikidata_native_agreement.json"
+NATIVE_LOCALE_RECORD = HERE / "wikidata_native_agreement_locales.json"
RECORD_COMMAND = "uv run python tools/differential/cldr_agreement.py --record"
#: shapes.py's FAMILY_FIRST shape, the only tag build_cldr_corpus.py writes.
FAMILY_FIRST_SHAPE = 4
@@ -116,6 +124,9 @@
"ja": "JA", "ru": "RU", "tr": "TR_AZ", "az": "TR_AZ"}
#: Packs with no CLDR file to measure them on.
NO_CLDR: frozenset[str] = frozenset()
+#: The locale view of the native-script Wikidata source: stratum label ->
+#: the pack its renderings are parsed with (its QID file names no language).
+NATIVE_LABELS = {"zh-cn": "ZH", "zh-tw": "ZH", "ja-jp": "JA"}
#: Packs measured only where an optional extra is installed: pack -> the
#: module the extra provides.
_EXTRAS = {"JA": "namedivider"}
@@ -255,19 +266,32 @@ def load_rows(path: Path = FIELDS) -> list[dict[str, Any]]:
return rows
-def locale_rows(rows: list[dict[str, Any]], pack: str) -> list[dict[str, Any]]:
+class LocaleSource(NamedTuple):
+ """How the locale view reads one source: its record, and which part of
+ a rendering key (`file/label/order`) names the pack, through what map.
+ The key alone decides, so a recorded rendering that is gone still
+ belongs to its pack's check."""
+ record: Path
+ segment: int
+ packs: dict[str, str]
+
+ def pack_of(self, key: str) -> str | None:
+ return self.packs.get(key.split("/")[self.segment])
+
+
+def locale_rows(rows: list[dict[str, Any]], source: LocaleSource,
+ pack: str) -> list[dict[str, Any]]:
"""The renderings the locale view parses with `pack`."""
- return [row for row in rows if LOCALE_FILES.get(row["file"]) == pack]
+ return [row for row in rows if source.pack_of(rendering_key(row)) == pack]
def disagreements(rows: list[dict[str, Any]],
- locale: bool = False) -> dict[str, dict[str, Any]]:
+ pack: str | None = None) -> dict[str, dict[str, Any]]:
"""Every rendering where some role disagrees, with each disagreeing
- role's expected and parsed value, sorted by key. With `locale`, each
- row is parsed with its file's pack, so every row must be mapped."""
+ role's expected and parsed value, sorted by key; parsed with `pack`
+ (the locale view) where one is named."""
found: dict[str, dict[str, Any]] = {}
for row in rows:
- pack = LOCALE_FILES[row["file"]] if locale else None
got = got_roles(parse_rendering(row["text"], row["shape"], pack))
bad = {role: {"expected": expected, "got": got[role]}
for role, expected in expected_roles(row["fields"], row["text"]).items()
@@ -314,30 +338,29 @@ def changes(recorded: dict[str, dict[str, Any]], current: dict[str, dict[str, An
return out
-def _file_of(key: str) -> str:
- return key.split("/", 1)[0]
-
-
-def locale_changes(rows: list[dict[str, Any]], pack: str,
- recorded: dict[str, dict[str, Any]]) -> list[str]:
+def locale_changes(rows: list[dict[str, Any]], source: LocaleSource, pack: str,
+ recorded: dict[str, dict[str, Any]],
+ found: dict[str, dict[str, Any]] | None = None) -> list[str]:
"""changes() for one pack in the locale view: its renderings against
- its share of the locale record."""
- mine = locale_rows(rows, pack)
- return changes({k: v for k, v in recorded.items()
- if LOCALE_FILES.get(_file_of(k)) == pack},
- disagreements(mine, locale=True),
- {rendering_key(row) for row in mine})
+ its share of the locale record. `found` is the pack's disagreements,
+ where the caller has them already."""
+ mine = locale_rows(rows, source, pack)
+ if found is None:
+ found = disagreements(mine, pack)
+ return changes({k: v for k, v in recorded.items() if source.pack_of(k) == pack},
+ found, {rendering_key(row) for row in mine})
-def unmapped(recorded: dict[str, dict[str, Any]]) -> list[str]:
- """Locale-record entries whose file is no longer in LOCALE_FILES: no
- pack's check reads them, so they are reported here as gone."""
- return [f"gone: {key} is recorded but its file is not in LOCALE_FILES"
- for key in sorted(recorded) if _file_of(key) not in LOCALE_FILES]
+def unmapped(recorded: dict[str, dict[str, Any]], source: LocaleSource) -> list[str]:
+ """Locale-record entries no pack's check reads (a CLDR file no longer
+ in LOCALE_FILES, a stratum no longer in NATIVE_LABELS), reported here
+ as gone."""
+ return [f"gone: {key} is recorded but no locale pack reads it"
+ for key in sorted(recorded) if source.pack_of(key) is None]
def _packs() -> list[str]:
- return sorted(set(LOCALE_FILES.values()))
+ return sorted(set(LOCALE_FILES.values()) | set(NATIVE_LABELS.values()))
def sources() -> dict[str, tuple[Path, Path]]:
@@ -345,7 +368,16 @@ def sources() -> dict[str, tuple[Path, Path]]:
at call time, so a test that points a record elsewhere is obeyed."""
return {"CLDR": (FIELDS, RECORD), "GND": (GND_FIELDS, GND_RECORD),
"Wikidata": (WIKIDATA_FIELDS, WIKIDATA_RECORD),
- "Conventions": (CONVENTIONS_FIELDS, CONVENTIONS_RECORD)}
+ "Conventions": (CONVENTIONS_FIELDS, CONVENTIONS_RECORD),
+ "Wikidata native": (NATIVE_FIELDS, NATIVE_RECORD)}
+
+
+def locale_sources() -> dict[str, LocaleSource]:
+ """The sources the locale view reads, each named as in sources(): CLDR
+ by its file (LOCALE_FILES), the native-script Wikidata source by its
+ stratum (NATIVE_LABELS)."""
+ return {"CLDR": LocaleSource(LOCALE_RECORD, 0, LOCALE_FILES),
+ "Wikidata native": LocaleSource(NATIVE_LOCALE_RECORD, 1, NATIVE_LABELS)}
def _summary(name: str, rows: list[dict[str, Any]],
@@ -378,7 +410,6 @@ def main(argv: list[str] | None = None) -> int:
loaded = {name: (load_rows(fields), record)
for name, (fields, record) in sources().items()}
current = {name: disagreements(rows) for name, (rows, _) in loaded.items()}
- rows = loaded["CLDR"][0]
if args.record:
for name, (source_rows, record) in loaded.items():
old_record = read_record(record) if record.exists() else {}
@@ -388,40 +419,59 @@ def main(argv: list[str] | None = None) -> int:
write_record(current[name], record)
print(f"recorded {len(current[name])} disagreeing renderings to "
f"{record.name} (accepting: {accepted or 'no change'})")
- old = read_record(LOCALE_RECORD) if LOCALE_RECORD.exists() else {}
- measured = [p for p in _packs() if pack_available(p)]
- unmeasured = set(_packs()) - set(measured)
- locale = {k: v for k, v in old.items()
- if LOCALE_FILES.get(_file_of(k)) in unmeasured}
- for pack in sorted(unmeasured):
- print(f"{pack} not measured (needs {_EXTRAS[pack]}); "
- "its recorded entries are kept unchanged")
- locale.update(disagreements(
- [r for p in measured for r in locale_rows(rows, p)], locale=True))
- write_record(dict(sorted(locale.items())), LOCALE_RECORD)
- print(f"recorded {len(locale)} disagreeing renderings to {LOCALE_RECORD.name}")
+ for name, source in locale_sources().items():
+ _record_locale(name, loaded[name][0], source)
return 0
problems: list[str] = []
for name, (source_rows, record) in loaded.items():
problems += _summary(name, source_rows, current[name], record)
print()
- print("CLDR locale view, renderings with every role agreeing:")
- recorded = read_record(LOCALE_RECORD)
- locale_problems = unmapped(recorded)
+ for name, source in locale_sources().items():
+ problems += _locale_summary(name, loaded[name][0], source, current[name])
+ return 1 if problems else 0
+
+
+def _record_locale(name: str, rows: list[dict[str, Any]], source: LocaleSource) -> None:
+ """Rewrite one source's locale record, keeping the entries of a pack
+ this run cannot measure."""
+ old = read_record(source.record) if source.record.exists() else {}
+ locale: dict[str, dict[str, Any]] = {}
for pack in _packs():
- mine = locale_rows(rows, pack)
- files = ", ".join(sorted({row["file"] for row in mine}))
- if not pack_available(pack):
- print(f"{pack:6} {files}: not measured (needs {_EXTRAS[pack]})")
- continue
- found = disagreements(mine, locale=True)
- before = sum(rendering_key(row) not in current["CLDR"] for row in mine)
- after = len(mine) - len(found)
- print(f"{pack:6} {files}: {before}/{len(mine)} default -> "
- f"{after}/{len(mine)} with the pack")
- locale_problems += locale_changes(rows, pack, recorded)
- print("\n".join(locale_problems) or "locale view matches the record")
- return 1 if problems or locale_problems else 0
+ if pack_available(pack):
+ locale.update(disagreements(locale_rows(rows, source, pack), pack))
+ else:
+ print(f"{name}: {pack} not measured (needs {_EXTRAS[pack]}); "
+ "its recorded entries are kept unchanged")
+ locale.update({k: v for k, v in old.items() if source.pack_of(k) == pack})
+ write_record(dict(sorted(locale.items())), source.record)
+ print(f"recorded {len(locale)} disagreeing renderings to {source.record.name}")
+
+
+def _locale_summary(name: str, rows: list[dict[str, Any]], source: LocaleSource,
+ default_wrong: dict[str, dict[str, Any]]) -> list[str]:
+ """Print one source's locale view, pack by pack; return its changes.
+ `default_wrong` is the default parser's disagreements."""
+ print(f"{name} locale view, renderings with every role agreeing:")
+ recorded = read_record(source.record)
+ problems = unmapped(recorded, source)
+ for pack in _packs():
+ mine = locale_rows(rows, source, pack)
+ found = None
+ if mine:
+ where = ", ".join(sorted({rendering_key(r).split("/")[source.segment]
+ for r in mine}))
+ if not pack_available(pack):
+ print(f"{pack:6} {where}: not measured (needs {_EXTRAS[pack]})")
+ continue
+ found = disagreements(mine, pack)
+ before = sum(rendering_key(row) not in default_wrong for row in mine)
+ print(f"{pack:6} {where}: {before}/{len(mine)} default -> "
+ f"{len(mine) - len(found)}/{len(mine)} with the pack")
+ # with no renderings left, its recorded entries are still checked
+ problems += locale_changes(rows, source, pack, recorded, found)
+ print("\n".join(problems) or f"{name} locale view matches the record")
+ print()
+ return problems
if __name__ == "__main__":
diff --git a/tools/differential/corpus_wikidata_native.jsonl b/tools/differential/corpus_wikidata_native.jsonl
new file mode 100644
index 00000000..1c397b6e
--- /dev/null
+++ b/tools/differential/corpus_wikidata_native.jsonl
@@ -0,0 +1,907 @@
+"Αγγελική Ελευθερίου"
+"Αθανάσιος Δροσόπουλος"
+"Αλέξανδρος Παπαδημητρίου"
+"Αναστάσιος Σταμούλης"
+"Ανδρέας Καραντώνης"
+"Αντίοχος Ευαγγελάτος"
+"Αντώνης Σαμαράς"
+"Βασίλειος Κόκκινος"
+"Βασίλειος Ξυδάς"
+"Βασίλης Καραπατάκης"
+"Βασίλης Χατζηπαναγής"
+"Βούλα Ζουμπουλάκη"
+"Γεώργιος Αντωνόπουλος"
+"Γεώργιος Δρόσος"
+"Γεώργιος Μητσόπουλος"
+"Γεώργιος Παπαδιαμαντόπουλος"
+"Γιάννης Γκούμας"
+"Γιάννης Θεοδωράκης"
+"Γιάννης Κανάκης"
+"Γιώργος Παπαδάκης"
+"Δημήτρης Καπράλος"
+"Δημήτρης Μητρόπουλος"
+"Δημήτρης Μιχαηλίδης"
+"Δημήτριος Ιωαννίδης"
+"Επαμεινώνδας Κριεζής"
+"Θάνος Κωτσόπουλος"
+"Θανάσης Παπαδόπουλος"
+"Ιωάννης Μεταξάς"
+"Ιωάννης Παπαϊωάννου"
+"Ιωάννης Πετρίδης"
+"Κωνσταντίνος Γιαννίτσης"
+"Κωνσταντίνος Θεοτόκης"
+"Κωνσταντίνος Πυλαρινός"
+"Μάνος Σταλάκης"
+"Μαρίκα Τζιραλίδου"
+"Νίκος Γαλανός"
+"Νίκος Γούναρης"
+"Νίκος Καράμπελας"
+"Νίκος Κούρκουλος"
+"Νίκος Νικολαΐδης"
+"Νίκος Σκυλακάκης"
+"Νικόλαος Γεωργιάδης"
+"Νικόλαος Κοντόπουλος"
+"Νικόλαος Τρικούπης"
+"Νικόλαος Φράγκος"
+"Ντόρα Λελούδα"
+"Πέτρος Παυλίδης"
+"Παναγιώτης Καραλής"
+"Παντελής Πετρακάκης"
+"Παύλος Ιωάννου"
+"Στέφανος Λάντσας"
+"Σταύρος Γεωργίου"
+"Σταύρος Κουγιουμτζής"
+"Σταύρος Κωστόπουλος"
+"Σταύρος Τσιώλης"
+"Στυλιανός Λυκούδης"
+"Τάκης Κανελλόπουλος"
+"Φαίδων Θεοφίλου"
+"Χαράλαμπος Σιμόπουλος"
+"Χρήστος Αντωνόπουλος"
+"Євген Гуцало"
+"Євгенія Казбекова"
+"Ігор Рибак"
+"Јелена Беговић"
+"Јован Мијатовић"
+"Јован Шајновић"
+"Љубомир Јовановић"
+"Александар Антић"
+"Александар Пантић"
+"Александар Станковић"
+"Александр Кучма"
+"Александър Александров"
+"Александър Марков"
+"Александър Цветков"
+"Ана Дабовић"
+"Анастас Јовановић"
+"Ангел Андреев"
+"Ангел Кънчев"
+"Андрија Милошевић"
+"Андрій Володимирович Бондар"
+"Андрій Володимирович Портнов"
+"Антон Каблешков"
+"Анђелија Арбутина"
+"Анђелија Веснић"
+"Балдырған Қожамқұлова"
+"Бақытжан Қанапиянов"
+"Бисерка Цвејић"
+"Биљана Плавшић"
+"Бобан Марковић"
+"Богдан Несторовић"
+"Борис Галчев"
+"Бошко Јанковић"
+"Бранислав Јовановић"
+"Бранислав Блажић"
+"Бранко Борковић"
+"Валерій Залужний"
+"Васил Стоилов"
+"Васил Янакиев"
+"Велизар Димитров"
+"Велко Дачев"
+"Вероніка Марченко"
+"Виктор Георгиев"
+"Владимир Вазов"
+"Владимир Седов"
+"Володимир Максименко"
+"Вук Јеремић"
+"Вук Драшковић"
+"Віктор Пинзеник"
+"Галина Савова"
+"Георги Богданов"
+"Георги Боков"
+"Георги Георгиев"
+"Георги Живков"
+"Герман Германов"
+"Данка Илић"
+"Денис Попов"
+"Дејан Бодирога"
+"Дејан Миловановић"
+"Дејан Стојановић"
+"Димитрије Нешић"
+"Динко Цветков Дерменджиев"
+"Дмитро Олександрович Корчинський"
+"Драган Стојковић"
+"Драган Томић"
+"Драгомир Јовановић"
+"Драгомир Милошевић"
+"Душан Милошевић"
+"Дәулет Болатұлы Тұрлыханов"
+"Едуард Михайлович Москальов"
+"Желязко Ангелов"
+"Здравко Палазов"
+"Иван Андонов"
+"Иван Катранов"
+"Иван Коцев"
+"Иван Радовановић"
+"Иван Радулов"
+"Игор Матић"
+"Илија Петковић"
+"Йордан Мутафчиев"
+"Камен Петков"
+"Карина Горичева"
+"Константин Аврамов"
+"Константин Константинов"
+"Константин Марков"
+"Коста Алексић"
+"Коста Михаиловић"
+"Красимир Спасов"
+"Крум Дерменджиев"
+{"name": "Кучма Леонід Данилович", "shape": 4}
+{"name": "Лукань Володимир", "shape": 4}
+{"name": "Луньов Святослав Ігорович", "shape": 4}
+"Любомир Кръстанов"
+"Марія Панчишин"
+"Микола Козленко"
+"Милко Бјелица"
+"Миодраг Павловић"
+"Мирослав Радовановић"
+"Мија Јовановић"
+{"name": "Мовчан Борис Олексійович", "shape": 4}
+"Найден Тодоров"
+"Небојша Стефановић"
+"Невен Суботић"
+"Неда Украден"
+"Немања Максимовић"
+"Немања Милетић"
+{"name": "Немелівський Михайло", "shape": 4}
+"Нено Неделчев"
+"Никола Мараш"
+"Никола Славков"
+"Николай Кашев"
+"Николай Михайлов"
+"Оксана Сергіївна Баюл"
+"Олег Литвиненко"
+"Олег Сакиркин"
+"Олександр Музичко"
+"Олександр Положинський"
+"Олексій Олексійович Гончаренко"
+"Ольга Рыпакова"
+"Павел Попов"
+"Пеньо Велков"
+"Петар Јовичић"
+"Петко Петков"
+{"name": "Полунін Михайло Степанович", "shape": 4}
+"Радован Панков"
+"Ранко Поповић"
+"Румяна Бъчварова"
+"Свобода Бъчварова"
+"Сергей Каримов"
+{"name": "Середа Григорій Кузьмич", "shape": 4}
+"Симона Пейчева"
+"Синиша Михајловић"
+"Соња Петровић"
+"Срђан Новаковић"
+"Станіслав Станкевич"
+"Стеван Плетикосић"
+"Стеван Хорват"
+{"name": "Степаненко Василиса Іллівна", "shape": 4}
+"Стефан Огнянов"
+"Стефан Петров"
+"Стефка Георгиева"
+"Стоян Александров"
+"Стоян Мурин"
+"Страхил Попов"
+"Страшимир Димитров"
+"Татьяна Васильевна Костина"
+"Теофил Панчић"
+"Тина Крајишник"
+"Тијана Богићевић"
+"Төле Кенжебаев"
+"Төлеу Шаханов"
+"Урош Рачић"
+{"name": "Федоров Іван Сергійович", "shape": 4}
+"Филип Ђуричић"
+"Христо Боев"
+"Христо Бончев"
+"Христо Далчев"
+"Христо Койчев"
+"Христо Миладинов"
+{"name": "Царук Олександр Васильович", "shape": 4}
+"Юлия Кръстева"
+"Юлія Волчкова"
+"Янко Павлов"
+"Қайрат Болатұлы Тұрлыханов"
+"Әбіш Кекілбайұлы"
+"Ալբերտ Հովհաննիսյան"
+"Ալեքսանդր Երիցյան"
+"Ալեքսանդր Թումասյան"
+"Ալեքսանդր Մանասյան"
+"Անդրանիկ Հարությունյան"
+"Անդրանիկ Ղուկասյան"
+"Անի Խաչիկյան"
+"Անուշավան Ազատյան"
+"Աշոտ Պետրոսյան"
+"Արա Աբրահամյան"
+"Արամ Սարգսյան"
+"Արամ Քոչարյան"
+"Արայիկ Մաթևոսյան"
+"Արթուր Բաղդասարյան"
+"Արթուր Մկրտչյան"
+"Գառնիկ Հովհաննիսյան"
+"Գոհար Գասպարյան"
+"Գրիգոր Բրուտյան"
+"Դավիթ Համբարձումյան"
+"Դերենիկ Սաֆարյան"
+"Երվանդ Սուքիասյան"
+"Զառա Տոնիկյան"
+"Էդուարդ Մնացականյան"
+"Էրիկ Սահակյան"
+"Լենա Նազարյան"
+"Լորիս Ճգնավորյան"
+"Լևոն Աղասյան"
+"Կոնստանտին Օրբելյան"
+"Հայկ Հակոբյան"
+"Հայկ Ղազարյան"
+"Հենրիկ Ազատյան"
+"Հրանտ Թովմասյան"
+"Մամիկոն Աքուլյան"
+"Մանուել Պետրոսյան"
+"Մարիա Հակոբյան"
+"Մարտին Սուքիասյան"
+"Միքայել Հարությունյան"
+"Յուրի Դավթյան"
+"Յուրի Հայրապետյան"
+"Նորայր Ասլանյան"
+"Նունե Սարգսյան"
+"Ռաֆիկ Եղոյան"
+"Ռոբերտ Արզումանյան"
+"Ռոբերտ Հովհաննիսյան"
+"Ռոմեն Դավթյան"
+"Ռուբեն Վարդանյան"
+"Սերգեյ Մովսեսյան"
+"Սերգեյ Ներսիսյան"
+"Սուրեն Բաբայան"
+"Սուրեն Երեմյան"
+"Սուրեն Ծատուրյան"
+"Սուրեն Նազարյան"
+"Ստեփան Նալբանդյան"
+"Վազգեն Մանուկյան"
+"Վահագն Խաչատրյան"
+"Վարդան Ստեփանյան"
+"Վլադիմիր Դարբինյան"
+"Տիգրան Նալբանդյան"
+"Ֆելիքս Բախչինյան"
+"אבנר ברזני"
+"אברהם אדן"
+"אברהם כץ"
+"אברהם מור"
+"אדם מזור"
+"אהרן הלוי"
+"אהרן מונדשיין"
+"אהרן מסקין"
+"איתי שכטר"
+"אלישבע מיכאלי"
+"אלישע אפרת"
+"אלישע פורת"
+"אמה תלמי"
+"אמיר דרורי"
+"אסתר אלכסנדר"
+"אריק איינשטיין"
+"אשר דורי"
+"בלה קאופמן"
+"ברוך אורן"
+"ברוך מודן"
+"ברכה רוזנפלד"
+"גיא וסרדם"
+"דבורה עומר"
+"דוד בן־גוריון"
+"דן מורי"
+"דניאל פאר"
+"ורה אלכסנדר"
+"זאב מרגלית"
+"חיים מולכו"
+"חנה אייכינגרין"
+"ידידיה כהן"
+"יהודה כהן"
+"יצחק טישלר"
+"יצחק יעקב"
+"יצחק רבין"
+"ישעיהו פרס"
+"לולה פולמן"
+"לייב וייספיש"
+"מאיר ישראל"
+"מיכאל אלמוג"
+"מישאל חשין"
+"מנחם נאור"
+"מנשה רז"
+"משה בן-שאול"
+"משה חלוץ"
+"משה מזור"
+"עמוס ברנס"
+"עמוס הדר"
+"עמרי שרון"
+"צבי ארד"
+"רון ארד"
+"רון פלר"
+"רחל שור"
+"שולה ליטן"
+"שלמה תמיר"
+"שמואל דביר"
+"ששון סומך"
+"תומר שחורי"
+"תמיר כהן"
+"תמרה כהן"
+"آمال فهمي"
+"أبو بكر الشاطري"
+"أبو بكر سالم"
+"أحلام الجريتلي"
+"أحمد حجازي"
+"أحمد سالم"
+"أحمد قنديل"
+"أحمد مصطفى"
+"أصالة نصري"
+"أكرم التلاوي"
+"أكرم عجة"
+"ألكسندر دارسي"
+"أمجد الطرابلسي"
+"أمين دابو"
+"أمين سامي"
+"أمينة رشيد"
+"أنطوانيت نجيب"
+"أنطونيوس نجيب"
+"أيمن الدُّقر"
+"إبراهيم البغدادي"
+"إبراهيم الغلاييني"
+"إبراهيم صالح"
+"إحسان الرفاعي"
+"إلهام حسين"
+"إلياس الزيَّات"
+"إيهاب خورشيد"
+"احمد گلشیری"
+"بهروز بوچانی"
+"بهمن جلالی"
+"بهيج الخطيب"
+"جلال همتی"
+"جمال محمد"
+"جميل عز الدين"
+"جورج إسحاق"
+"جورج ميشيل"
+"جيانيس كريستو"
+"جيهان السادات"
+"حاتم علي"
+"حازم هاشم"
+"حسن دانشفر"
+"حسن شحاتة"
+"حسني سبح"
+"حسين خطاب"
+"حسین امینی"
+"حسین حسینی"
+"حكمت هاشم"
+"حليم بركات"
+"حمدان شلبي"
+"حمدي الحريري"
+"حميدة الطاهر"
+"خالد عزيز"
+"خضر الأحمد"
+"رائد المتني"
+"رامي مخلوف"
+"رجاء يوسف"
+"رشاد رشدي"
+"رمضان ديب"
+"رنا أحمد"
+"ريما الجفالي"
+"زكي مبارك"
+"زكية إبراهيم"
+"سامي الكيالي"
+"سحر كامل"
+"سعيد حماد"
+"سلام امینی"
+"سلطان البرقان"
+"سليمان الجوخدار"
+"سمر عبد العزيز"
+"سمير سرور"
+"سميرة خاشقجي"
+"سميرة عزت"
+"سهيل الغزي"
+"سوسن ربيع"
+"سيد كريم"
+"سیروس قهرمانی"
+"سیروس گرجستانی"
+"شهره آغداشلو"
+"شيماء الصباغ"
+"صالح اسدی"
+"صالح اللحيدان"
+"صالح خالد الشهري"
+"صلاح المُولَّد"
+"صنع الله إبراهيم"
+"طارق سلامة"
+"طارق عبد العزيز"
+"طلعت زكريا"
+"عائشة ذو الغنى"
+"عادل التويجري"
+"عالي القرشي"
+"عباس شفیعی"
+"عباس وفایی"
+"عباس کریمی"
+"عبد الأكرم السقَّا"
+"عبد الإله نبهان"
+"عبد الباسط بدر"
+"عبد الجبار الضحاك"
+"عبد الحليم قدور"
+"عبد الرحمن السديس"
+"عبد الرحمن العجلان"
+"عبد الرحيم منصور"
+"عبد الستار إبراهيم"
+"عبد العزيز الربيعي"
+"عبد القدوس أبو صالح"
+"عبد اللطيف عبد الحميد"
+"عبد الله الحقيل"
+"عبد الهادي الباني"
+"عبد الوكيل الهاشمي"
+"عثمان آل حميد"
+"عدنان بركات"
+"عدنان خاشقجي"
+"عدنان مصطفى"
+"عزتالله انتظامی"
+"علي الرواس"
+"علي القرني"
+"علی حاتمی"
+"علیرضا بیرانوند"
+"علیاصغر زارعی"
+"علیاکبر حیدری"
+"غادة السمان"
+"غسان جبري"
+"فائق عرقسُوسي"
+"فاروق خورشيد"
+"فاروق عطية"
+"فايزة حسين"
+"فتحي قورة"
+"فتحالله بنیصدر"
+"فريد الأطرش"
+"فریدون ابراهیمی"
+"لطفي لبيب"
+"لويس جريس"
+"مازن المبارك"
+"محمد البغدادي"
+"محمد الزعبي"
+"محمد خاتمی"
+"محمد دهمان"
+"محمد سليم الحلواني"
+"محمد سليمان"
+"محمد ضياء الدين الصابوني"
+"محمد عطا"
+"محمد نبيه المسيري"
+"محمد کوثری"
+"محمدتقی شریعتی"
+"محمدعلی حفیظی"
+"محمدعلی ییلاقی اشرفی"
+"محمود الزعبي"
+"محمود جركس"
+"محمود شاكر"
+"محمود فروغی"
+"مريم صالح"
+"مصطفى خليل"
+"منال الشريف"
+"مها عامر"
+"موفق الخاني"
+"مُحمَّد علي محجوب"
+"مُوفَّق دعبول"
+"نادية زغلول"
+"ناصر الأنصاري"
+"نبيل درويش"
+"نبيل فهمي"
+"نبيهة حداد"
+"نسرين طافش"
+"نعيم عيسى"
+"نهلة القدسي"
+"نور الدين عتر"
+"نورس عبد الواحد"
+"هالة شكر الله"
+"هدى شعراوي"
+"هدى عابدين"
+"هشام حافظ"
+"هشام سليم"
+"هشام عباس"
+"هشام فؤاد"
+"وداد أنطوان"
+"وديع بشور"
+"وليد الشهري"
+"يوسف إدريس"
+"يوسف السالم"
+"يوسف مكي"
+"پردیس افکاری"
+"کیوان وحدانی"
+"अंजलि देवी"
+"अंजलि शर्मा"
+"अक्षय कुमार"
+"अनिल जोशी"
+"अरुणा ईरानी"
+"दुर्गाबाई देशमुख"
+"मनीष मल्होत्रा"
+"मुकेश अंबानी"
+"रणबीर कपूर"
+"रवि राय"
+"रवि शंकर"
+"रोहित शर्मा"
+"लता मंगेशकर"
+"संजय ख़ान"
+"सौंदर्या शर्मा"
+"অজিত পাণ্ডে"
+"অজিত রায়"
+"অনিল দে"
+"অনুষ্কা শর্মা"
+"অবন্তিকা মিশ্র"
+"অরুণ মিত্র"
+"অসীম বসু"
+"আইভি রহমান"
+"আকরাম খান"
+"আনোয়ার হোসেন"
+"আবদুল করিম শাহ"
+"উদয় চোপড়া"
+"কামাল হোসেন"
+"কেনেথ পাওয়েল"
+"জিমি জর্জ"
+"জিয়াউর রহমান"
+"জুহি চাওলা"
+"দেবী শর্মা"
+"নাহিদ ইসলাম"
+"নিখিল আডবাণী"
+"নেহা শর্মা"
+"পঙ্কজ মিশ্র"
+"পঙ্কজ রায়"
+"পুরুষোত্তম লাল"
+"প্রকাশ মেহরা"
+"ফারহান আখতার"
+"মনিকা আলী"
+"মনোজ মিত্র"
+"মিমি চক্রবর্তী"
+"রবিন ঘোষ"
+"রাণী হামিদ"
+"রেণুকা দাশগুপ্ত"
+"সলিল সেন"
+"সুজাতা মহাপাত্র"
+"সুনীল কর্মকার"
+"সুবোধ সরকার"
+"সুভাষ মুখোপাধ্যায়"
+"সুলতান মাহমুদ"
+"সেলিনা হোসেন"
+"হেলেনা খান"
+"กุลวุฒิ วิทิตศานต์"
+"ชวเลิศ ชุ่มคำ"
+"ชัชวาลย์ แท่งทอง"
+"ทรัพย์สิรี แต้รัตนชัย"
+"บุญศักดิ์ พลสนะ"
+"บุศนันทน์ อึ๊งบำรุงพันธุ์"
+"ประวัติ ปัตตพงศ์"
+"พรทิพย์ บูรณะประเสริฐสุข"
+"เกรียงศักดิ์ โกวิทวาณิช"
+"เดชาพล พัววรานุเคราะห์"
+"აბელ მამარდაშვილი"
+"ალექსანდრე იაშვილი"
+"ალექსანდრე ციბაძე"
+"ალექსი მახარაშვილი"
+"ანასტასია ვირსალაძე"
+"ბადრი თოიძე"
+"გია გულუა"
+"გიგა ჭიკაძე"
+"გივი წულაია"
+"გიორგი ბაგრატიონი"
+"გიორგი გონჯილაშვილი"
+"გიორგი სხირტლაძე"
+"გიორგი ჩახავა"
+"გიორგი ჭოღოშვილი"
+"გურამ მეტონიძე"
+"გურანდა ღვალაძე"
+"დავით ბააზოვი"
+"დავით გოცირიძე"
+"ელგუჯა ღონღაძე"
+"ვაჟა დადიანიძე"
+"ვახტანგ აბაშიძე"
+"ვახტანგ ჯაფარიძე"
+"ვლადიმერ ანთაძე"
+"ვლადიმერ უზნაძე"
+"ზაალ სამადაშვილი"
+"თამაზ კვაჭანტირაძე"
+"თამაზ წივწივაძე"
+"თეიმურაზ გორდელაძე"
+"თეიმურაზ კვირკველია"
+"თემურ აბულაშვილი"
+"ილია სულამანიძე"
+"ირაკლი ელიავა"
+"ირაკლი მწითური"
+"კახა ბენდუქიძე"
+"კახა კალაძე"
+"ლევან გაჩეჩილაძე"
+"ლევან ინწკირველი"
+"ლევან კაჭარავა"
+"ლევან მაღნარაძე"
+"ლევან ყენია"
+"ლეო შერვაშიძე"
+"მამუკა ზაალიშვილი"
+"მერაბ დვალიშვილი"
+"მიხეილ ქორქია"
+"მიხეილ ჯოჯუა"
+"მუხრან ვახტანგაძე"
+"ნელი მგალობლიშვილი"
+"ნიკო ფიროსმანი"
+"ნიკოლოზ ბასილაშვილი"
+"ნიკოლოზ სანიშვილი"
+"ნოდარ ღვალაძე"
+"ნოდარ ცინცაძე"
+"ნოდარ ჯობავა"
+"პაატა კოღუაშვილი"
+"რევაზ ადამია"
+"სერგო რიგვავა"
+"სოსო ლიპარტელიანი"
+"სოსო პაიჭაძე"
+"ტარიელ ჭიჭინაძე"
+"ხვიჩა კვარაცხელია"
+"三橋淳"
+"上山輝一"
+"中内力"
+"中島 徹"
+"中川龍一"
+"亀井三郎"
+"伊豆田莉奈"
+"佐々木 勇人"
+"佐々木謙一郎"
+"何炅"
+"何瑞麟"
+"内田誠"
+"内藤博文"
+"刘婉婷"
+"刘放"
+"刘旺"
+"刘相蓉"
+"刘维"
+"前田秀樹"
+"北野誠"
+"华楠"
+"卫惠林"
+"吉尾弘"
+"吉川亨"
+"周美玲"
+"唐由之"
+"坂本 龍馬"
+"城戸 四郎"
+"堀内 克明"
+"夏萍"
+"多田大介"
+"大沢衛"
+"太田三郎"
+"姚明"
+"孙悦"
+"孟建柱"
+"安倍なつみ"
+"安達禎"
+"宋楠"
+"小杉 啓太"
+"小林宏"
+"小林由佳"
+"小柳俊一"
+"小清水 亜美"
+"岡正雄"
+"崔晓桐"
+"平賀淳"
+"引地良一"
+"张翰"
+"張瑞"
+"張韶涵"
+"彭孟緝"
+"揖斐章"
+"文强"
+"方豪"
+"木内 信夫"
+"朱世英"
+"朱旭"
+"朱霖"
+"朴璐美"
+"李俊賢"
+"李博"
+"李宗文"
+"李影"
+"李正中"
+"李瞻"
+"李翔"
+"李诗沣"
+"村田喜一"
+"杨扬"
+"杨旭"
+"東郷文彦"
+"林 力"
+"林國華"
+"柯洁"
+"柴山景綱"
+"桃田賢斗"
+"桜井昌司"
+"森卯一"
+"汪洋"
+"汪顺"
+"沈鵬"
+"河合亨"
+"渋谷健一"
+"湯浅浩"
+"牧野虎雄"
+"王鑫"
+"王镇"
+"王雪莹"
+"白文正"
+"石智勇"
+"秦彦三郎"
+"端山 忠左衛門"
+"米川信夫"
+"罗建文"
+"罗隆基"
+"胡英"
+"茅祖權"
+"草刈潤"
+"荒木茂"
+"葉克強"
+"葉陶"
+"蔡国强"
+"蔡桂英"
+"蔡金生"
+"蔣經國"
+"藤井旭"
+"藤田信雄"
+"蘇貞昌"
+"詹桓"
+"諫山博"
+"謝暉"
+"谢文清"
+"趙小蘭"
+"近藤平三郎"
+"遠藤晴"
+"邓志伟"
+"邓逸凡"
+"邵毓麟"
+"郑爽"
+"郭丹"
+"郭靜"
+"鈴木亀蔵"
+"鎌田 弥彦"
+"陈凯歌"
+"陈静"
+"陳俊傑"
+"陳婷"
+"陳明忠"
+"韩光"
+"韩旭"
+"韩红"
+"馮定國"
+"駒井玲子"
+"高橋章"
+"高田栄二"
+"魏曦"
+"黄乃"
+"黄浩"
+"黎智英"
+"강명순"
+"강혜원"
+"고 상돈"
+"고기봉"
+"고요한"
+"공옥진"
+"권재진"
+"권중동"
+"김경애"
+"김계원"
+"김기영"
+"김병관"
+"김상철"
+"김선영"
+"김성혜"
+"김성훈"
+"김소은"
+"김약수"
+"김연경"
+"김영환"
+"김용완"
+"김응천"
+"김장섭"
+"김재구"
+"김정은"
+"김종삼"
+"김지수"
+"김한민"
+"나익진"
+"남다름"
+"노유상"
+"도민호"
+"류효영"
+"민윤기"
+"박경애"
+"박경원"
+"박만원"
+"박민지"
+"박성수"
+"박성우"
+"박시후"
+"박정희"
+"박주영"
+"박지현"
+"박진구"
+"박진영"
+"박형진"
+"방응모"
+"설기현"
+"손태곤"
+"손현주"
+"송대남"
+"신경림"
+"신도현"
+"신용훈"
+"신춘호"
+"신효순"
+"아키야마 요시히로"
+"오정숙"
+"유명희"
+"유영국"
+"육영수"
+"육인수"
+"육지수"
+"윤아정"
+"이강훈"
+"이광노"
+"이만희"
+"이병기"
+"이병훈"
+"이보나"
+"이상득"
+"이상익"
+"이소연"
+"이소희"
+"이유빈"
+"이정희"
+"이진주"
+"이필모"
+"이현만"
+"이호왕"
+"이희완"
+"임 대규"
+"임정은"
+"장명한"
+"장우현"
+"장원영"
+"장정곤"
+"장효희"
+"전재규"
+"정동권"
+"정석모"
+"정세균"
+"정순택"
+"정호연"
+"조병득"
+"조상현"
+"조세희"
+"조형부"
+"주정균"
+"차태현"
+"천경자"
+"천병규"
+"최국현"
+"최두환"
+"최상옥"
+"최영근"
+"최종덕"
+"최희서"
+"추준석"
+"하예정"
+"한성숙"
+"한순철"
+"한지성"
+"허성태"
+"허정구"
+"홍남표"
+"홍순옥"
+"황윤호"
diff --git a/tools/differential/snapshot.jsonl b/tools/differential/snapshot.jsonl
index f22f5e3c..1c2d0e65 100644
--- a/tools/differential/snapshot.jsonl
+++ b/tools/differential/snapshot.jsonl
@@ -3584,31 +3584,98 @@
{"name": "ʿAbdallāh Ibn-ʿAbdalqādir", "given": "ʿAbdallāh", "family": "Ibn-ʿAbdalqādir", "initials": "ʿ. I."}
{"name": "ʿImād al-Ḥasanī", "given": "ʿImād", "family": "al-Ḥasanī", "initials": "ʿ. a."}
{"name": "ʿĀliya Bint-ʿAlī al-Ḥiǧāzī", "given": "ʿĀliya", "middle": "Bint-ʿAlī", "family": "al-Ḥiǧāzī", "initials": "ʿ. B. a."}
+{"name": "Αγγελική Ελευθερίου", "given": "Αγγελική", "family": "Ελευθερίου", "initials": "Α. Ε."}
+{"name": "Αθανάσιος Δροσόπουλος", "given": "Αθανάσιος", "family": "Δροσόπουλος", "initials": "Α. Δ."}
+{"name": "Αλέξανδρος Παπαδημητρίου", "given": "Αλέξανδρος", "family": "Παπαδημητρίου", "initials": "Α. Π."}
+{"name": "Αναστάσιος Σταμούλης", "given": "Αναστάσιος", "family": "Σταμούλης", "initials": "Α. Σ."}
+{"name": "Ανδρέας Καραντώνης", "given": "Ανδρέας", "family": "Καραντώνης", "initials": "Α. Κ."}
+{"name": "Αντίοχος Ευαγγελάτος", "given": "Αντίοχος", "family": "Ευαγγελάτος", "initials": "Α. Ε."}
+{"name": "Αντώνης Σαμαράς", "given": "Αντώνης", "family": "Σαμαράς", "initials": "Α. Σ."}
+{"name": "Βασίλειος Κόκκινος", "given": "Βασίλειος", "family": "Κόκκινος", "initials": "Β. Κ."}
+{"name": "Βασίλειος Ξυδάς", "given": "Βασίλειος", "family": "Ξυδάς", "initials": "Β. Ξ."}
+{"name": "Βασίλης Καραπατάκης", "given": "Βασίλης", "family": "Καραπατάκης", "initials": "Β. Κ."}
+{"name": "Βασίλης Χατζηπαναγής", "given": "Βασίλης", "family": "Χατζηπαναγής", "initials": "Β. Χ."}
+{"name": "Βούλα Ζουμπουλάκη", "given": "Βούλα", "family": "Ζουμπουλάκη", "initials": "Β. Ζ."}
+{"name": "Γεώργιος Αντωνόπουλος", "given": "Γεώργιος", "family": "Αντωνόπουλος", "initials": "Γ. Α."}
+{"name": "Γεώργιος Δρόσος", "given": "Γεώργιος", "family": "Δρόσος", "initials": "Γ. Δ."}
+{"name": "Γεώργιος Μητσόπουλος", "given": "Γεώργιος", "family": "Μητσόπουλος", "initials": "Γ. Μ."}
+{"name": "Γεώργιος Παπαδιαμαντόπουλος", "given": "Γεώργιος", "family": "Παπαδιαμαντόπουλος", "initials": "Γ. Π."}
+{"name": "Γιάννης Γκούμας", "given": "Γιάννης", "family": "Γκούμας", "initials": "Γ. Γ."}
+{"name": "Γιάννης Θεοδωράκης", "given": "Γιάννης", "family": "Θεοδωράκης", "initials": "Γ. Θ."}
+{"name": "Γιάννης Κανάκης", "given": "Γιάννης", "family": "Κανάκης", "initials": "Γ. Κ."}
+{"name": "Γιώργος Παπαδάκης", "given": "Γιώργος", "family": "Παπαδάκης", "initials": "Γ. Π."}
{"name": "Δημήτρης", "given": "Δημήτρης", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Δ."}
{"name": "Δημήτρης", "order": "FAMILY_FIRST", "family": "Δημήτρης", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Δ."}
+{"name": "Δημήτρης Καπράλος", "given": "Δημήτρης", "family": "Καπράλος", "initials": "Δ. Κ."}
+{"name": "Δημήτρης Μητρόπουλος", "given": "Δημήτρης", "family": "Μητρόπουλος", "initials": "Δ. Μ."}
+{"name": "Δημήτρης Μιχαηλίδης", "given": "Δημήτρης", "family": "Μιχαηλίδης", "initials": "Δ. Μ."}
+{"name": "Δημήτριος Ιωαννίδης", "given": "Δημήτριος", "family": "Ιωαννίδης", "initials": "Δ. Ι."}
{"name": "Ειρήνη Πολίτη", "given": "Ειρήνη", "family": "Πολίτη", "initials": "Ε. Π."}
+{"name": "Επαμεινώνδας Κριεζής", "given": "Επαμεινώνδας", "family": "Κριεζής", "initials": "Ε. Κ."}
{"name": "Ζεζίλια Χάμις Στέμπερ", "given": "Ζεζίλια", "middle": "Χάμις", "family": "Στέμπερ", "initials": "Ζ. Χ. Σ."}
+{"name": "Θάνος Κωτσόπουλος", "given": "Θάνος", "family": "Κωτσόπουλος", "initials": "Θ. Κ."}
+{"name": "Θανάσης Παπαδόπουλος", "given": "Θανάσης", "family": "Παπαδόπουλος", "initials": "Θ. Π."}
+{"name": "Ιωάννης Μεταξάς", "given": "Ιωάννης", "family": "Μεταξάς", "initials": "Ι. Μ."}
+{"name": "Ιωάννης Παπαϊωάννου", "given": "Ιωάννης", "family": "Παπαϊωάννου", "initials": "Ι. Π."}
+{"name": "Ιωάννης Πετρίδης", "given": "Ιωάννης", "family": "Πετρίδης", "initials": "Ι. Π."}
{"name": "Κάτε Μίλερ", "given": "Κάτε", "family": "Μίλερ", "initials": "Κ. Μ."}
{"name": "Καθ. δρ. Άντα Κορνέλια Σέσαρ Μαρτίν φον Μπριλ Γκονθάλεθ Δομίνγκο Δρ.Ι. Δρ.Χ.Ο", "title": "Καθ. δρ.", "given": "Άντα", "middle": "Κορνέλια Σέσαρ Μαρτίν φον Μπριλ Γκονθάλεθ Δομίνγκο Δρ.Ι.", "family": "Δρ.Χ.Ο", "initials": "Ά. Κ. Σ. Μ. φ. Μ. Γ. Δ. Δ. Δ."}
{"name": "Καρατζής Πέτρος Νικόλαος", "order": "FAMILY_FIRST", "given": "Πέτρος", "middle": "Νικόλαος", "family": "Καρατζής", "initials": "Π. Ν. Κ."}
{"name": "Καρατζής, Πέτρος Νικόλαος", "given": "Πέτρος", "middle": "Νικόλαος", "family": "Καρατζής", "initials": "Π. Ν. Κ."}
{"name": "Κος Νικόλαος Καρατζής Κωνσταντίνος Μάριος Χατζής", "title": "Κος", "given": "Νικόλαος", "middle": "Καρατζής Κωνσταντίνος Μάριος", "family": "Χατζής", "initials": "Ν. Κ. Κ. Μ. Χ."}
+{"name": "Κωνσταντίνος Γιαννίτσης", "given": "Κωνσταντίνος", "family": "Γιαννίτσης", "initials": "Κ. Γ."}
+{"name": "Κωνσταντίνος Θεοτόκης", "given": "Κωνσταντίνος", "family": "Θεοτόκης", "initials": "Κ. Θ."}
+{"name": "Κωνσταντίνος Πυλαρινός", "given": "Κωνσταντίνος", "family": "Πυλαρινός", "initials": "Κ. Π."}
+{"name": "Μάνος Σταλάκης", "given": "Μάνος", "family": "Σταλάκης", "initials": "Μ. Σ."}
{"name": "Μίλερ Κάτε", "order": "FAMILY_FIRST", "given": "Κάτε", "family": "Μίλερ", "initials": "Κ. Μ."}
{"name": "Μίλερ, Κάτε", "given": "Κάτε", "family": "Μίλερ", "initials": "Κ. Μ."}
+{"name": "Μαρίκα Τζιραλίδου", "given": "Μαρίκα", "family": "Τζιραλίδου", "initials": "Μ. Τ."}
{"name": "Μπριλ, φον Άντα Κορνέλια Σέσαρ Μαρτίν", "given": "φον", "middle": "Άντα Κορνέλια Σέσαρ Μαρτίν", "family": "Μπριλ", "initials": "φ. Ά. Κ. Σ. Μ. Μ."}
+{"name": "Νίκος Γαλανός", "given": "Νίκος", "family": "Γαλανός", "initials": "Ν. Γ."}
+{"name": "Νίκος Γούναρης", "given": "Νίκος", "family": "Γούναρης", "initials": "Ν. Γ."}
+{"name": "Νίκος Καράμπελας", "given": "Νίκος", "family": "Καράμπελας", "initials": "Ν. Κ."}
+{"name": "Νίκος Κούρκουλος", "given": "Νίκος", "family": "Κούρκουλος", "initials": "Ν. Κ."}
+{"name": "Νίκος Νικολαΐδης", "given": "Νίκος", "family": "Νικολαΐδης", "initials": "Ν. Ν."}
+{"name": "Νίκος Σκυλακάκης", "given": "Νίκος", "family": "Σκυλακάκης", "initials": "Ν. Σ."}
+{"name": "Νικόλαος Γεωργιάδης", "given": "Νικόλαος", "family": "Γεωργιάδης", "initials": "Ν. Γ."}
+{"name": "Νικόλαος Κοντόπουλος", "given": "Νικόλαος", "family": "Κοντόπουλος", "initials": "Ν. Κ."}
+{"name": "Νικόλαος Τρικούπης", "given": "Νικόλαος", "family": "Τρικούπης", "initials": "Ν. Τ."}
+{"name": "Νικόλαος Φράγκος", "given": "Νικόλαος", "family": "Φράγκος", "initials": "Ν. Φ."}
+{"name": "Ντόρα Λελούδα", "given": "Ντόρα", "family": "Λελούδα", "initials": "Ν. Λ."}
{"name": "Πέτρος Νικόλαος Καρατζής", "given": "Πέτρος", "middle": "Νικόλαος", "family": "Καρατζής", "initials": "Π. Ν. Κ."}
+{"name": "Πέτρος Παυλίδης", "given": "Πέτρος", "family": "Παυλίδης", "initials": "Π. Π."}
+{"name": "Παναγιώτης Καραλής", "given": "Παναγιώτης", "family": "Καραλής", "initials": "Π. Κ."}
+{"name": "Παντελής Πετρακάκης", "given": "Παντελής", "family": "Πετρακάκης", "initials": "Π. Π."}
+{"name": "Παύλος Ιωάννου", "given": "Παύλος", "family": "Ιωάννου", "initials": "Π. Ι."}
{"name": "Πολίτη Ειρήνη", "order": "FAMILY_FIRST", "given": "Ειρήνη", "family": "Πολίτη", "initials": "Ε. Π."}
{"name": "Πολίτη, Ειρήνη", "given": "Ειρήνη", "family": "Πολίτη", "initials": "Ε. Π."}
{"name": "Σινμπάντ", "given": "Σινμπάντ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Σ."}
{"name": "Σινμπάντ", "order": "FAMILY_FIRST", "family": "Σινμπάντ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Σ."}
{"name": "Στέμπερ Ζεζίλια Χάμις", "order": "FAMILY_FIRST", "given": "Ζεζίλια", "middle": "Χάμις", "family": "Στέμπερ", "initials": "Ζ. Χ. Σ."}
{"name": "Στέμπερ, Ζεζίλια Χάμις", "given": "Ζεζίλια", "middle": "Χάμις", "family": "Στέμπερ", "initials": "Ζ. Χ. Σ."}
+{"name": "Στέφανος Λάντσας", "given": "Στέφανος", "family": "Λάντσας", "initials": "Σ. Λ."}
+{"name": "Σταύρος Γεωργίου", "given": "Σταύρος", "family": "Γεωργίου", "initials": "Σ. Γ."}
+{"name": "Σταύρος Κουγιουμτζής", "given": "Σταύρος", "family": "Κουγιουμτζής", "initials": "Σ. Κ."}
+{"name": "Σταύρος Κωστόπουλος", "given": "Σταύρος", "family": "Κωστόπουλος", "initials": "Σ. Κ."}
+{"name": "Σταύρος Τσιώλης", "given": "Σταύρος", "family": "Τσιώλης", "initials": "Σ. Τ."}
+{"name": "Στυλιανός Λυκούδης", "given": "Στυλιανός", "family": "Λυκούδης", "initials": "Σ. Λ."}
+{"name": "Τάκης Κανελλόπουλος", "given": "Τάκης", "family": "Κανελλόπουλος", "initials": "Τ. Κ."}
+{"name": "Φαίδων Θεοφίλου", "given": "Φαίδων", "family": "Θεοφίλου", "initials": "Φ. Θ."}
+{"name": "Χαράλαμπος Σιμόπουλος", "given": "Χαράλαμπος", "family": "Σιμόπουλος", "initials": "Χ. Σ."}
{"name": "Χατζής Νικόλαος Καρατζής Κωνσταντίνος Μάριος", "order": "FAMILY_FIRST", "given": "Νικόλαος", "middle": "Καρατζής Κωνσταντίνος Μάριος", "family": "Χατζής", "initials": "Ν. Κ. Κ. Μ. Χ."}
{"name": "Χατζής, Νικόλαος Καρατζής Κωνσταντίνος Μάριος", "given": "Νικόλαος", "middle": "Καρατζής Κωνσταντίνος Μάριος", "family": "Χατζής", "initials": "Ν. Κ. Κ. Μ. Χ."}
+{"name": "Χρήστος Αντωνόπουλος", "given": "Χρήστος", "family": "Αντωνόπουλος", "initials": "Χ. Α."}
{"name": "φον Μπριλ Άντα Κορνέλια Σέσαρ Μαρτίν Δρ.Ι. Δρ.Χ.Ο", "order": "FAMILY_FIRST", "given": "Μπριλ", "middle": "Άντα Κορνέλια Σέσαρ Μαρτίν Δρ.Ι. Δρ.Χ.Ο", "family": "φον", "initials": "Μ. Ά. Κ. Σ. Μ. Δ. Δ. φ."}
{"name": "Єва Марія Шевченко", "given": "Єва", "middle": "Марія", "family": "Шевченко", "initials": "Є. М. Ш."}
+{"name": "Євген Гуцало", "given": "Євген", "family": "Гуцало", "initials": "Є. Г."}
+{"name": "Євгенія Казбекова", "given": "Євгенія", "family": "Казбекова", "initials": "Є. К."}
+{"name": "Ігор Рибак", "given": "Ігор", "family": "Рибак", "initials": "І. Р."}
{"name": "Ірына Алейнік", "given": "Ірына", "family": "Алейнік", "initials": "І. А."}
+{"name": "Јелена Беговић", "given": "Јелена", "family": "Беговић", "initials": "Ј. Б."}
{"name": "Јован Драган Поповић", "given": "Јован", "middle": "Драган", "family": "Поповић", "initials": "Ј. Д. П."}
+{"name": "Јован Мијатовић", "given": "Јован", "family": "Мијатовић", "initials": "Ј. М."}
+{"name": "Јован Шајновић", "given": "Јован", "family": "Шајновић", "initials": "Ј. Ш."}
+{"name": "Љубомир Јовановић", "given": "Љубомир", "family": "Јовановић", "initials": "Љ. Ј."}
{"name": "Абатуров, Константин Иванович", "given": "Константин", "middle": "Иванович", "family": "Абатуров", "initials": "К. И. А."}
{"name": "Агеева, Валентина Васильевна", "given": "Валентина", "middle": "Васильевна", "family": "Агеева", "initials": "В. В. А."}
{"name": "Агриппина Младшая", "given": "Агриппина", "suffix": "Младшая", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "А."}
@@ -3621,6 +3688,9 @@
{"name": "Алевтина Львовна Юрина", "given": "Алевтина", "middle": "Львовна", "family": "Юрина", "initials": "А. Л. Ю."}
{"name": "Алейнік Ірына", "order": "FAMILY_FIRST", "given": "Ірына", "family": "Алейнік", "initials": "І. А."}
{"name": "Алейнік, Ірына", "given": "Ірына", "family": "Алейнік", "initials": "І. А."}
+{"name": "Александар Антић", "given": "Александар", "family": "Антић", "initials": "А. А."}
+{"name": "Александар Пантић", "given": "Александар", "family": "Пантић", "initials": "А. П."}
+{"name": "Александар Станковић", "given": "Александар", "family": "Станковић", "initials": "А. С."}
{"name": "Александр Александрович Кухаренко", "given": "Александр", "middle": "Александрович", "family": "Кухаренко", "initials": "А. А. К."}
{"name": "Александр Александрович Фридман", "given": "Александр", "middle": "Александрович", "family": "Фридман", "initials": "А. А. Ф."}
{"name": "Александр Алексеевич Моисеев", "given": "Александр", "middle": "Алексеевич", "family": "Моисеев", "initials": "А. А. М."}
@@ -3632,11 +3702,15 @@
{"name": "Александр Иванович Алексеев", "given": "Александр", "middle": "Иванович", "family": "Алексеев", "initials": "А. И. А."}
{"name": "Александр Иванович Булгаков", "given": "Александр", "middle": "Иванович", "family": "Булгаков", "initials": "А. И. Б."}
{"name": "Александр Иванович Черепанов", "given": "Александр", "middle": "Иванович", "family": "Черепанов", "initials": "А. И. Ч."}
+{"name": "Александр Кучма", "given": "Александр", "family": "Кучма", "initials": "А. К."}
{"name": "Александр Леонидович Дворкин", "given": "Александр", "middle": "Леонидович", "family": "Дворкин", "initials": "А. Л. Д."}
{"name": "Александр Николаевич Степанов", "given": "Александр", "middle": "Николаевич", "family": "Степанов", "initials": "А. Н. С."}
{"name": "Александр Петрович Сумароков", "given": "Александр", "middle": "Петрович", "family": "Сумароков", "initials": "А. П. С."}
{"name": "Александр Семёнович Будилович", "given": "Александр", "middle": "Семёнович", "family": "Будилович", "initials": "А. С. Б."}
{"name": "Александров, Николай Григорьевич", "given": "Николай", "middle": "Григорьевич", "family": "Александров", "initials": "Н. Г. А."}
+{"name": "Александър Александров", "given": "Александър", "family": "Александров", "initials": "А. А."}
+{"name": "Александър Марков", "given": "Александър", "family": "Марков", "initials": "А. М."}
+{"name": "Александър Цветков", "given": "Александър", "family": "Цветков", "initials": "А. Ц."}
{"name": "Алексеев, Михаил Николаевич", "given": "Михаил", "middle": "Николаевич", "family": "Алексеев", "initials": "М. Н. А."}
{"name": "Алексей Алексеевич Никитин", "given": "Алексей", "middle": "Алексеевич", "family": "Никитин", "initials": "А. А. Н."}
{"name": "Алексей Борисович Елисеев", "given": "Алексей", "middle": "Борисович", "family": "Елисеев", "initials": "А. Б. Е."}
@@ -3650,27 +3724,42 @@
{"name": "Алымбекова Каныкей", "order": "FAMILY_FIRST", "given": "Каныкей", "family": "Алымбекова", "initials": "К. А."}
{"name": "Амосова Ирина", "order": "FAMILY_FIRST", "given": "Ирина", "family": "Амосова", "initials": "И. А."}
{"name": "Амосова, Ирина", "given": "Ирина", "family": "Амосова", "initials": "И. А."}
+{"name": "Ана Дабовић", "given": "Ана", "family": "Дабовић", "initials": "А. Д."}
{"name": "Ана Иванова Димитрова", "given": "Ана", "middle": "Иванова", "family": "Димитрова", "initials": "А. И. Д."}
{"name": "Ана Хорват старији Џонс", "given": "Ана", "family": "Хорват", "suffix": "старији Џонс", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "А. Х."}
+{"name": "Анастас Јовановић", "given": "Анастас", "family": "Јовановић", "initials": "А. Ј."}
{"name": "Анатолий Александрович Вассерман", "given": "Анатолий", "middle": "Александрович", "family": "Вассерман", "initials": "А. А. В."}
{"name": "Анатолий Николаевич Алябьев", "given": "Анатолий", "middle": "Николаевич", "family": "Алябьев", "initials": "А. Н. А."}
+{"name": "Ангел Андреев", "given": "Ангел", "family": "Андреев", "initials": "А. А."}
+{"name": "Ангел Кънчев", "given": "Ангел", "family": "Кънчев", "initials": "А. К."}
{"name": "Андрей Васильевич Мягков", "given": "Андрей", "middle": "Васильевич", "family": "Мягков", "initials": "А. В. М."}
{"name": "Андрей Сергеевич Кончаловский", "given": "Андрей", "middle": "Сергеевич", "family": "Кончаловский", "initials": "А. С. К."}
+{"name": "Андрија Милошевић", "given": "Андрија", "family": "Милошевић", "initials": "А. М."}
+{"name": "Андрій Володимирович Бондар", "given": "Андрій", "middle": "Володимирович", "family": "Бондар", "initials": "А. В. Б."}
{"name": "Андрій Володимирович Портнов", "given": "Андрій", "middle": "Володимирович", "family": "Портнов", "initials": "А. В. П."}
{"name": "Анна Мельник", "given": "Анна", "family": "Мельник", "initials": "А. М."}
{"name": "Анна Николаевна Гладкова", "given": "Анна", "middle": "Николаевна", "family": "Гладкова", "initials": "А. Н. Г."}
{"name": "Анна Сергеевна Курникова", "given": "Анна", "middle": "Сергеевна", "family": "Курникова", "initials": "А. С. К."}
{"name": "Антипов, Павел Фёдорович", "given": "Павел", "middle": "Фёдорович", "family": "Антипов", "initials": "П. Ф. А."}
{"name": "Антон Дмитриевич Волошин", "given": "Антон", "middle": "Дмитриевич", "family": "Волошин", "initials": "А. Д. В."}
+{"name": "Антон Каблешков", "given": "Антон", "family": "Каблешков", "initials": "А. К."}
+{"name": "Анђелија Арбутина", "given": "Анђелија", "family": "Арбутина", "initials": "А. А."}
+{"name": "Анђелија Веснић", "given": "Анђелија", "family": "Веснић", "initials": "А. В."}
{"name": "Артур Валерьевич Дмитриев", "given": "Артур", "middle": "Валерьевич", "family": "Дмитриев", "initials": "А. В. Д."}
{"name": "Асаф Михайлович Мессерер", "given": "Асаф", "middle": "Михайлович", "family": "Мессерер", "initials": "А. М. М."}
{"name": "Аталан", "given": "Аталан", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "А."}
{"name": "Аталан", "order": "FAMILY_FIRST", "family": "Аталан", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "А."}
{"name": "Ашмарин Николай Иванович", "order": "FAMILY_FIRST", "given": "Николай", "middle": "Иванович", "family": "Ашмарин", "initials": "Н. И. А."}
{"name": "Ашмарин, Николай Иванович", "given": "Николай", "middle": "Иванович", "family": "Ашмарин", "initials": "Н. И. А."}
+{"name": "Балдырған Қожамқұлова", "given": "Балдырған", "family": "Қожамқұлова", "initials": "Б. Қ."}
{"name": "Бат", "given": "Бат", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Б."}
{"name": "Бат", "order": "FAMILY_FIRST", "family": "Бат", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Б."}
+{"name": "Бақытжан Қанапиянов", "given": "Бақытжан", "family": "Қанапиянов", "initials": "Б. Қ."}
{"name": "Бертрам Вилберфорс Ҳенру Роберт Вустер", "given": "Бертрам", "middle": "Вилберфорс Ҳенру Роберт", "family": "Вустер", "initials": "Б. В. Ҳ. Р. В."}
+{"name": "Бисерка Цвејић", "given": "Бисерка", "family": "Цвејић", "initials": "Б. Ц."}
+{"name": "Биљана Плавшић", "given": "Биљана", "family": "Плавшић", "initials": "Б. П."}
+{"name": "Бобан Марковић", "given": "Бобан", "family": "Марковић", "initials": "Б. М."}
+{"name": "Богдан Несторовић", "given": "Богдан", "family": "Несторовић", "initials": "Б. Н."}
{"name": "Богданов, Владимир Алексеевич", "given": "Владимир", "middle": "Алексеевич", "family": "Богданов", "initials": "В. А. Б."}
{"name": "Богомолов, Владимир Николаевич", "given": "Владимир", "middle": "Николаевич", "family": "Богомолов", "initials": "В. Н. Б."}
{"name": "Бойцов, Владимир Емельянович", "given": "Владимир", "middle": "Емельянович", "family": "Бойцов", "initials": "В. Е. Б."}
@@ -3679,8 +3768,13 @@
{"name": "Бондарев, Николай Автономович", "given": "Николай", "middle": "Автономович", "family": "Бондарев", "initials": "Н. А. Б."}
{"name": "Борис Алексеевич Зозуля", "given": "Борис", "middle": "Алексеевич", "family": "Зозуля", "initials": "Б. А. З."}
{"name": "Борис Владимирович Полянский", "given": "Борис", "middle": "Владимирович", "family": "Полянский", "initials": "Б. В. П."}
+{"name": "Борис Галчев", "given": "Борис", "family": "Галчев", "initials": "Б. Г."}
{"name": "Борис Максимович Келлер", "given": "Борис", "middle": "Максимович", "family": "Келлер", "initials": "Б. М. К."}
{"name": "Борис Николаевич Ельцин", "given": "Борис", "middle": "Николаевич", "family": "Ельцин", "initials": "Б. Н. Е."}
+{"name": "Бошко Јанковић", "given": "Бошко", "family": "Јанковић", "initials": "Б. Ј."}
+{"name": "Бранислав Јовановић", "given": "Бранислав", "family": "Јовановић", "initials": "Б. Ј."}
+{"name": "Бранислав Блажић", "given": "Бранислав", "family": "Блажић", "initials": "Б. Б."}
+{"name": "Бранко Борковић", "given": "Бранко", "family": "Борковић", "initials": "Б. Б."}
{"name": "Бруль, Ада Карнэлія Сесар Марцін фон", "given": "Ада", "middle": "Карнэлія Сесар Марцін фон", "family": "Бруль", "initials": "А. К. С. М. ф. Б."}
{"name": "Брюл, Ада Корнелия Цезар Мартин фон", "given": "Ада", "middle": "Корнелия Цезар Мартин фон", "family": "Брюл", "initials": "А. К. Ц. М. ф. Б."}
{"name": "Брюль, Ада Корнелия Сезар Мартин фон", "given": "Ада", "middle": "Корнелия Сезар Мартин фон", "family": "Брюль", "initials": "А. К. С. М. ф. Б."}
@@ -3692,54 +3786,80 @@
{"name": "Валентин Васильевич Васенков", "given": "Валентин", "middle": "Васильевич", "family": "Васенков", "initials": "В. В. В."}
{"name": "Валерий Сергеевич Ольховский", "given": "Валерий", "middle": "Сергеевич", "family": "Ольховский", "initials": "В. С. О."}
{"name": "Валерий Фёдорович Залужный", "given": "Валерий", "middle": "Фёдорович", "family": "Залужный", "initials": "В. Ф. З."}
+{"name": "Валерій Залужний", "given": "Валерій", "family": "Залужний", "initials": "В. З."}
+{"name": "Васил Стоилов", "given": "Васил", "family": "Стоилов", "initials": "В. С."}
+{"name": "Васил Янакиев", "given": "Васил", "family": "Янакиев", "initials": "В. Я."}
{"name": "Васильев Дмитрий Петрович", "order": "FAMILY_FIRST", "given": "Дмитрий", "middle": "Петрович", "family": "Васильев", "initials": "Д. П. В."}
{"name": "Васильев, Дмитрий Петрович", "given": "Дмитрий", "middle": "Петрович", "family": "Васильев", "initials": "Д. П. В."}
{"name": "Васіль", "given": "Васіль", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "В."}
{"name": "Васіль", "order": "FAMILY_FIRST", "family": "Васіль", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "В."}
{"name": "Ватсон Мэри Сю Хамиш", "order": "FAMILY_FIRST", "given": "Мэри", "middle": "Сю Хамиш", "family": "Ватсон", "initials": "М. С. Х. В."}
+{"name": "Велизар Димитров", "given": "Велизар", "family": "Димитров", "initials": "В. Д."}
+{"name": "Велко Дачев", "given": "Велко", "family": "Дачев", "initials": "В. Д."}
{"name": "Вернер, Иван Асен фон", "given": "Иван", "middle": "Асен фон", "family": "Вернер", "initials": "И. А. ф. В."}
+{"name": "Вероніка Марченко", "given": "Вероніка", "family": "Марченко", "initials": "В. М."}
{"name": "Виктор Васильевич Ляпунов", "given": "Виктор", "middle": "Васильевич", "family": "Ляпунов", "initials": "В. В. Л."}
{"name": "Виктор Владимирович Глухов", "given": "Виктор", "middle": "Владимирович", "family": "Глухов", "initials": "В. В. Г."}
+{"name": "Виктор Георгиев", "given": "Виктор", "family": "Георгиев", "initials": "В. Г."}
{"name": "Виктор Иванович Туровцев", "given": "Виктор", "middle": "Иванович", "family": "Туровцев", "initials": "В. И. Т."}
{"name": "Виктор Михайлович Иванцов", "given": "Виктор", "middle": "Михайлович", "family": "Иванцов", "initials": "В. М. И."}
{"name": "Виссарион Михайлович Павлов", "given": "Виссарион", "middle": "Михайлович", "family": "Павлов", "initials": "В. М. П."}
{"name": "Вишняков, Павел Терентьевич", "given": "Павел", "middle": "Терентьевич", "family": "Вишняков", "initials": "П. Т. В."}
{"name": "Владимир Александрович Усов", "given": "Владимир", "middle": "Александрович", "family": "Усов", "initials": "В. А. У."}
{"name": "Владимир Афанасьевич Фатеев", "given": "Владимир", "middle": "Афанасьевич", "family": "Фатеев", "initials": "В. А. Ф."}
+{"name": "Владимир Вазов", "given": "Владимир", "family": "Вазов", "initials": "В. В."}
{"name": "Владимир Валерьевич Буре", "given": "Владимир", "middle": "Валерьевич", "family": "Буре", "initials": "В. В. Б."}
{"name": "Владимир Владимирович Кара-Мурза", "given": "Владимир", "middle": "Владимирович", "family": "Кара-Мурза", "initials": "В. В. К."}
{"name": "Владимир Владимирович Путин", "given": "Владимир", "middle": "Владимирович", "family": "Путин", "initials": "В. В. П."}
{"name": "Владимир Евграфович Татлин", "given": "Владимир", "middle": "Евграфович", "family": "Татлин", "initials": "В. Е. Т."}
{"name": "Владимир Емельянович Бойцов", "given": "Владимир", "middle": "Емельянович", "family": "Бойцов", "initials": "В. Е. Б."}
{"name": "Владимир Михайлович Штейн", "given": "Владимир", "middle": "Михайлович", "family": "Штейн", "initials": "В. М. Ш."}
+{"name": "Владимир Седов", "given": "Владимир", "family": "Седов", "initials": "В. С."}
{"name": "Владимир Сергеевич Шкляев", "given": "Владимир", "middle": "Сергеевич", "family": "Шкляев", "initials": "В. С. Ш."}
{"name": "Владислав Иванович Мамонтов", "given": "Владислав", "middle": "Иванович", "family": "Мамонтов", "initials": "В. И. М."}
{"name": "Владислав Юрьевич Сурков", "given": "Владислав", "middle": "Юрьевич", "family": "Сурков", "initials": "В. Ю. С."}
+{"name": "Володимир Максименко", "given": "Володимир", "family": "Максименко", "initials": "В. М."}
{"name": "Волф, Александра Ева Сара ван ден", "given": "Александра", "middle": "Ева Сара ван ден", "family": "Волф", "initials": "А. Е. С. в. д. В."}
{"name": "Волф, Ана Марија Цезар Мартин ван ден", "given": "Ана", "middle": "Марија Цезар Мартин ван ден", "family": "Волф", "initials": "А. М. Ц. М. в. д. В."}
{"name": "Вольга Караліна Равенская", "given": "Вольга", "middle": "Караліна", "family": "Равенская", "initials": "В. К. Р."}
{"name": "Воробьёв, Константин Дмитриевич", "given": "Константин", "middle": "Дмитриевич", "family": "Воробьёв", "initials": "К. Д. В."}
{"name": "Воронцов, Александр Емельянович", "given": "Александр", "middle": "Емельянович", "family": "Воронцов", "initials": "А. Е. В."}
{"name": "Вронский, Юрий Петрович", "given": "Юрий", "middle": "Петрович", "family": "Вронский", "initials": "Ю. П. В."}
+{"name": "Вук Јеремић", "given": "Вук", "family": "Јеремић", "initials": "В. Ј."}
+{"name": "Вук Драшковић", "given": "Вук", "family": "Драшковић", "initials": "В. Д."}
{"name": "Вустер Бертрам Вилберфорс Ҳенру Роберт", "order": "FAMILY_FIRST", "given": "Бертрам", "middle": "Вилберфорс Ҳенру Роберт", "family": "Вустер", "initials": "Б. В. Ҳ. Р. В."}
+{"name": "Віктор Пинзеник", "given": "Віктор", "family": "Пинзеник", "initials": "В. П."}
{"name": "Гай Плиний Старший Иванов", "given": "Гай", "family": "Плиний", "suffix": "Старший Иванов", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "Г. П."}
+{"name": "Галина Савова", "given": "Галина", "family": "Савова", "initials": "Г. С."}
{"name": "Геннадий Вячеславович Игумнов", "given": "Геннадий", "middle": "Вячеславович", "family": "Игумнов", "initials": "Г. В. И."}
{"name": "Геннадий Германович Комиссаров", "given": "Геннадий", "middle": "Германович", "family": "Комиссаров", "initials": "Г. Г. К."}
{"name": "Геннадий Иванович Воронов", "given": "Геннадий", "middle": "Иванович", "family": "Воронов", "initials": "Г. И. В."}
+{"name": "Георги Богданов", "given": "Георги", "family": "Богданов", "initials": "Г. Б."}
+{"name": "Георги Боков", "given": "Георги", "family": "Боков", "initials": "Г. Б."}
+{"name": "Георги Георгиев", "given": "Георги", "family": "Георгиев", "initials": "Г. Г."}
+{"name": "Георги Живков", "given": "Георги", "family": "Живков", "initials": "Г. Ж."}
{"name": "Георгий Ефремович Катанаев", "given": "Георгий", "middle": "Ефремович", "family": "Катанаев", "initials": "Г. Е. К."}
+{"name": "Герман Германов", "given": "Герман", "family": "Германов", "initials": "Г. Г."}
{"name": "Гнилицкая, Нина Тимофеевна", "given": "Нина", "middle": "Тимофеевна", "family": "Гнилицкая", "initials": "Н. Т. Г."}
{"name": "Гойщик, Татьяна Геннадьевна", "given": "Татьяна", "middle": "Геннадьевна", "family": "Гойщик", "initials": "Т. Г. Г."}
{"name": "Грипич, Александр Сергеевич", "given": "Александр", "middle": "Сергеевич", "family": "Грипич", "initials": "А. С. Г."}
{"name": "Гриценко, Анатолий Иванович", "given": "Анатолий", "middle": "Иванович", "family": "Гриценко", "initials": "А. И. Г."}
+{"name": "Данка Илић", "given": "Данка", "family": "Илић", "initials": "Д. И."}
{"name": "Дарья Александровна Дугина", "given": "Дарья", "middle": "Александровна", "family": "Дугина", "initials": "Д. А. Д."}
{"name": "Дарья Алексеевна Навальная", "given": "Дарья", "middle": "Алексеевна", "family": "Навальная", "initials": "Д. А. Н."}
{"name": "Демидов, Иван Алексеевич", "given": "Иван", "middle": "Алексеевич", "family": "Демидов", "initials": "И. А. Д."}
+{"name": "Денис Попов", "given": "Денис", "family": "Попов", "initials": "Д. П."}
+{"name": "Дејан Бодирога", "given": "Дејан", "family": "Бодирога", "initials": "Д. Б."}
+{"name": "Дејан Миловановић", "given": "Дејан", "family": "Миловановић", "initials": "Д. М."}
+{"name": "Дејан Стојановић", "given": "Дејан", "family": "Стојановић", "initials": "Д. С."}
{"name": "Джон", "given": "Джон", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Д."}
{"name": "Джон", "order": "FAMILY_FIRST", "family": "Джон", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Д."}
{"name": "Джоунс, Зара Мери", "given": "Зара", "middle": "Мери", "family": "Джоунс", "initials": "З. М. Д."}
{"name": "Джоунс, Зара Мери", "order": "FAMILY_FIRST", "given": "Зара", "middle": "Мери", "family": "Джоунс", "initials": "З. М. Д."}
+{"name": "Димитрије Нешић", "given": "Димитрије", "family": "Нешић", "initials": "Д. Н."}
{"name": "Димитрова, Ана Иванова", "given": "Ана", "middle": "Иванова", "family": "Димитрова", "initials": "А. И. Д."}
{"name": "Димитрова, Ана Иванова", "order": "FAMILY_FIRST", "given": "Ана", "middle": "Иванова", "family": "Димитрова", "initials": "А. И. Д."}
+{"name": "Динко Цветков Дерменджиев", "given": "Динко", "middle": "Цветков", "family": "Дерменджиев", "initials": "Д. Ц. Д."}
{"name": "Дитятин, Иван Иванович", "given": "Иван", "middle": "Иванович", "family": "Дитятин", "initials": "И. И. Д."}
{"name": "Дмитриев Владимир Михайлович", "order": "FAMILY_FIRST", "given": "Владимир", "middle": "Михайлович", "family": "Дмитриев", "initials": "В. М. Д."}
{"name": "Дмитриев, Артур Валерьевич", "given": "Артур", "middle": "Валерьевич", "family": "Дмитриев", "initials": "А. В. Д."}
@@ -3747,8 +3867,14 @@
{"name": "Дмитро Олександрович Корчинський", "given": "Дмитро", "middle": "Олександрович", "family": "Корчинський", "initials": "Д. О. К."}
{"name": "Дорж Цэцэг", "order": "FAMILY_FIRST", "given": "Цэцэг", "family": "Дорж", "initials": "Ц. Д."}
{"name": "Дорж, Цэцэг", "given": "Цэцэг", "family": "Дорж", "initials": "Ц. Д."}
+{"name": "Драган Стојковић", "given": "Драган", "family": "Стојковић", "initials": "Д. С."}
+{"name": "Драган Томић", "given": "Драган", "family": "Томић", "initials": "Д. Т."}
+{"name": "Драгомир Јовановић", "given": "Драгомир", "family": "Јовановић", "initials": "Д. Ј."}
+{"name": "Драгомир Милошевић", "given": "Драгомир", "family": "Милошевић", "initials": "Д. М."}
{"name": "Дулмаа Болд", "given": "Дулмаа", "family": "Болд", "initials": "Д. Б."}
+{"name": "Душан Милошевић", "given": "Душан", "family": "Милошевић", "initials": "Д. М."}
{"name": "Дятлов, Владимир Семёнович", "given": "Владимир", "middle": "Семёнович", "family": "Дятлов", "initials": "В. С. Д."}
+{"name": "Дәулет Болатұлы Тұрлыханов", "given": "Дәулет", "middle": "Болатұлы", "family": "Тұрлыханов", "initials": "Д. Б. Т."}
{"name": "Евгений Александрович Евтушенко", "given": "Евгений", "middle": "Александрович", "family": "Евтушенко", "initials": "Е. А. Е."}
{"name": "Евгений Викторович Осин", "given": "Евгений", "middle": "Викторович", "family": "Осин", "initials": "Е. В. О."}
{"name": "Евгений Романович Устюгов", "given": "Евгений", "middle": "Романович", "family": "Устюгов", "initials": "Е. Р. У."}
@@ -3757,9 +3883,11 @@
{"name": "Евтеев, Николай Петрович", "given": "Николай", "middle": "Петрович", "family": "Евтеев", "initials": "Н. П. Е."}
{"name": "Егор Николаевич Булаткин", "given": "Егор", "middle": "Николаевич", "family": "Булаткин", "initials": "Е. Н. Б."}
{"name": "Егор Николаевич Свиридов", "given": "Егор", "middle": "Николаевич", "family": "Свиридов", "initials": "Е. Н. С."}
+{"name": "Едуард Михайлович Москальов", "given": "Едуард", "middle": "Михайлович", "family": "Москальов", "initials": "Е. М. М."}
{"name": "Елена Вячеславовна Дементьева", "given": "Елена", "middle": "Вячеславовна", "family": "Дементьева", "initials": "Е. В. Д."}
{"name": "Елена Игоревна Лядова", "given": "Елена", "middle": "Игоревна", "family": "Лядова", "initials": "Е. И. Л."}
{"name": "Жанна Трофимовна Прохоренко", "given": "Жанна", "middle": "Трофимовна", "family": "Прохоренко", "initials": "Ж. Т. П."}
+{"name": "Желязко Ангелов", "given": "Желязко", "family": "Ангелов", "initials": "Ж. А."}
{"name": "Жилинский, Алексей Александрович", "given": "Алексей", "middle": "Александрович", "family": "Жилинский", "initials": "А. А. Ж."}
{"name": "Жиров, Александр Вячеславович", "given": "Александр", "middle": "Вячеславович", "family": "Жиров", "initials": "А. В. Ж."}
{"name": "Журавлёва, Людмила Васильевна", "given": "Людмила", "middle": "Васильевна", "family": "Журавлёва", "initials": "Л. В. Ж."}
@@ -3772,33 +3900,44 @@
{"name": "Залман Иосифович Якуб", "given": "Залман", "middle": "Иосифович", "family": "Якуб", "initials": "З. И. Я."}
{"name": "Зара Мери Джоунс", "given": "Зара", "middle": "Мери", "family": "Джоунс", "initials": "З. М. Д."}
{"name": "Заңғар Тәуекел", "given": "Заңғар", "family": "Тәуекел", "initials": "З. Т."}
+{"name": "Здравко Палазов", "given": "Здравко", "family": "Палазов", "initials": "З. П."}
{"name": "Зендая", "given": "Зендая", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "З."}
{"name": "Зендая", "order": "FAMILY_FIRST", "family": "Зендая", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "З."}
{"name": "Зорин, Михаил Петрович", "given": "Михаил", "middle": "Петрович", "family": "Зорин", "initials": "М. П. З."}
{"name": "Иван", "given": "Иван", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "И."}
{"name": "Иван", "order": "FAMILY_FIRST", "family": "Иван", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "И."}
{"name": "Иван Александрович Гончаров", "given": "Иван", "middle": "Александрович", "family": "Гончаров", "initials": "И. А. Г."}
+{"name": "Иван Андонов", "given": "Иван", "family": "Андонов", "initials": "И. А."}
{"name": "Иван Андреевич Созонов", "given": "Иван", "middle": "Андреевич", "family": "Созонов", "initials": "И. А. С."}
{"name": "Иван Васильевич Купцов", "given": "Иван", "middle": "Васильевич", "family": "Купцов", "initials": "И. В. К."}
{"name": "Иван Гугович Закс", "given": "Иван", "middle": "Гугович", "family": "Закс", "initials": "И. Г. З."}
+{"name": "Иван Катранов", "given": "Иван", "family": "Катранов", "initials": "И. К."}
+{"name": "Иван Коцев", "given": "Иван", "family": "Коцев", "initials": "И. К."}
{"name": "Иван Петрович Абрамович", "given": "Иван", "middle": "Петрович", "family": "Абрамович", "initials": "И. П. А."}
+{"name": "Иван Радовановић", "given": "Иван", "family": "Радовановић", "initials": "И. Р."}
+{"name": "Иван Радулов", "given": "Иван", "family": "Радулов", "initials": "И. Р."}
{"name": "Иван Савельевич Фатьянов", "given": "Иван", "middle": "Савельевич", "family": "Фатьянов", "initials": "И. С. Ф."}
{"name": "Иваницкий, Николай Иванович", "given": "Николай", "middle": "Иванович", "family": "Иваницкий", "initials": "Н. И. И."}
{"name": "Иванов Константин Васильевич", "order": "FAMILY_FIRST", "given": "Константин", "middle": "Васильевич", "family": "Иванов", "initials": "К. В. И."}
{"name": "Иванов, Артемий Васильевич", "given": "Артемий", "middle": "Васильевич", "family": "Иванов", "initials": "А. В. И."}
{"name": "Иванов, Константин Васильевич", "given": "Константин", "middle": "Васильевич", "family": "Иванов", "initials": "К. В. И."}
+{"name": "Игор Матић", "given": "Игор", "family": "Матић", "initials": "И. М."}
{"name": "Игорь Александрович Нетто", "given": "Игорь", "middle": "Александрович", "family": "Нетто", "initials": "И. А. Н."}
{"name": "Игорь Дмитриевич Серебряков", "given": "Игорь", "middle": "Дмитриевич", "family": "Серебряков", "initials": "И. Д. С."}
{"name": "Илемпи Корнилова", "given": "Илемпи", "family": "Корнилова", "initials": "И. К."}
+{"name": "Илија Петковић", "given": "Илија", "family": "Петковић", "initials": "И. П."}
{"name": "Илья Георгиевич Коробков", "given": "Илья", "middle": "Георгиевич", "family": "Коробков", "initials": "И. Г. К."}
{"name": "Иосиф Владимирович Гурко", "given": "Иосиф", "middle": "Владимирович", "family": "Гурко", "initials": "И. В. Г."}
{"name": "Ирена Марковић", "given": "Ирена", "family": "Марковић", "initials": "И. М."}
{"name": "Ирене Адлер", "given": "Ирене", "family": "Адлер", "initials": "И. А."}
{"name": "Ирина Амосова", "given": "Ирина", "family": "Амосова", "initials": "И. А."}
{"name": "Ирина Яҡупова", "given": "Ирина", "family": "Яҡупова", "initials": "И. Я."}
+{"name": "Йордан Мутафчиев", "given": "Йордан", "family": "Мутафчиев", "initials": "Й. М."}
{"name": "Кавалёў Мікалай Аляксандр", "order": "FAMILY_FIRST", "given": "Мікалай", "middle": "Аляксандр", "family": "Кавалёў", "initials": "М. А. К."}
{"name": "Кавалёў, Мікалай Аляксандр", "given": "Мікалай", "middle": "Аляксандр", "family": "Кавалёў", "initials": "М. А. К."}
+{"name": "Камен Петков", "given": "Камен", "family": "Петков", "initials": "К. П."}
{"name": "Каныкей Алымбекова", "given": "Каныкей", "family": "Алымбекова", "initials": "К. А."}
+{"name": "Карина Горичева", "given": "Карина", "family": "Горичева", "initials": "К. Г."}
{"name": "Касым Жоомарт Токаев", "given": "Касым", "middle": "Жоомарт", "family": "Токаев", "initials": "К. Ж. Т."}
{"name": "Кате Мюллер", "given": "Кате", "family": "Мюллер", "initials": "К. М."}
{"name": "Кати Мюлер", "given": "Кати", "family": "Мюлер", "initials": "К. М."}
@@ -3811,23 +3950,31 @@
{"name": "Козловский, Фёдор Алексеевич", "given": "Фёдор", "middle": "Алексеевич", "family": "Козловский", "initials": "Ф. А. К."}
{"name": "Колкутин, Андрей Борисович", "given": "Андрей", "middle": "Борисович", "family": "Колкутин", "initials": "А. Б. К."}
{"name": "Комиссаров Геннадий Германович", "order": "FAMILY_FIRST", "given": "Геннадий", "middle": "Германович", "family": "Комиссаров", "initials": "Г. Г. К."}
+{"name": "Константин Аврамов", "given": "Константин", "family": "Аврамов", "initials": "К. А."}
{"name": "Константин Васильевич Иванов", "given": "Константин", "middle": "Васильевич", "family": "Иванов", "initials": "К. В. И."}
+{"name": "Константин Константинов", "given": "Константин", "family": "Константинов", "initials": "К. К."}
+{"name": "Константин Марков", "given": "Константин", "family": "Марков", "initials": "К. М."}
{"name": "Константин Михайлович Попов", "given": "Константин", "middle": "Михайлович", "family": "Попов", "initials": "К. М. П."}
{"name": "Корнилова Илемпи", "order": "FAMILY_FIRST", "given": "Илемпи", "family": "Корнилова", "initials": "И. К."}
{"name": "Корнилова, Илемпи", "given": "Илемпи", "family": "Корнилова", "initials": "И. К."}
{"name": "Коробков, Илья Георгиевич", "given": "Илья", "middle": "Георгиевич", "family": "Коробков", "initials": "И. Г. К."}
{"name": "Корягин, Дмитрий Александрович", "given": "Дмитрий", "middle": "Александрович", "family": "Корягин", "initials": "Д. А. К."}
+{"name": "Коста Алексић", "given": "Коста", "family": "Алексић", "initials": "К. А."}
+{"name": "Коста Михаиловић", "given": "Коста", "family": "Михаиловић", "initials": "К. М."}
{"name": "Костин, Иван Алексеевич", "given": "Иван", "middle": "Алексеевич", "family": "Костин", "initials": "И. А. К."}
+{"name": "Красимир Спасов", "given": "Красимир", "family": "Спасов", "initials": "К. С."}
{"name": "Крсте", "given": "Крсте", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "К."}
{"name": "Крсте", "order": "FAMILY_FIRST", "family": "Крсте", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "К."}
{"name": "Крсте Мисирков", "given": "Крсте", "family": "Мисирков", "initials": "К. М."}
{"name": "Крсте Петков Мисирков", "given": "Крсте", "middle": "Петков", "family": "Мисирков", "initials": "К. П. М."}
+{"name": "Крум Дерменджиев", "given": "Крум", "family": "Дерменджиев", "initials": "К. Д."}
{"name": "Ксения Сергеевна Александрова", "given": "Ксения", "middle": "Сергеевна", "family": "Александрова", "initials": "К. С. А."}
{"name": "Кузнецов, Александр Петрович", "given": "Александр", "middle": "Петрович", "family": "Кузнецов", "initials": "А. П. К."}
{"name": "Кузнецов, Евгений Николаевич", "given": "Евгений", "middle": "Николаевич", "family": "Кузнецов", "initials": "Е. Н. К."}
{"name": "Купцов Иван Васильевич", "order": "FAMILY_FIRST", "given": "Иван", "middle": "Васильевич", "family": "Купцов", "initials": "И. В. К."}
{"name": "Купцов, Иван Васильевич", "given": "Иван", "middle": "Васильевич", "family": "Купцов", "initials": "И. В. К."}
{"name": "Кухаренко, Александр Александрович", "given": "Александр", "middle": "Александрович", "family": "Кухаренко", "initials": "А. А. К."}
+{"name": "Кучма Леонід Данилович", "order": "FAMILY_FIRST", "given": "Леонід", "middle": "Данилович", "family": "Кучма", "initials": "Л. Д. К."}
{"name": "Кэйт Мюллер", "given": "Кэйт", "family": "Мюллер", "initials": "К. М."}
{"name": "Кэти Мюлер", "given": "Кэти", "family": "Мюлер", "initials": "К. М."}
{"name": "Лев Семёнович Рубинштейн", "given": "Лев", "middle": "Семёнович", "family": "Рубинштейн", "initials": "Л. С. Р."}
@@ -3835,18 +3982,26 @@
{"name": "Леонид Иванович Иванов", "given": "Леонид", "middle": "Иванович", "family": "Иванов", "initials": "Л. И. И."}
{"name": "Леонид Эдуардович Слуцкий", "given": "Леонид", "middle": "Эдуардович", "family": "Слуцкий", "initials": "Л. Э. С."}
{"name": "Липицкий, Анатолий Григорьевич", "given": "Анатолий", "middle": "Григорьевич", "family": "Липицкий", "initials": "А. Г. Л."}
+{"name": "Лукань Володимир", "order": "FAMILY_FIRST", "given": "Володимир", "family": "Лукань", "initials": "В. Л."}
+{"name": "Луньов Святослав Ігорович", "order": "FAMILY_FIRST", "given": "Святослав", "middle": "Ігорович", "family": "Луньов", "initials": "С. І. Л."}
{"name": "Любовь Митрофановна Шуляк", "given": "Любовь", "middle": "Митрофановна", "family": "Шуляк", "initials": "Л. М. Ш."}
+{"name": "Любомир Кръстанов", "given": "Любомир", "family": "Кръстанов", "initials": "Л. К."}
{"name": "Мария Валерьевна Мазина", "given": "Мария", "middle": "Валерьевна", "family": "Мазина", "initials": "М. В. М."}
{"name": "Мария Петрова", "given": "Мария", "family": "Петрова", "initials": "М. П."}
{"name": "Марковић Ирена", "order": "FAMILY_FIRST", "given": "Ирена", "family": "Марковић", "initials": "И. М."}
{"name": "Марковић, Ирена", "given": "Ирена", "family": "Марковић", "initials": "И. М."}
+{"name": "Марія Панчишин", "given": "Марія", "family": "Панчишин", "initials": "М. П."}
{"name": "Матвеев, Герман Иванович", "given": "Герман", "middle": "Иванович", "family": "Матвеев", "initials": "Г. И. М."}
{"name": "Медведев, Николай Дмитриевич", "given": "Николай", "middle": "Дмитриевич", "family": "Медведев", "initials": "Н. Д. М."}
{"name": "Мельник Анна", "order": "FAMILY_FIRST", "given": "Анна", "family": "Мельник", "initials": "А. М."}
+{"name": "Микола Козленко", "given": "Микола", "family": "Козленко", "initials": "М. К."}
{"name": "Миленковић др Слађана Вера млађи, дипл. инж.", "order": "FAMILY_FIRST", "title": "дипл. инж.", "given": "др", "middle": "Слађана Вера", "family": "Миленковић", "suffix": "млађи", "initials": "д. С. В. М."}
{"name": "Миленковић, Слађана Вера", "given": "Слађана", "middle": "Вера", "family": "Миленковић", "initials": "С. В. М."}
{"name": "Милер Кете", "order": "FAMILY_FIRST", "given": "Кете", "family": "Милер", "initials": "К. М."}
{"name": "Милер, Кете", "given": "Кете", "family": "Милер", "initials": "К. М."}
+{"name": "Милко Бјелица", "given": "Милко", "family": "Бјелица", "initials": "М. Б."}
+{"name": "Миодраг Павловић", "given": "Миодраг", "family": "Павловић", "initials": "М. П."}
+{"name": "Мирослав Радовановић", "given": "Мирослав", "family": "Радовановић", "initials": "М. Р."}
{"name": "Мисирков Крсте", "order": "FAMILY_FIRST", "given": "Крсте", "family": "Мисирков", "initials": "К. М."}
{"name": "Мисирков Крсте Петков", "order": "FAMILY_FIRST", "given": "Крсте", "middle": "Петков", "family": "Мисирков", "initials": "К. П. М."}
{"name": "Мисирков, Крсте", "given": "Крсте", "family": "Мисирков", "initials": "К. М."}
@@ -3854,6 +4009,8 @@
{"name": "Михаил Дмитриевич Чулков", "given": "Михаил", "middle": "Дмитриевич", "family": "Чулков", "initials": "М. Д. Ч."}
{"name": "Михаил Михайлович Зощенко", "given": "Михаил", "middle": "Михайлович", "family": "Зощенко", "initials": "М. М. З."}
{"name": "Михаил Степанович Полунин", "given": "Михаил", "middle": "Степанович", "family": "Полунин", "initials": "М. С. П."}
+{"name": "Мија Јовановић", "given": "Мија", "family": "Јовановић", "initials": "М. Ј."}
+{"name": "Мовчан Борис Олексійович", "order": "FAMILY_FIRST", "given": "Борис", "middle": "Олексійович", "family": "Мовчан", "initials": "Б. О. М."}
{"name": "Моисеев, Александр Алексеевич", "given": "Александр", "middle": "Алексеевич", "family": "Моисеев", "initials": "А. А. М."}
{"name": "Мырза Чыңгыз Айтматов Исхак Раззаков уулу Төрөкул Махмудов Парламент мүчөсү", "given": "Мырза", "middle": "Чыңгыз Айтматов Исхак Раззаков уулу Төрөкул Махмудов Парламент", "family": "мүчөсү", "initials": "М. Ч. А. И. Р. у. Т. М. П. м."}
{"name": "Мэри Сю Хамиш Ватсон", "given": "Мэри", "middle": "Сю Хамиш", "family": "Ватсон", "initials": "М. С. Х. В."}
@@ -3872,12 +4029,22 @@
{"name": "Мікалай Аляксандр Кавалёў", "given": "Мікалай", "middle": "Аляксандр", "family": "Кавалёў", "initials": "М. А. К."}
{"name": "Мұхамеджан Әсем", "order": "FAMILY_FIRST", "given": "Әсем", "family": "Мұхамеджан", "initials": "Ә. М."}
{"name": "Мұхамеджан, Әсем", "given": "Әсем", "family": "Мұхамеджан", "initials": "Ә. М."}
+{"name": "Найден Тодоров", "given": "Найден", "family": "Тодоров", "initials": "Н. Т."}
{"name": "Насонов, Николай Викторович", "given": "Николай", "middle": "Викторович", "family": "Насонов", "initials": "Н. В. Н."}
{"name": "Наталья Арсентьевна Якубович", "given": "Наталья", "middle": "Арсентьевна", "family": "Якубович", "initials": "Н. А. Я."}
{"name": "Наумов, Вадим Владимирович", "given": "Вадим", "middle": "Владимирович", "family": "Наумов", "initials": "В. В. Н."}
{"name": "Наумов, Михаил Иванович", "given": "Михаил", "middle": "Иванович", "family": "Наумов", "initials": "М. И. Н."}
+{"name": "Небојша Стефановић", "given": "Небојша", "family": "Стефановић", "initials": "Н. С."}
+{"name": "Невен Суботић", "given": "Невен", "family": "Суботић", "initials": "Н. С."}
+{"name": "Неда Украден", "given": "Неда", "family": "Украден", "initials": "Н. У."}
+{"name": "Немања Максимовић", "given": "Немања", "family": "Максимовић", "initials": "Н. М."}
+{"name": "Немања Милетић", "given": "Немања", "family": "Милетић", "initials": "Н. М."}
+{"name": "Немелівський Михайло", "order": "FAMILY_FIRST", "given": "Михайло", "family": "Немелівський", "initials": "М. Н."}
+{"name": "Нено Неделчев", "given": "Нено", "family": "Неделчев", "initials": "Н. Н."}
{"name": "Никита Сергеевич Хрущёв", "given": "Никита", "middle": "Сергеевич", "family": "Хрущёв", "initials": "Н. С. Х."}
{"name": "Никитин, Алексей Алексеевич", "given": "Алексей", "middle": "Алексеевич", "family": "Никитин", "initials": "А. А. Н."}
+{"name": "Никола Мараш", "given": "Никола", "family": "Мараш", "initials": "Н. М."}
+{"name": "Никола Славков", "given": "Никола", "family": "Славков", "initials": "Н. С."}
{"name": "Николай Александрович Боярский", "given": "Николай", "middle": "Александрович", "family": "Боярский", "initials": "Н. А. Б."}
{"name": "Николай Александрович Энгельгардт", "given": "Николай", "middle": "Александрович", "family": "Энгельгардт", "initials": "Н. А. Э."}
{"name": "Николай Андреевич Рыбин", "given": "Николай", "middle": "Андреевич", "family": "Рыбин", "initials": "Н. А. Р."}
@@ -3887,6 +4054,8 @@
{"name": "Николай Евгеньевич Кабанов", "given": "Николай", "middle": "Евгеньевич", "family": "Кабанов", "initials": "Н. Е. К."}
{"name": "Николай Иванович Ашмарин", "given": "Николай", "middle": "Иванович", "family": "Ашмарин", "initials": "Н. И. А."}
{"name": "Николай Иванович Хохлов", "given": "Николай", "middle": "Иванович", "family": "Хохлов", "initials": "Н. И. Х."}
+{"name": "Николай Кашев", "given": "Николай", "family": "Кашев", "initials": "Н. К."}
+{"name": "Николай Михайлов", "given": "Николай", "family": "Михайлов", "initials": "Н. М."}
{"name": "Николай Николаевич Пикус", "given": "Николай", "middle": "Николаевич", "family": "Пикус", "initials": "Н. Н. П."}
{"name": "Николай Петрович Вагнер", "given": "Николай", "middle": "Петрович", "family": "Вагнер", "initials": "Н. П. В."}
{"name": "Николай Порфирьевич Архангельский", "given": "Николай", "middle": "Порфирьевич", "family": "Архангельский", "initials": "Н. П. А."}
@@ -3898,22 +4067,33 @@
{"name": "Нұрлан", "given": "Нұрлан", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Н."}
{"name": "Нұрлан", "order": "FAMILY_FIRST", "family": "Нұрлан", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Н."}
{"name": "Оксана Сергіївна Баюл", "given": "Оксана", "middle": "Сергіївна", "family": "Баюл", "initials": "О. С. Б."}
+{"name": "Олег Литвиненко", "given": "Олег", "family": "Литвиненко", "initials": "О. Л."}
+{"name": "Олег Сакиркин", "given": "Олег", "family": "Сакиркин", "initials": "О. С."}
+{"name": "Олександр Музичко", "given": "Олександр", "family": "Музичко", "initials": "О. М."}
+{"name": "Олександр Положинський", "given": "Олександр", "family": "Положинський", "initials": "О. П."}
+{"name": "Олексій Олексійович Гончаренко", "given": "Олексій", "middle": "Олексійович", "family": "Гончаренко", "initials": "О. О. Г."}
{"name": "Олимпиада Ивановна Шмидт", "given": "Олимпиада", "middle": "Ивановна", "family": "Шмидт", "initials": "О. И. Ш."}
{"name": "Ольга Игоревна Кабо", "given": "Ольга", "middle": "Игоревна", "family": "Кабо", "initials": "О. И. К."}
+{"name": "Ольга Рыпакова", "given": "Ольга", "family": "Рыпакова", "initials": "О. Р."}
{"name": "Ольховский, Валерий Сергеевич", "given": "Валерий", "middle": "Сергеевич", "family": "Ольховский", "initials": "В. С. О."}
{"name": "Павел Алексеевич Рубцов", "given": "Павел", "middle": "Алексеевич", "family": "Рубцов", "initials": "П. А. Р."}
{"name": "Павел Владимирович Сорокин", "given": "Павел", "middle": "Владимирович", "family": "Сорокин", "initials": "П. В. С."}
{"name": "Павел Ильич Таланкин", "given": "Павел", "middle": "Ильич", "family": "Таланкин", "initials": "П. И. Т."}
{"name": "Павел Михайлович Волков", "given": "Павел", "middle": "Михайлович", "family": "Волков", "initials": "П. М. В."}
+{"name": "Павел Попов", "given": "Павел", "family": "Попов", "initials": "П. П."}
{"name": "Павел Феодосьевич Кальницкий", "given": "Павел", "middle": "Феодосьевич", "family": "Кальницкий", "initials": "П. Ф. К."}
{"name": "Павел Яковлевич Любимов", "given": "Павел", "middle": "Яковлевич", "family": "Любимов", "initials": "П. Я. Л."}
{"name": "Панин, Алексей Вячеславович", "given": "Алексей", "middle": "Вячеславович", "family": "Панин", "initials": "А. В. П."}
{"name": "Пелагея Степановна Генералова", "given": "Пелагея", "middle": "Степановна", "family": "Генералова", "initials": "П. С. Г."}
+{"name": "Пеньо Велков", "given": "Пеньо", "family": "Велков", "initials": "П. В."}
+{"name": "Петар Јовичић", "given": "Петар", "family": "Јовичић", "initials": "П. Ј."}
+{"name": "Петко Петков", "given": "Петко", "family": "Петков", "initials": "П. П."}
{"name": "Петренко Анна Марія Богдан-Зиновій, доц., проф.", "title": "доц. проф.", "given": "Петренко", "middle": "Анна Марія", "family": "Богдан-Зиновій", "initials": "П. А. М. Б."}
{"name": "Петрова, Мария", "given": "Мария", "family": "Петрова", "initials": "М. П."}
{"name": "Петрова, Мария", "order": "FAMILY_FIRST", "given": "Мария", "family": "Петрова", "initials": "М. П."}
{"name": "Питер Брейгель мл.", "given": "Питер", "family": "Брейгель", "suffix": "мл.", "initials": "П. Б."}
{"name": "Повалишин, Владимир Михайлович", "given": "Владимир", "middle": "Михайлович", "family": "Повалишин", "initials": "В. М. П."}
+{"name": "Полунін Михайло Степанович", "order": "FAMILY_FIRST", "given": "Михайло", "middle": "Степанович", "family": "Полунін", "initials": "М. С. П."}
{"name": "Полянский, Борис Владимирович", "given": "Борис", "middle": "Владимирович", "family": "Полянский", "initials": "Б. В. П."}
{"name": "Попов, Андрей Александрович", "given": "Андрей", "middle": "Александрович", "family": "Попов", "initials": "А. А. П."}
{"name": "Попов, Василий Петрович", "given": "Василий", "middle": "Петрович", "family": "Попов", "initials": "В. П. П."}
@@ -3931,63 +4111,99 @@
{"name": "Равенская Вольга Караліна", "order": "FAMILY_FIRST", "given": "Вольга", "middle": "Караліна", "family": "Равенская", "initials": "В. К. Р."}
{"name": "Равенская, Вольга Караліна", "given": "Вольга", "middle": "Караліна", "family": "Равенская", "initials": "В. К. Р."}
{"name": "Рагозин, Евгений Иванович", "given": "Евгений", "middle": "Иванович", "family": "Рагозин", "initials": "Е. И. Р."}
+{"name": "Радован Панков", "given": "Радован", "family": "Панков", "initials": "Р. П."}
{"name": "Разумовский, Юрий Георгиевич", "given": "Юрий", "middle": "Георгиевич", "family": "Разумовский", "initials": "Ю. Г. Р."}
+{"name": "Ранко Поповић", "given": "Ранко", "family": "Поповић", "initials": "Р. П."}
{"name": "Расницын, Александр Павлович", "given": "Александр", "middle": "Павлович", "family": "Расницын", "initials": "А. П. Р."}
{"name": "Розенфельд, Михаил Константинович", "given": "Михаил", "middle": "Константинович", "family": "Розенфельд", "initials": "М. К. Р."}
{"name": "Рубин, Павел Германович", "given": "Павел", "middle": "Германович", "family": "Рубин", "initials": "П. Г. Р."}
{"name": "Рубинштейн, Лев Семёнович", "given": "Лев", "middle": "Семёнович", "family": "Рубинштейн", "initials": "Л. С. Р."}
+{"name": "Румяна Бъчварова", "given": "Румяна", "family": "Бъчварова", "initials": "Р. Б."}
{"name": "Рыбаков, Ярослав Владимирович", "given": "Ярослав", "middle": "Владимирович", "family": "Рыбаков", "initials": "Я. В. Р."}
{"name": "Рязанов, Евгений Фёдорович", "given": "Евгений", "middle": "Фёдорович", "family": "Рязанов", "initials": "Е. Ф. Р."}
{"name": "Саблин, Александр Алексеевич", "given": "Александр", "middle": "Алексеевич", "family": "Саблин", "initials": "А. А. С."}
{"name": "Саблин, Валерий Михайлович", "given": "Валерий", "middle": "Михайлович", "family": "Саблин", "initials": "В. М. С."}
{"name": "Самуил Хаимович Агурский", "given": "Самуил", "middle": "Хаимович", "family": "Агурский", "initials": "С. Х. А."}
{"name": "Сафонов, Эрнст Иванович", "given": "Эрнст", "middle": "Иванович", "family": "Сафонов", "initials": "Э. И. С."}
+{"name": "Свобода Бъчварова", "given": "Свобода", "family": "Бъчварова", "initials": "С. Б."}
{"name": "Семён Денисович Игнатьев", "given": "Семён", "middle": "Денисович", "family": "Игнатьев", "initials": "С. Д. И."}
{"name": "Сергей", "given": "Сергей", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Сергей", "order": "FAMILY_FIRST", "family": "Сергей", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Сергей Александрович Кирдяпкин", "given": "Сергей", "middle": "Александрович", "family": "Кирдяпкин", "initials": "С. А. К."}
{"name": "Сергей Дмитриевич Остапов", "given": "Сергей", "middle": "Дмитриевич", "family": "Остапов", "initials": "С. Д. О."}
+{"name": "Сергей Каримов", "given": "Сергей", "family": "Каримов", "initials": "С. К."}
{"name": "Сергей Михайлович Эйзенштейн", "given": "Сергей", "middle": "Михайлович", "family": "Эйзенштейн", "initials": "С. М. Э."}
+{"name": "Середа Григорій Кузьмич", "order": "FAMILY_FIRST", "given": "Григорій", "middle": "Кузьмич", "family": "Середа", "initials": "Г. К. С."}
{"name": "Сесилия Штобер", "given": "Сесилия", "family": "Штобер", "initials": "С. Ш."}
{"name": "Сидоров Иван Петрович", "given": "Сидоров", "middle": "Иван", "family": "Петрович", "initials": "С. И. П."}
+{"name": "Симона Пейчева", "given": "Симона", "family": "Пейчева", "initials": "С. П."}
{"name": "Синбад", "given": "Синбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Синбад", "order": "FAMILY_FIRST", "family": "Синбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Синдбад", "given": "Синдбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Синдбад", "order": "FAMILY_FIRST", "family": "Синдбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
+{"name": "Синиша Михајловић", "given": "Синиша", "family": "Михајловић", "initials": "С. М."}
{"name": "Слуцкий, Леонид Эдуардович", "given": "Леонид", "middle": "Эдуардович", "family": "Слуцкий", "initials": "Л. Э. С."}
{"name": "Смыслов, Василий Васильевич", "given": "Василий", "middle": "Васильевич", "family": "Смыслов", "initials": "В. В. С."}
{"name": "Сольский, Семён Мартынович", "given": "Семён", "middle": "Мартынович", "family": "Сольский", "initials": "С. М. С."}
+{"name": "Соња Петровић", "given": "Соња", "family": "Петровић", "initials": "С. П."}
+{"name": "Срђан Новаковић", "given": "Срђан", "family": "Новаковић", "initials": "С. Н."}
+{"name": "Станіслав Станкевич", "given": "Станіслав", "family": "Станкевич", "initials": "С. С."}
{"name": "Старовойтов, Андрей Васильевич", "given": "Андрей", "middle": "Васильевич", "family": "Старовойтов", "initials": "А. В. С."}
+{"name": "Стеван Плетикосић", "given": "Стеван", "family": "Плетикосић", "initials": "С. П."}
+{"name": "Стеван Хорват", "given": "Стеван", "family": "Хорват", "initials": "С. Х."}
+{"name": "Степаненко Василиса Іллівна", "order": "FAMILY_FIRST", "given": "Василиса", "middle": "Іллівна", "family": "Степаненко", "initials": "В. І. С."}
+{"name": "Стефан Огнянов", "given": "Стефан", "family": "Огнянов", "initials": "С. О."}
+{"name": "Стефан Петров", "given": "Стефан", "family": "Петров", "initials": "С. П."}
+{"name": "Стефка Георгиева", "given": "Стефка", "family": "Георгиева", "initials": "С. Г."}
{"name": "Стобер Зазилиа Хамиш", "order": "FAMILY_FIRST", "given": "Зазилиа", "middle": "Хамиш", "family": "Стобер", "initials": "З. Х. С."}
{"name": "Стобер Зазилия Ҳамиш", "order": "FAMILY_FIRST", "given": "Зазилия", "middle": "Ҳамиш", "family": "Стобер", "initials": "З. Ҳ. С."}
{"name": "Стобер Зазилія Хеміш", "order": "FAMILY_FIRST", "given": "Зазилія", "middle": "Хеміш", "family": "Стобер", "initials": "З. Х. С."}
{"name": "Стобер, Зазилиа Хамиш", "given": "Зазилиа", "middle": "Хамиш", "family": "Стобер", "initials": "З. Х. С."}
+{"name": "Стоян Александров", "given": "Стоян", "family": "Александров", "initials": "С. А."}
+{"name": "Стоян Мурин", "given": "Стоян", "family": "Мурин", "initials": "С. М."}
+{"name": "Страхил Попов", "given": "Страхил", "family": "Попов", "initials": "С. П."}
+{"name": "Страшимир Димитров", "given": "Страшимир", "family": "Димитров", "initials": "С. Д."}
{"name": "Сыймык", "given": "Сыймык", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Сыймык", "order": "FAMILY_FIRST", "family": "Сыймык", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Сёмин, Виталий Николаевич", "given": "Виталий", "middle": "Николаевич", "family": "Сёмин", "initials": "В. Н. С."}
{"name": "Сіндбад", "given": "Сіндбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
{"name": "Сіндбад", "order": "FAMILY_FIRST", "family": "Сіндбад", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "С."}
+{"name": "Татьяна Васильевна Костина", "given": "Татьяна", "middle": "Васильевна", "family": "Костина", "initials": "Т. В. К."}
{"name": "Татьяна Николаевна Семенова", "given": "Татьяна", "middle": "Николаевна", "family": "Семенова", "initials": "Т. Н. С."}
+{"name": "Теофил Панчић", "given": "Теофил", "family": "Панчић", "initials": "Т. П."}
+{"name": "Тина Крајишник", "given": "Тина", "family": "Крајишник", "initials": "Т. К."}
+{"name": "Тијана Богићевић", "given": "Тијана", "family": "Богићевић", "initials": "Т. Б."}
{"name": "Токаев Касым Жоомарт", "order": "FAMILY_FIRST", "given": "Касым", "middle": "Жоомарт", "family": "Токаев", "initials": "К. Ж. Т."}
{"name": "Тәуекел Заңғар", "order": "FAMILY_FIRST", "given": "Заңғар", "family": "Тәуекел", "initials": "З. Т."}
{"name": "Тәуекел, Заңғар Ермекұлы", "given": "Заңғар", "middle": "Ермекұлы", "family": "Тәуекел", "initials": "З. Е. Т."}
+{"name": "Төле Кенжебаев", "given": "Төле", "family": "Кенжебаев", "initials": "Т. К."}
+{"name": "Төлеу Шаханов", "given": "Төлеу", "family": "Шаханов", "initials": "Т. Ш."}
{"name": "Төмөр Ноён Азжаргал", "order": "FAMILY_FIRST", "given": "Ноён", "middle": "Азжаргал", "family": "Төмөр", "initials": "Н. А. Т."}
{"name": "Төмөр, Азжаргал", "given": "Азжаргал", "family": "Төмөр", "initials": "А. Т."}
{"name": "Ульяна Петровна Буянова", "given": "Ульяна", "middle": "Петровна", "family": "Буянова", "initials": "У. П. Б."}
{"name": "Урал", "given": "Урал", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "У."}
{"name": "Урал", "order": "FAMILY_FIRST", "family": "Урал", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "У."}
+{"name": "Урош Рачић", "given": "Урош", "family": "Рачић", "initials": "У. Р."}
{"name": "Фаттахов Азамат Салауат улы", "order": "FAMILY_FIRST", "given": "Азамат", "middle": "Салауат улы", "family": "Фаттахов", "initials": "А. С. у. Ф."}
{"name": "Фаттахов, Азамат Салауат улы", "given": "Азамат", "middle": "Салауат улы", "family": "Фаттахов", "initials": "А. С. у. Ф."}
{"name": "Фаусек, Юлия Ивановна", "given": "Юлия", "middle": "Ивановна", "family": "Фаусек", "initials": "Ю. И. Ф."}
{"name": "Федоренко Сергей Васильевич", "order": "FAMILY_FIRST", "given": "Сергей", "middle": "Васильевич", "family": "Федоренко", "initials": "С. В. Ф."}
{"name": "Федоренко, Сергей Васильевич", "given": "Сергей", "middle": "Васильевич", "family": "Федоренко", "initials": "С. В. Ф."}
+{"name": "Федоров Іван Сергійович", "order": "FAMILY_FIRST", "given": "Іван", "middle": "Сергійович", "family": "Федоров", "initials": "І. С. Ф."}
{"name": "Федот Васильевич Сычков", "given": "Федот", "middle": "Васильевич", "family": "Сычков", "initials": "Ф. В. С."}
+{"name": "Филип Ђуричић", "given": "Филип", "family": "Ђуричић", "initials": "Ф. Ђ."}
{"name": "Фоменков, Валерий Иванович", "given": "Валерий", "middle": "Иванович", "family": "Фоменков", "initials": "В. И. Ф."}
{"name": "Френкель Георгий Львович", "order": "FAMILY_FIRST", "given": "Георгий", "middle": "Львович", "family": "Френкель", "initials": "Г. Л. Ф."}
{"name": "ХОСЕ И МАРИЯ САНТОС", "given": "ХОСЕ И МАРИЯ", "family": "САНТОС", "initials": "Х. М. С."}
{"name": "Химченко, Виктор Иванович", "given": "Виктор", "middle": "Иванович", "family": "Химченко", "initials": "В. И. Х."}
{"name": "Хосе И Мария Сантос", "given": "Хосе И Мария", "family": "Сантос", "initials": "Х. М. С."}
{"name": "Хржановский, Андрей Юрьевич", "given": "Андрей", "middle": "Юрьевич", "family": "Хржановский", "initials": "А. Ю. Х."}
+{"name": "Христо Боев", "given": "Христо", "family": "Боев", "initials": "Х. Б."}
+{"name": "Христо Бончев", "given": "Христо", "family": "Бончев", "initials": "Х. Б."}
+{"name": "Христо Далчев", "given": "Христо", "family": "Далчев", "initials": "Х. Д."}
+{"name": "Христо Койчев", "given": "Христо", "family": "Койчев", "initials": "Х. К."}
+{"name": "Христо Миладинов", "given": "Христо", "family": "Миладинов", "initials": "Х. М."}
+{"name": "Царук Олександр Васильович", "order": "FAMILY_FIRST", "given": "Олександр", "middle": "Васильович", "family": "Царук", "initials": "О. В. Ц."}
{"name": "Цецилия Хэмиш Штёбер", "given": "Цецилия", "middle": "Хэмиш", "family": "Штёбер", "initials": "Ц. Х. Ш."}
{"name": "Цецилија Хамиш Штебер", "given": "Цецилија", "middle": "Хамиш", "family": "Штебер", "initials": "Ц. Х. Ш."}
{"name": "Цецилија Хемиш Штебер", "given": "Цецилија", "middle": "Хемиш", "family": "Штебер", "initials": "Ц. Х. Ш."}
@@ -4009,6 +4225,8 @@
{"name": "Штёбер, Цецилия Хэмиш", "given": "Цецилия", "middle": "Хэмиш", "family": "Штёбер", "initials": "Ц. Х. Ш."}
{"name": "Шцёбер Зазілія Хэміш", "order": "FAMILY_FIRST", "given": "Зазілія", "middle": "Хэміш", "family": "Шцёбер", "initials": "З. Х. Ш."}
{"name": "Шцёбер, Зазілія Хэміш", "given": "Зазілія", "middle": "Хэміш", "family": "Шцёбер", "initials": "З. Х. Ш."}
+{"name": "Юлия Кръстева", "given": "Юлия", "family": "Кръстева", "initials": "Ю. К."}
+{"name": "Юлія Волчкова", "given": "Юлія", "family": "Волчкова", "initials": "Ю. В."}
{"name": "Юрий Борисович Хржановский", "given": "Юрий", "middle": "Борисович", "family": "Хржановский", "initials": "Ю. Б. Х."}
{"name": "Юрий Георгиевич Разумовский", "given": "Юрий", "middle": "Георгиевич", "family": "Разумовский", "initials": "Ю. Г. Р."}
{"name": "Юрий Иванович Смирнов", "given": "Юрий", "middle": "Иванович", "family": "Смирнов", "initials": "Ю. И. С."}
@@ -4016,6 +4234,7 @@
{"name": "Юрий Петрович Любимов", "given": "Юрий", "middle": "Петрович", "family": "Любимов", "initials": "Ю. П. Л."}
{"name": "Юрій", "given": "Юрій", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ю."}
{"name": "Юрій", "order": "FAMILY_FIRST", "family": "Юрій", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ю."}
+{"name": "Янко Павлов", "given": "Янко", "family": "Павлов", "initials": "Я. П."}
{"name": "Яҡупова Ирина", "order": "FAMILY_FIRST", "given": "Ирина", "family": "Яҡупова", "initials": "И. Я."}
{"name": "Яҡупова, Ирина", "given": "Ирина", "family": "Яҡупова", "initials": "И. Я."}
{"name": "ван ден Волф проф. др Александра Ева Сара млађи, дипл. инж.", "order": "FAMILY_FIRST", "title": "дипл. инж.", "given": "ден", "middle": "Волф проф. др Александра Ева Сара", "family": "ван", "suffix": "млађи", "initials": "д. В. п. д. А. Е. С. в."}
@@ -4051,53 +4270,201 @@
{"name": "фон Брюль проф., д-р Ада Корнелия Сезар Мартин кесе, м. ф. д.", "order": "FAMILY_FIRST", "title": "д-р", "given": "Ада", "middle": "Корнелия Сезар Мартин кесе", "family": "фон Брюль проф.", "suffix": "м. ф. д.", "ambiguities": ["COMMA_STRUCTURE"], "initials": "А. К. С. М. к. ф. Б. п."}
{"name": "фон Вольф Гонзалес Домінго Анастасія Єва Софія, д-р, проф.", "title": "д-р проф.", "given": "фон", "middle": "Вольф Гонзалес Домінго Анастасія Єва", "family": "Софія", "initials": "ф. В. Г. Д. А. Є. С."}
{"name": "хосе и мария сантос", "given": "хосе и мария", "family": "сантос", "initials": "х. м. с."}
+{"name": "Қайрат Болатұлы Тұрлыханов", "given": "Қайрат", "middle": "Болатұлы", "family": "Тұрлыханов", "initials": "Қ. Б. Т."}
{"name": "Қасым Айдар", "order": "FAMILY_FIRST", "given": "Айдар", "family": "Қасым", "initials": "А. Қ."}
{"name": "Қасым, Айдар", "given": "Айдар", "family": "Қасым", "initials": "А. Қ."}
+{"name": "Әбіш Кекілбайұлы", "given": "Әбіш", "family": "Кекілбайұлы", "initials": "Ә. К."}
{"name": "Әсем Мұхамеджан", "given": "Әсем", "family": "Мұхамеджан", "initials": "Ә. М."}
{"name": "Ադամյան Հեղինե", "order": "FAMILY_FIRST", "given": "Հեղինե", "family": "Ադամյան", "initials": "Հ. Ա."}
+{"name": "Ալբերտ Հովհաննիսյան", "given": "Ալբերտ", "family": "Հովհաննիսյան", "initials": "Ա. Հ."}
+{"name": "Ալեքսանդր Երիցյան", "given": "Ալեքսանդր", "family": "Երիցյան", "initials": "Ա. Ե."}
+{"name": "Ալեքսանդր Թումասյան", "given": "Ալեքսանդր", "family": "Թումասյան", "initials": "Ա. Թ."}
+{"name": "Ալեքսանդր Մանասյան", "given": "Ալեքսանդր", "family": "Մանասյան", "initials": "Ա. Մ."}
+{"name": "Անդրանիկ Հարությունյան", "given": "Անդրանիկ", "family": "Հարությունյան", "initials": "Ա. Հ."}
+{"name": "Անդրանիկ Ղուկասյան", "given": "Անդրանիկ", "family": "Ղուկասյան", "initials": "Ա. Ղ."}
+{"name": "Անի Խաչիկյան", "given": "Անի", "family": "Խաչիկյան", "initials": "Ա. Խ."}
+{"name": "Անուշավան Ազատյան", "given": "Անուշավան", "family": "Ազատյան", "initials": "Ա. Ա."}
+{"name": "Աշոտ Պետրոսյան", "given": "Աշոտ", "family": "Պետրոսյան", "initials": "Ա. Պ."}
+{"name": "Արա Աբրահամյան", "given": "Արա", "family": "Աբրահամյան", "initials": "Ա. Ա."}
+{"name": "Արամ Սարգսյան", "given": "Արամ", "family": "Սարգսյան", "initials": "Ա. Ս."}
+{"name": "Արամ Քոչարյան", "given": "Արամ", "family": "Քոչարյան", "initials": "Ա. Ք."}
+{"name": "Արայիկ Մաթևոսյան", "given": "Արայիկ", "family": "Մաթևոսյան", "initials": "Ա. Մ."}
{"name": "Արթուր", "given": "Արթուր", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ա."}
{"name": "Արթուր", "order": "FAMILY_FIRST", "family": "Արթուր", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ա."}
+{"name": "Արթուր Բաղդասարյան", "given": "Արթուր", "family": "Բաղդասարյան", "initials": "Ա. Բ."}
+{"name": "Արթուր Մկրտչյան", "given": "Արթուր", "family": "Մկրտչյան", "initials": "Ա. Մ."}
+{"name": "Գառնիկ Հովհաննիսյան", "given": "Գառնիկ", "family": "Հովհաննիսյան", "initials": "Գ. Հ."}
+{"name": "Գոհար Գասպարյան", "given": "Գոհար", "family": "Գասպարյան", "initials": "Գ. Գ."}
+{"name": "Գրիգոր Բրուտյան", "given": "Գրիգոր", "family": "Բրուտյան", "initials": "Գ. Բ."}
+{"name": "Դավիթ Համբարձումյան", "given": "Դավիթ", "family": "Համբարձումյան", "initials": "Դ. Հ."}
{"name": "Դարբինյան Հովհաննես", "order": "FAMILY_FIRST", "given": "Հովհաննես", "family": "Դարբինյան", "initials": "Հ. Դ."}
{"name": "Դարբինյան Հովհաննես Արմենի", "order": "FAMILY_FIRST", "given": "Հովհաննես", "middle": "Արմենի", "family": "Դարբինյան", "initials": "Հ. Ա. Դ."}
+{"name": "Դերենիկ Սաֆարյան", "given": "Դերենիկ", "family": "Սաֆարյան", "initials": "Դ. Ս."}
+{"name": "Երվանդ Սուքիասյան", "given": "Երվանդ", "family": "Սուքիասյան", "initials": "Ե. Ս."}
+{"name": "Զառա Տոնիկյան", "given": "Զառա", "family": "Տոնիկյան", "initials": "Զ. Տ."}
+{"name": "Էդուարդ Մնացականյան", "given": "Էդուարդ", "family": "Մնացականյան", "initials": "Է. Մ."}
+{"name": "Էրիկ Սահակյան", "given": "Էրիկ", "family": "Սահակյան", "initials": "Է. Ս."}
+{"name": "Լենա Նազարյան", "given": "Լենա", "family": "Նազարյան", "initials": "Լ. Ն."}
+{"name": "Լորիս Ճգնավորյան", "given": "Լորիս", "family": "Ճգնավորյան", "initials": "Լ. Ճ."}
+{"name": "Լևոն Աղասյան", "given": "Լևոն", "family": "Աղասյան", "initials": "Լ. Ա."}
+{"name": "Կոնստանտին Օրբելյան", "given": "Կոնստանտին", "family": "Օրբելյան", "initials": "Կ. Օ."}
+{"name": "Հայկ Հակոբյան", "given": "Հայկ", "family": "Հակոբյան", "initials": "Հ. Հ."}
+{"name": "Հայկ Ղազարյան", "given": "Հայկ", "family": "Ղազարյան", "initials": "Հ. Ղ."}
{"name": "Հեղինե Ադամյան", "given": "Հեղինե", "family": "Ադամյան", "initials": "Հ. Ա."}
+{"name": "Հենրիկ Ազատյան", "given": "Հենրիկ", "family": "Ազատյան", "initials": "Հ. Ա."}
{"name": "Հովհաննես Արմենի Դարբինյան", "given": "Հովհաննես", "middle": "Արմենի", "family": "Դարբինյան", "initials": "Հ. Ա. Դ."}
+{"name": "Հրանտ Թովմասյան", "given": "Հրանտ", "family": "Թովմասյան", "initials": "Հ. Թ."}
+{"name": "Մամիկոն Աքուլյան", "given": "Մամիկոն", "family": "Աքուլյան", "initials": "Մ. Ա."}
+{"name": "Մանուել Պետրոսյան", "given": "Մանուել", "family": "Պետրոսյան", "initials": "Մ. Պ."}
+{"name": "Մարիա Հակոբյան", "given": "Մարիա", "family": "Հակոբյան", "initials": "Մ. Հ."}
+{"name": "Մարտին Սուքիասյան", "given": "Մարտին", "family": "Սուքիասյան", "initials": "Մ. Ս."}
+{"name": "Միքայել Հարությունյան", "given": "Միքայել", "family": "Հարությունյան", "initials": "Մ. Հ."}
{"name": "Մյուլեր Քեյթ", "order": "FAMILY_FIRST", "given": "Քեյթ", "family": "Մյուլեր", "initials": "Ք. Մ."}
+{"name": "Յուրի Դավթյան", "given": "Յուրի", "family": "Դավթյան", "initials": "Յ. Դ."}
+{"name": "Յուրի Հայրապետյան", "given": "Յուրի", "family": "Հայրապետյան", "initials": "Յ. Հ."}
+{"name": "Նորայր Ասլանյան", "given": "Նորայր", "family": "Ասլանյան", "initials": "Ն. Ա."}
+{"name": "Նունե Սարգսյան", "given": "Նունե", "family": "Սարգսյան", "initials": "Ն. Ս."}
{"name": "Շտյոբեր Ցեցիլիա", "order": "FAMILY_FIRST", "given": "Ցեցիլիա", "family": "Շտյոբեր", "initials": "Ց. Շ."}
{"name": "Շտյոբեր Ցեցիլիա Համիշ", "order": "FAMILY_FIRST", "given": "Ցեցիլիա", "middle": "Համիշ", "family": "Շտյոբեր", "initials": "Ց. Հ. Շ."}
+{"name": "Ռաֆիկ Եղոյան", "given": "Ռաֆիկ", "family": "Եղոյան", "initials": "Ռ. Ե."}
+{"name": "Ռոբերտ Արզումանյան", "given": "Ռոբերտ", "family": "Արզումանյան", "initials": "Ռ. Ա."}
+{"name": "Ռոբերտ Հովհաննիսյան", "given": "Ռոբերտ", "family": "Հովհաննիսյան", "initials": "Ռ. Հ."}
+{"name": "Ռոմեն Դավթյան", "given": "Ռոմեն", "family": "Դավթյան", "initials": "Ռ. Դ."}
+{"name": "Ռուբեն Վարդանյան", "given": "Ռուբեն", "family": "Վարդանյան", "initials": "Ռ. Վ."}
+{"name": "Սերգեյ Մովսեսյան", "given": "Սերգեյ", "family": "Մովսեսյան", "initials": "Ս. Մ."}
+{"name": "Սերգեյ Ներսիսյան", "given": "Սերգեյ", "family": "Ներսիսյան", "initials": "Ս. Ն."}
{"name": "Սինբադ", "given": "Սինբադ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ս."}
{"name": "Սինբադ", "order": "FAMILY_FIRST", "family": "Սինբադ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "Ս."}
+{"name": "Սուրեն Բաբայան", "given": "Սուրեն", "family": "Բաբայան", "initials": "Ս. Բ."}
+{"name": "Սուրեն Երեմյան", "given": "Սուրեն", "family": "Երեմյան", "initials": "Ս. Ե."}
+{"name": "Սուրեն Ծատուրյան", "given": "Սուրեն", "family": "Ծատուրյան", "initials": "Ս. Ծ."}
+{"name": "Սուրեն Նազարյան", "given": "Սուրեն", "family": "Նազարյան", "initials": "Ս. Ն."}
+{"name": "Ստեփան Նալբանդյան", "given": "Ստեփան", "family": "Նալբանդյան", "initials": "Ս. Ն."}
+{"name": "Վազգեն Մանուկյան", "given": "Վազգեն", "family": "Մանուկյան", "initials": "Վ. Մ."}
+{"name": "Վահագն Խաչատրյան", "given": "Վահագն", "family": "Խաչատրյան", "initials": "Վ. Խ."}
+{"name": "Վարդան Ստեփանյան", "given": "Վարդան", "family": "Ստեփանյան", "initials": "Վ. Ս."}
+{"name": "Վլադիմիր Դարբինյան", "given": "Վլադիմիր", "family": "Դարբինյան", "initials": "Վ. Դ."}
{"name": "Վոլֆ Ադա Կոռնելիա", "order": "FAMILY_FIRST", "given": "Ադա", "middle": "Կոռնելիա", "family": "Վոլֆ", "initials": "Ա. Կ. Վ."}
{"name": "Տեր-Պողոսյան Հայկ", "order": "FAMILY_FIRST", "given": "Հայկ", "family": "Տեր-Պողոսյան", "initials": "Հ. Տ."}
+{"name": "Տիգրան Նալբանդյան", "given": "Տիգրան", "family": "Նալբանդյան", "initials": "Տ. Ն."}
{"name": "Ցեցիլիա Համիշ Շտյոբեր", "given": "Ցեցիլիա", "middle": "Համիշ", "family": "Շտյոբեր", "initials": "Ց. Հ. Շ."}
{"name": "Քեյթ Մյուլեր", "given": "Քեյթ", "family": "Մյուլեր", "initials": "Ք. Մ."}
+{"name": "Ֆելիքս Բախչինյան", "given": "Ֆելիքս", "family": "Բախչինյան", "initials": "Ֆ. Բ."}
{"name": "բ․գ․դ․ Տեր-Պողոսյան Հայկ Պարգևի", "order": "FAMILY_FIRST", "given": "Տեր-Պողոսյան", "middle": "Հայկ Պարգևի", "family": "բ․գ․դ․", "initials": "Տ. Հ. Պ. բ."}
{"name": "բ․գ․դ․ դ-ր Ադա Կոռնելիա Սեզար Մարտին վան դեն Վոլֆ", "given": "բ․գ․դ․", "middle": "դ-ր Ադա Կոռնելիա Սեզար Մարտին վան դեն", "family": "Վոլֆ", "initials": "բ. դ. Ա. Կ. Ս. Մ. վ. դ. Վ."}
{"name": "բ․գ․դ․ պրն Հայկ Պարգևի Տեր-Պողոսյան", "given": "բ․գ․դ․", "middle": "պրն Հայկ Պարգևի", "family": "Տեր-Պողոսյան", "initials": "բ. պ. Հ. Պ. Տ."}
{"name": "բ․գ․դ․ վան դեն Վոլֆ Ադա Կոռնելիա Սեզար Մարտին", "order": "FAMILY_FIRST", "given": "վան", "middle": "դեն Վոլֆ Ադա Կոռնելիա Սեզար Մարտին", "family": "բ․գ․դ․", "initials": "վ. դ. Վ. Ա. Կ. Ս. Մ. բ."}
{"name": "אבן אבן-גבירול מר בנימין משה ח״כ", "order": "FAMILY_FIRST", "given": "אבן-גבירול", "middle": "מר בנימין משה ח״כ", "family": "אבן", "initials": "א. מ. ב. מ. ח. א."}
+{"name": "אבנר ברזני", "given": "אבנר", "family": "ברזני", "initials": "א. ב."}
+{"name": "אברהם אדן", "given": "אברהם", "family": "אדן", "initials": "א. א."}
+{"name": "אברהם כץ", "given": "אברהם", "family": "כץ", "initials": "א. כ."}
+{"name": "אברהם מור", "given": "אברהם", "family": "מור", "initials": "א. מ."}
+{"name": "אדם מזור", "given": "אדם", "family": "מזור", "initials": "א. מ."}
+{"name": "אהרן הלוי", "given": "אהרן", "family": "הלוי", "initials": "א. ה."}
+{"name": "אהרן מונדשיין", "given": "אהרן", "family": "מונדשיין", "initials": "א. מ."}
+{"name": "אהרן מסקין", "given": "אהרן", "family": "מסקין", "initials": "א. מ."}
+{"name": "איתי שכטר", "given": "איתי", "family": "שכטר", "initials": "א. ש."}
+{"name": "אלישבע מיכאלי", "given": "אלישבע", "family": "מיכאלי", "initials": "א. מ."}
+{"name": "אלישע אפרת", "given": "אלישע", "family": "אפרת", "initials": "א. א."}
+{"name": "אלישע פורת", "given": "אלישע", "family": "פורת", "initials": "א. פ."}
+{"name": "אמה תלמי", "given": "אמה", "family": "תלמי", "initials": "א. ת."}
+{"name": "אמיר דרורי", "given": "אמיר", "family": "דרורי", "initials": "א. ד."}
+{"name": "אסתר אלכסנדר", "given": "אסתר", "family": "אלכסנדר", "initials": "א. א."}
+{"name": "אריק איינשטיין", "given": "אריק", "family": "איינשטיין", "initials": "א. א."}
+{"name": "אשר דורי", "given": "אשר", "family": "דורי", "initials": "א. ד."}
+{"name": "בלה קאופמן", "given": "בלה", "family": "קאופמן", "initials": "ב. ק."}
+{"name": "ברוך אורן", "given": "ברוך", "family": "אורן", "initials": "ב. א."}
+{"name": "ברוך מודן", "given": "ברוך", "family": "מודן", "initials": "ב. מ."}
+{"name": "ברכה רוזנפלד", "given": "ברכה", "family": "רוזנפלד", "initials": "ב. ר."}
+{"name": "גיא וסרדם", "given": "גיא", "family": "וסרדם", "initials": "ג. ו."}
+{"name": "דבורה עומר", "given": "דבורה", "family": "עומר", "initials": "ד. ע."}
+{"name": "דוד בן־גוריון", "given": "דוד", "family": "בן־גוריון", "initials": "ד. ב."}
+{"name": "דן מורי", "given": "דן", "family": "מורי", "initials": "ד. מ."}
+{"name": "דניאל פאר", "given": "דניאל", "family": "פאר", "initials": "ד. פ."}
{"name": "דנית לוי", "given": "דנית", "family": "לוי", "initials": "ד. ל."}
+{"name": "ורה אלכסנדר", "given": "ורה", "family": "אלכסנדר", "initials": "ו. א."}
+{"name": "זאב מרגלית", "given": "זאב", "family": "מרגלית", "initials": "ז. מ."}
{"name": "זזיליה חמיש סטובר", "given": "זזיליה", "middle": "חמיש", "family": "סטובר", "initials": "ז. ח. ס."}
+{"name": "חיים מולכו", "given": "חיים", "family": "מולכו", "initials": "ח. מ."}
+{"name": "חנה אייכינגרין", "given": "חנה", "family": "אייכינגרין", "initials": "ח. א."}
+{"name": "ידידיה כהן", "given": "ידידיה", "family": "כהן", "initials": "י. כ."}
+{"name": "יהודה כהן", "given": "יהודה", "family": "כהן", "initials": "י. כ."}
{"name": "יונתן", "given": "יונתן", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "י."}
{"name": "יונתן", "order": "FAMILY_FIRST", "family": "יונתן", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "י."}
{"name": "יונתן חיים כהן", "given": "יונתן", "middle": "חיים", "family": "כהן", "initials": "י. ח. כ."}
+{"name": "יצחק טישלר", "given": "יצחק", "family": "טישלר", "initials": "י. ט."}
+{"name": "יצחק יעקב", "given": "יצחק", "family": "יעקב", "initials": "י. י."}
+{"name": "יצחק רבין", "given": "יצחק", "family": "רבין", "initials": "י. ר."}
+{"name": "ישעיהו פרס", "given": "ישעיהו", "family": "פרס", "initials": "י. פ."}
{"name": "כהן יונתן חיים", "order": "FAMILY_FIRST", "given": "יונתן", "middle": "חיים", "family": "כהן", "initials": "י. ח. כ."}
{"name": "לוי דנית", "order": "FAMILY_FIRST", "given": "דנית", "family": "לוי", "initials": "ד. ל."}
+{"name": "לולה פולמן", "given": "לולה", "family": "פולמן", "initials": "ל. פ."}
+{"name": "לייב וייספיש", "given": "לייב", "family": "וייספיש", "initials": "ל. ו."}
+{"name": "מאיר ישראל", "given": "מאיר", "family": "ישראל", "initials": "מ. י."}
{"name": "מולר קתה", "order": "FAMILY_FIRST", "given": "קתה", "family": "מולר", "initials": "ק. מ."}
+{"name": "מיכאל אלמוג", "given": "מיכאל", "family": "אלמוג", "initials": "מ. א."}
+{"name": "מישאל חשין", "given": "מישאל", "family": "חשין", "initials": "מ. ח."}
+{"name": "מנחם נאור", "given": "מנחם", "family": "נאור", "initials": "מ. נ."}
+{"name": "מנשה רז", "given": "מנשה", "family": "רז", "initials": "מ. ר."}
{"name": "מר בנימין משה אבן אבן-גבירול ח״כ", "title": "מר", "given": "בנימין", "middle": "משה אבן אבן-גבירול", "family": "ח״כ", "initials": "ב. מ. א. א. ח."}
+{"name": "משה בן-שאול", "given": "משה", "family": "בן-שאול", "initials": "מ. ב."}
+{"name": "משה חלוץ", "given": "משה", "family": "חלוץ", "initials": "מ. ח."}
+{"name": "משה מזור", "given": "משה", "family": "מזור", "initials": "מ. מ."}
{"name": "סטובר זזיליה חמיש", "order": "FAMILY_FIRST", "given": "זזיליה", "middle": "חמיש", "family": "סטובר", "initials": "ז. ח. ס."}
{"name": "סינבד", "given": "סינבד", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ס."}
{"name": "סינבד", "order": "FAMILY_FIRST", "family": "סינבד", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ס."}
+{"name": "עמוס ברנס", "given": "עמוס", "family": "ברנס", "initials": "ע. ב."}
+{"name": "עמוס הדר", "given": "עמוס", "family": "הדר", "initials": "ע. ה."}
+{"name": "עמרי שרון", "given": "עמרי", "family": "שרון", "initials": "ע. ש."}
{"name": "פון ברוהל גונזלס דומינגו פרופ׳ עדה קורנליה סזאר מרטין ד״ר", "order": "FAMILY_FIRST", "given": "ברוהל", "middle": "גונזלס דומינגו פרופ׳ עדה קורנליה סזאר מרטין ד״ר", "family": "פון", "initials": "ב. ג. ד. פ. ע. ק. ס. מ. ד. פ."}
{"name": "פון ברוהל גונזלס דומינגו, פרופ׳ עדה קורנליה סזאר מרטין ד״ר", "title": "פרופ׳", "given": "עדה", "middle": "קורנליה סזאר מרטין ד״ר", "family": "פון ברוהל גונזלס דומינגו", "initials": "ע. ק. ס. מ. ד. פ. ב. ג. ד."}
{"name": "פרופ׳ עדה קורנליה סזאר מרטין פון ברוהל גונזלס דומינגו ד״ר", "title": "פרופ׳", "given": "עדה", "middle": "קורנליה סזאר מרטין פון ברוהל גונזלס דומינגו", "family": "ד״ר", "initials": "ע. ק. ס. מ. פ. ב. ג. ד. ד."}
+{"name": "צבי ארד", "given": "צבי", "family": "ארד", "initials": "צ. א."}
{"name": "קתה מולר", "given": "קתה", "family": "מולר", "initials": "ק. מ."}
+{"name": "רון ארד", "given": "רון", "family": "ארד", "initials": "ר. א."}
+{"name": "רון פלר", "given": "רון", "family": "פלר", "initials": "ר. פ."}
+{"name": "רחל שור", "given": "רחל", "family": "שור", "initials": "ר. ש."}
+{"name": "שולה ליטן", "given": "שולה", "family": "ליטן", "initials": "ש. ל."}
+{"name": "שלמה תמיר", "given": "שלמה", "family": "תמיר", "initials": "ש. ת."}
+{"name": "שמואל דביר", "given": "שמואל", "family": "דביר", "initials": "ש. ד."}
+{"name": "ששון סומך", "given": "ששון", "family": "סומך", "initials": "ש. ס."}
+{"name": "תומר שחורי", "given": "תומר", "family": "שחורי", "initials": "ת. ש."}
+{"name": "תמיר כהן", "given": "תמיר", "family": "כהן", "initials": "ת. כ."}
+{"name": "תמרה כהן", "given": "תמרה", "family": "כהן", "initials": "ת. כ."}
{"name": "آئرين ائڊلر", "given": "آئرين", "family": "ائڊلر", "initials": "آ. ا."}
{"name": "آقای امیر هوشنگ رستگار دکتر", "given": "آقای", "middle": "امیر هوشنگ رستگار", "family": "دکتر", "initials": "آ. ا. ه. ر. د."}
+{"name": "آمال فهمي", "given": "آمال", "family": "فهمي", "initials": "آ. ف."}
{"name": "آیتین عدلو", "given": "آیتین", "family": "عدلو", "initials": "آ. ع."}
{"name": "أبو الأغا، أحمد رامي نجيب محفوظ", "order": "FAMILY_FIRST", "given": "أحمد", "middle": "رامي نجيب محفوظ", "family": "أبو الأغا", "initials": "أ. ر. ن. م. ا."}
+{"name": "أبو بكر الشاطري", "given": "أبو بكر", "family": "الشاطري", "initials": "أ. ب. ا."}
+{"name": "أبو بكر سالم", "given": "أبو بكر", "family": "سالم", "initials": "أ. ب. س."}
+{"name": "أحلام الجريتلي", "given": "أحلام", "family": "الجريتلي", "initials": "أ. ا."}
+{"name": "أحمد حجازي", "given": "أحمد", "family": "حجازي", "initials": "أ. ح."}
+{"name": "أحمد سالم", "given": "أحمد", "family": "سالم", "initials": "أ. س."}
+{"name": "أحمد قنديل", "given": "أحمد", "family": "قنديل", "initials": "أ. ق."}
+{"name": "أحمد مصطفى", "given": "أحمد", "family": "مصطفى", "initials": "أ. م."}
+{"name": "أصالة نصري", "given": "أصالة", "family": "نصري", "initials": "أ. ن."}
+{"name": "أكرم التلاوي", "given": "أكرم", "family": "التلاوي", "initials": "أ. ا."}
+{"name": "أكرم عجة", "given": "أكرم", "family": "عجة", "initials": "أ. ع."}
+{"name": "ألكسندر دارسي", "given": "ألكسندر", "family": "دارسي", "initials": "أ. د."}
+{"name": "أمجد الطرابلسي", "given": "أمجد", "family": "الطرابلسي", "initials": "أ. ا."}
+{"name": "أمين دابو", "given": "أمين", "family": "دابو", "initials": "أ. د."}
+{"name": "أمين سامي", "given": "أمين", "family": "سامي", "initials": "أ. س."}
+{"name": "أمينة رشيد", "given": "أمينة", "family": "رشيد", "initials": "أ. ر."}
+{"name": "أنطوانيت نجيب", "given": "أنطوانيت", "family": "نجيب", "initials": "أ. ن."}
+{"name": "أنطونيوس نجيب", "given": "أنطونيوس", "family": "نجيب", "initials": "أ. ن."}
+{"name": "أيمن الدُّقر", "given": "أيمن", "family": "الدُّقر", "initials": "أ. ا."}
+{"name": "إبراهيم البغدادي", "given": "إبراهيم", "family": "البغدادي", "initials": "إ. ا."}
+{"name": "إبراهيم الغلاييني", "given": "إبراهيم", "family": "الغلاييني", "initials": "إ. ا."}
+{"name": "إبراهيم صالح", "given": "إبراهيم", "family": "صالح", "initials": "إ. ص."}
+{"name": "إحسان الرفاعي", "given": "إحسان", "family": "الرفاعي", "initials": "إ. ا."}
+{"name": "إلهام حسين", "given": "إلهام", "family": "حسين", "initials": "إ. ح."}
+{"name": "إلياس الزيَّات", "given": "إلياس", "family": "الزيَّات", "initials": "إ. ا."}
+{"name": "إيهاب خورشيد", "given": "إيهاب", "family": "خورشيد", "initials": "إ. خ."}
{"name": "ائڊلر آئرين", "order": "FAMILY_FIRST", "given": "آئرين", "family": "ائڊلر", "initials": "آ. ا."}
{"name": "احمد", "given": "احمد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ا."}
{"name": "احمد", "order": "FAMILY_FIRST", "family": "احمد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ا."}
+{"name": "احمد گلشیری", "given": "احمد", "family": "گلشیری", "initials": "ا. گ."}
{"name": "ادا كورنەليا فون بريۋل جۋنيور، ءتىس دارىگەرى", "given": "ءتىس", "middle": "دارىگەرى", "family": "ادا كورنەليا فون بريۋل جۋنيور", "initials": "ء. د. ا. ك. ف. ب. ج."}
{"name": "ارین اډلر", "given": "ارین", "family": "اډلر", "initials": "ا. ا."}
{"name": "استوبر، زازیلیا هایمیش", "order": "FAMILY_FIRST", "given": "زازیلیا", "middle": "هایمیش", "family": "استوبر", "initials": "ز. ه. ا."}
@@ -4116,41 +4483,142 @@
{"name": "بالقىباي، ماقسات توقماحامبەتۇلى", "order": "FAMILY_FIRST", "given": "ماقسات", "middle": "توقماحامبەتۇلى", "family": "بالقىباي", "initials": "م. ت. ب."}
{"name": "بروهل، آدا کورنلیا سزار مارتین وان", "order": "FAMILY_FIRST", "given": "آدا", "middle": "کورنلیا سزار مارتین وان", "family": "بروهل", "initials": "آ. ک. س. م. و. ب."}
{"name": "بريۋل، ادا كورنەليا سەزار مارتين فون", "order": "FAMILY_FIRST", "given": "ادا", "middle": "كورنەليا سەزار مارتين فون", "family": "بريۋل", "initials": "ا. ك. س. م. ف. ب."}
+{"name": "بهروز بوچانی", "given": "بهروز", "family": "بوچانی", "initials": "ب. ب."}
+{"name": "بهمن جلالی", "given": "بهمن", "family": "جلالی", "initials": "ب. ج."}
+{"name": "بهيج الخطيب", "given": "بهيج", "family": "الخطيب", "initials": "ب. ا."}
{"name": "جان همیش واټسن", "given": "جان", "middle": "همیش", "family": "واټسن", "initials": "ج. ه. و."}
+{"name": "جلال همتی", "given": "جلال", "family": "همتی", "initials": "ج. ه."}
+{"name": "جمال محمد", "given": "جمال", "family": "محمد", "initials": "ج. م."}
+{"name": "جميل عز الدين", "given": "جميل", "middle": "عز", "family": "الدين", "initials": "ج. ع. ا."}
+{"name": "جورج إسحاق", "given": "جورج", "family": "إسحاق", "initials": "ج. إ."}
{"name": "جورج بوش الابن", "given": "جورج", "family": "بوش", "suffix": "الابن", "initials": "ج. ب."}
+{"name": "جورج ميشيل", "given": "جورج", "family": "ميشيل", "initials": "ج. م."}
+{"name": "جيانيس كريستو", "given": "جيانيس", "family": "كريستو", "initials": "ج. ك."}
+{"name": "جيهان السادات", "given": "جيهان", "family": "السادات", "initials": "ج. ا."}
+{"name": "حاتم علي", "given": "حاتم", "family": "علي", "initials": "ح. ع."}
{"name": "حاتم منصور", "given": "حاتم", "family": "منصور", "initials": "ح. م."}
+{"name": "حازم هاشم", "given": "حازم", "family": "هاشم", "initials": "ح. ه."}
+{"name": "حسن دانشفر", "given": "حسن", "family": "دانشفر", "initials": "ح. د."}
+{"name": "حسن شحاتة", "given": "حسن", "family": "شحاتة", "initials": "ح. ش."}
+{"name": "حسني سبح", "given": "حسني", "family": "سبح", "initials": "ح. س."}
+{"name": "حسين خطاب", "given": "حسين", "family": "خطاب", "initials": "ح. خ."}
+{"name": "حسین امینی", "given": "حسین", "family": "امینی", "initials": "ح. ا."}
+{"name": "حسین حسینی", "given": "حسین", "family": "حسینی", "initials": "ح. ح."}
+{"name": "حكمت هاشم", "given": "حكمت", "family": "هاشم", "initials": "ح. ه."}
+{"name": "حليم بركات", "given": "حليم", "family": "بركات", "initials": "ح. ب."}
+{"name": "حمدان شلبي", "given": "حمدان", "family": "شلبي", "initials": "ح. ش."}
+{"name": "حمدي الحريري", "given": "حمدي", "family": "الحريري", "initials": "ح. ا."}
+{"name": "حميدة الطاهر", "given": "حميدة", "family": "الطاهر", "initials": "ح. ا."}
+{"name": "خالد عزيز", "given": "خالد", "family": "عزيز", "initials": "خ. ع."}
{"name": "خان مریم نواز", "order": "FAMILY_FIRST", "given": "مریم", "middle": "نواز", "family": "خان", "initials": "م. ن. خ."}
{"name": "خان، مریم نواز", "order": "FAMILY_FIRST", "given": "مریم", "middle": "نواز", "family": "خان", "initials": "م. ن. خ."}
+{"name": "خضر الأحمد", "given": "خضر", "family": "الأحمد", "initials": "خ. ا."}
+{"name": "رائد المتني", "given": "رائد", "family": "المتني", "initials": "ر. ا."}
+{"name": "رامي مخلوف", "given": "رامي", "family": "مخلوف", "initials": "ر. م."}
+{"name": "رجاء يوسف", "given": "رجاء", "family": "يوسف", "initials": "ر. ي."}
{"name": "رستگار، آقای امیر هوشنگ دکتر", "order": "FAMILY_FIRST", "given": "آقای", "middle": "امیر هوشنگ دکتر", "family": "رستگار", "initials": "آ. ا. ه. د. ر."}
{"name": "رستگار، امیر هوشنگ", "order": "FAMILY_FIRST", "given": "امیر", "middle": "هوشنگ", "family": "رستگار", "initials": "ا. ه. ر."}
+{"name": "رشاد رشدي", "given": "رشاد", "family": "رشدي", "initials": "ر. ر."}
+{"name": "رمضان ديب", "given": "رمضان", "family": "ديب", "initials": "ر. د."}
+{"name": "رنا أحمد", "given": "رنا", "family": "أحمد", "initials": "ر. أ."}
+{"name": "ريما الجفالي", "given": "ريما", "family": "الجفالي", "initials": "ر. ا."}
{"name": "زازیلیا هایمیش استوبر", "given": "زازیلیا", "middle": "هایمیش", "family": "استوبر", "initials": "ز. ه. ا."}
+{"name": "زكي مبارك", "given": "زكي", "family": "مبارك", "initials": "ز. م."}
+{"name": "زكية إبراهيم", "given": "زكية", "family": "إبراهيم", "initials": "ز. إ."}
{"name": "زيزيليا ھئمش اسٽوبر", "given": "زيزيليا", "middle": "ھئمش", "family": "اسٽوبر", "initials": "ز. ھ. ا."}
{"name": "زيزينيا هاميش ستوبر", "given": "زيزينيا", "middle": "هاميش", "family": "ستوبر", "initials": "ز. ه. س."}
{"name": "زیزیلیا همیش سټوبر", "given": "زیزیلیا", "middle": "همیش", "family": "سټوبر", "initials": "ز. ه. س."}
{"name": "سامانتا", "given": "سامانتا", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سامانتا", "order": "FAMILY_FIRST", "family": "سامانتا", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
+{"name": "سامي الكيالي", "given": "سامي", "family": "الكيالي", "initials": "س. ا."}
{"name": "ستوبر، زيزينيا هاميش", "order": "FAMILY_FIRST", "given": "زيزينيا", "middle": "هاميش", "family": "ستوبر", "initials": "ز. ه. س."}
+{"name": "سحر كامل", "given": "سحر", "family": "كامل", "initials": "س. ك."}
+{"name": "سعيد حماد", "given": "سعيد", "family": "حماد", "initials": "س. ح."}
+{"name": "سلام امینی", "given": "سلام", "family": "امینی", "initials": "س. ا."}
+{"name": "سلطان البرقان", "given": "سلطان", "family": "البرقان", "initials": "س. ا."}
{"name": "سلمان, محمد", "given": "محمد", "family": "سلمان", "initials": "م. س."}
{"name": "سلمان،", "given": "سلمان", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سلمان، محمد", "given": "محمد", "family": "سلمان", "initials": "م. س."}
+{"name": "سليمان الجوخدار", "given": "سليمان", "family": "الجوخدار", "initials": "س. ا."}
+{"name": "سمر عبد العزيز", "given": "سمر", "middle": "عبد", "family": "العزيز", "initials": "س. ع. ا."}
+{"name": "سمير سرور", "given": "سمير", "family": "سرور", "initials": "س. س."}
{"name": "سميرة النجار", "given": "سميرة", "family": "النجار", "initials": "س. ا."}
+{"name": "سميرة خاشقجي", "given": "سميرة", "family": "خاشقجي", "initials": "س. خ."}
+{"name": "سميرة عزت", "given": "سميرة", "family": "عزت", "initials": "س. ع."}
{"name": "سنباد", "given": "سنباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سنباد", "order": "FAMILY_FIRST", "family": "سنباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سندباد", "given": "سندباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سندباد", "order": "FAMILY_FIRST", "family": "سندباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
+{"name": "سهيل الغزي", "given": "سهيل", "family": "الغزي", "initials": "س. ا."}
+{"name": "سوسن ربيع", "given": "سوسن", "family": "ربيع", "initials": "س. ر."}
+{"name": "سيد كريم", "given": "سيد", "family": "كريم", "initials": "س. ك."}
{"name": "سينباد", "given": "سينباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سينباد", "order": "FAMILY_FIRST", "family": "سينباد", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "س."}
{"name": "سټوبر زیزیلیا همیش", "order": "FAMILY_FIRST", "given": "زیزیلیا", "middle": "همیش", "family": "سټوبر", "initials": "ز. ه. س."}
{"name": "سید عبد الکریم عبد الحمید ایم پی", "order": "FAMILY_FIRST", "given": "عبد", "middle": "الکریم عبد الحمید ایم پی", "family": "سید", "initials": "ع. ا. ع. ا. ا. پ. س."}
{"name": "سید، عبد الکریم عبد الحمید ایم پی", "order": "FAMILY_FIRST", "given": "عبد الکریم", "middle": "عبد الحمید ایم پی", "family": "سید", "initials": "ع. ا. ع. ا. ا. پ. س."}
+{"name": "سیروس قهرمانی", "given": "سیروس", "family": "قهرمانی", "initials": "س. ق."}
+{"name": "سیروس گرجستانی", "given": "سیروس", "family": "گرجستانی", "initials": "س. گ."}
{"name": "سەسيليا شتوبەر", "given": "سەسيليا", "family": "شتوبەر", "initials": "س. ش."}
{"name": "شازیہ اصغر", "given": "شازیہ", "family": "اصغر", "initials": "ش. ا."}
{"name": "شتوبەر سەسيليا", "order": "FAMILY_FIRST", "given": "سەسيليا", "family": "شتوبەر", "initials": "س. ش."}
{"name": "شتوبەر، سەسيليا حەمىش", "order": "FAMILY_FIRST", "given": "سەسيليا", "middle": "حەمىش", "family": "شتوبەر", "initials": "س. ح. ش."}
+{"name": "شهره آغداشلو", "given": "شهره", "family": "آغداشلو", "initials": "ش. آ."}
+{"name": "شيماء الصباغ", "given": "شيماء", "family": "الصباغ", "initials": "ش. ا."}
{"name": "صابری محمد ہاشم", "order": "FAMILY_FIRST", "given": "محمد", "middle": "ہاشم", "family": "صابری", "initials": "م. ہ. ص."}
{"name": "صابری، محمد ہاشم", "order": "FAMILY_FIRST", "given": "محمد", "middle": "ہاشم", "family": "صابری", "initials": "م. ہ. ص."}
+{"name": "صالح اسدی", "given": "صالح", "family": "اسدی", "initials": "ص. ا."}
+{"name": "صالح اللحيدان", "given": "صالح", "family": "اللحيدان", "initials": "ص. ا."}
+{"name": "صالح خالد الشهري", "given": "صالح", "middle": "خالد", "family": "الشهري", "initials": "ص. خ. ا."}
+{"name": "صلاح المُولَّد", "given": "صلاح", "family": "المُولَّد", "initials": "ص. ا."}
+{"name": "صنع الله إبراهيم", "given": "صنع", "middle": "الله", "family": "إبراهيم", "initials": "ص. ا. إ."}
+{"name": "طارق سلامة", "given": "طارق", "family": "سلامة", "initials": "ط. س."}
+{"name": "طارق عبد العزيز", "given": "طارق", "middle": "عبد", "family": "العزيز", "initials": "ط. ع. ا."}
+{"name": "طلعت زكريا", "given": "طلعت", "family": "زكريا", "initials": "ط. ز."}
+{"name": "عائشة ذو الغنى", "given": "عائشة", "middle": "ذو", "family": "الغنى", "initials": "ع. ذ. ا."}
+{"name": "عادل التويجري", "given": "عادل", "family": "التويجري", "initials": "ع. ا."}
+{"name": "عالي القرشي", "given": "عالي", "family": "القرشي", "initials": "ع. ا."}
+{"name": "عباس شفیعی", "given": "عباس", "family": "شفیعی", "initials": "ع. ش."}
+{"name": "عباس وفایی", "given": "عباس", "family": "وفایی", "initials": "ع. و."}
+{"name": "عباس کریمی", "given": "عباس", "family": "کریمی", "initials": "ع. ک."}
+{"name": "عبد الأكرم السقَّا", "given": "عبد الأكرم", "family": "السقَّا", "initials": "ع. ا. ا."}
+{"name": "عبد الإله نبهان", "given": "عبد الإله", "family": "نبهان", "initials": "ع. ا. ن."}
+{"name": "عبد الباسط بدر", "given": "عبد الباسط", "family": "بدر", "initials": "ع. ا. ب."}
+{"name": "عبد الجبار الضحاك", "given": "عبد الجبار", "family": "الضحاك", "initials": "ع. ا. ا."}
+{"name": "عبد الحليم قدور", "given": "عبد الحليم", "family": "قدور", "initials": "ع. ا. ق."}
+{"name": "عبد الرحمن السديس", "given": "عبد الرحمن", "family": "السديس", "initials": "ع. ا. ا."}
+{"name": "عبد الرحمن العجلان", "given": "عبد الرحمن", "family": "العجلان", "initials": "ع. ا. ا."}
+{"name": "عبد الرحيم منصور", "given": "عبد الرحيم", "family": "منصور", "initials": "ع. ا. م."}
+{"name": "عبد الستار إبراهيم", "given": "عبد الستار", "family": "إبراهيم", "initials": "ع. ا. إ."}
+{"name": "عبد العزيز الربيعي", "given": "عبد العزيز", "family": "الربيعي", "initials": "ع. ا. ا."}
+{"name": "عبد القدوس أبو صالح", "given": "عبد القدوس", "family": "أبو صالح", "initials": "ع. ا. ص."}
+{"name": "عبد اللطيف عبد الحميد", "given": "عبد اللطيف", "middle": "عبد", "family": "الحميد", "initials": "ع. ا. ع. ا."}
+{"name": "عبد الله الحقيل", "given": "عبد الله", "family": "الحقيل", "initials": "ع. ا. ا."}
+{"name": "عبد الهادي الباني", "given": "عبد الهادي", "family": "الباني", "initials": "ع. ا. ا."}
+{"name": "عبد الوكيل الهاشمي", "given": "عبد الوكيل", "family": "الهاشمي", "initials": "ع. ا. ا."}
{"name": "عبد الکریم عبد الحمید سید ایم پی", "given": "عبد الکریم", "middle": "عبد الحمید سید ایم", "family": "پی", "initials": "ع. ا. ع. ا. س. ا. پ."}
+{"name": "عثمان آل حميد", "given": "عثمان", "family": "آل حميد", "initials": "ع. ح."}
{"name": "عدلو، آیتین", "order": "FAMILY_FIRST", "given": "آیتین", "family": "عدلو", "initials": "آ. ع."}
+{"name": "عدنان بركات", "given": "عدنان", "family": "بركات", "initials": "ع. ب."}
+{"name": "عدنان خاشقجي", "given": "عدنان", "family": "خاشقجي", "initials": "ع. خ."}
+{"name": "عدنان مصطفى", "given": "عدنان", "family": "مصطفى", "initials": "ع. م."}
+{"name": "عزتالله انتظامی", "given": "عزتالله", "family": "انتظامی", "initials": "ع. ا."}
+{"name": "علي الرواس", "given": "علي", "family": "الرواس", "initials": "ع. ا."}
+{"name": "علي القرني", "given": "علي", "family": "القرني", "initials": "ع. ا."}
+{"name": "علی حاتمی", "given": "علی", "family": "حاتمی", "initials": "ع. ح."}
+{"name": "علیرضا بیرانوند", "given": "علیرضا", "family": "بیرانوند", "initials": "ع. ب."}
+{"name": "علیاصغر زارعی", "given": "علیاصغر", "family": "زارعی", "initials": "ع. ز."}
+{"name": "علیاکبر حیدری", "given": "علیاکبر", "family": "حیدری", "initials": "ع. ح."}
+{"name": "غادة السمان", "given": "غادة", "family": "السمان", "initials": "غ. ا."}
+{"name": "غسان جبري", "given": "غسان", "family": "جبري", "initials": "غ. ج."}
+{"name": "فائق عرقسُوسي", "given": "فائق", "family": "عرقسُوسي", "initials": "ف. ع."}
+{"name": "فاروق خورشيد", "given": "فاروق", "family": "خورشيد", "initials": "ف. خ."}
+{"name": "فاروق عطية", "given": "فاروق", "family": "عطية", "initials": "ف. ع."}
+{"name": "فايزة حسين", "given": "فايزة", "family": "حسين", "initials": "ف. ح."}
+{"name": "فتحي قورة", "given": "فتحي", "family": "قورة", "initials": "ف. ق."}
+{"name": "فتحالله بنیصدر", "given": "فتحالله", "family": "بنیصدر", "initials": "ف. ب."}
+{"name": "فريد الأطرش", "given": "فريد", "family": "الأطرش", "initials": "ف. ا."}
+{"name": "فریدون ابراهیمی", "given": "فریدون", "family": "ابراهیمی", "initials": "ف. ا."}
{"name": "فون برول، عايدة كورنيليا سيزار مارتن", "order": "FAMILY_FIRST", "given": "عايدة", "middle": "كورنيليا سيزار مارتن", "family": "فون برول", "initials": "ع. ك. س. م. ف. ب."}
{"name": "فون بريۋل ادا كورنەليا", "order": "FAMILY_FIRST", "given": "بريۋل", "middle": "ادا كورنەليا", "family": "فون", "initials": "ب. ا. ك. ف."}
{"name": "قالاجان قايرات", "given": "قالاجان", "family": "قايرات", "initials": "ق. ق."}
@@ -4161,36 +4629,87 @@
{"name": "كارىباي، مۇرات", "order": "FAMILY_FIRST", "given": "مۇرات", "family": "كارىباي", "initials": "م. ك."}
{"name": "كمال مجدي العامر", "given": "كمال", "middle": "مجدي", "family": "العامر", "initials": "ك. م. ا."}
{"name": "كەيت مۇللەر", "given": "كەيت", "family": "مۇللەر", "initials": "ك. م."}
+{"name": "لطفي لبيب", "given": "لطفي", "family": "لبيب", "initials": "ل. ل."}
+{"name": "لويس جريس", "given": "لويس", "family": "جريس", "initials": "ل. ج."}
+{"name": "مازن المبارك", "given": "مازن", "family": "المبارك", "initials": "م. ا."}
{"name": "ماقسات بالقىباي", "given": "ماقسات", "family": "بالقىباي", "initials": "م. ب."}
{"name": "محترم برٽرم ولبرفورس ھينري رابرٽ ووسٽر ايم پي", "given": "محترم", "middle": "برٽرم ولبرفورس ھينري رابرٽ ووسٽر ايم", "family": "پي", "initials": "م. ب. و. ھ. ر. و. ا. پ."}
+{"name": "محمد البغدادي", "given": "محمد", "family": "البغدادي", "initials": "م. ا."}
+{"name": "محمد الزعبي", "given": "محمد", "family": "الزعبي", "initials": "م. ا."}
{"name": "محمد بن سلمان", "given": "محمد", "family": "بن سلمان", "initials": "م. س."}
+{"name": "محمد خاتمی", "given": "محمد", "family": "خاتمی", "initials": "م. خ."}
+{"name": "محمد دهمان", "given": "محمد", "family": "دهمان", "initials": "م. د."}
+{"name": "محمد سليم الحلواني", "given": "محمد", "middle": "سليم", "family": "الحلواني", "initials": "م. س. ا."}
+{"name": "محمد سليمان", "given": "محمد", "family": "سليمان", "initials": "م. س."}
+{"name": "محمد ضياء الدين الصابوني", "given": "محمد", "middle": "ضياء الدين", "family": "الصابوني", "initials": "م. ض. ا. ا."}
+{"name": "محمد عطا", "given": "محمد", "family": "عطا", "initials": "م. ع."}
+{"name": "محمد نبيه المسيري", "given": "محمد", "middle": "نبيه", "family": "المسيري", "initials": "م. ن. ا."}
{"name": "محمد و علي", "given": "محمد", "middle": "و", "family": "علي", "initials": "م. و. ع."}
+{"name": "محمد کوثری", "given": "محمد", "family": "کوثری", "initials": "م. ک."}
{"name": "محمد ہاشم صابری", "given": "محمد", "middle": "ہاشم", "family": "صابری", "initials": "م. ہ. ص."}
+{"name": "محمدتقی شریعتی", "given": "محمدتقی", "family": "شریعتی", "initials": "م. ش."}
+{"name": "محمدعلی حفیظی", "given": "محمدعلی", "family": "حفیظی", "initials": "م. ح."}
+{"name": "محمدعلی ییلاقی اشرفی", "given": "محمدعلی", "middle": "ییلاقی", "family": "اشرفی", "initials": "م. ی. ا."}
+{"name": "محمود الزعبي", "given": "محمود", "family": "الزعبي", "initials": "م. ا."}
+{"name": "محمود جركس", "given": "محمود", "family": "جركس", "initials": "م. ج."}
+{"name": "محمود شاكر", "given": "محمود", "family": "شاكر", "initials": "م. ش."}
+{"name": "محمود فروغی", "given": "محمود", "family": "فروغی", "initials": "م. ف."}
+{"name": "مريم صالح", "given": "مريم", "family": "صالح", "initials": "م. ص."}
{"name": "مریم نواز خان", "given": "مریم", "middle": "نواز", "family": "خان", "initials": "م. ن. خ."}
+{"name": "مصطفى خليل", "given": "مصطفى", "family": "خليل", "initials": "م. خ."}
{"name": "ملایری، امید رضا", "order": "FAMILY_FIRST", "given": "امید", "middle": "رضا", "family": "ملایری", "initials": "ا. ر. م."}
{"name": "ملر ڪئٿي", "order": "FAMILY_FIRST", "given": "ڪئٿي", "family": "ملر", "initials": "ڪ. م."}
+{"name": "منال الشريف", "given": "منال", "family": "الشريف", "initials": "م. ا."}
{"name": "منصور حاتم", "order": "FAMILY_FIRST", "given": "حاتم", "family": "منصور", "initials": "ح. م."}
{"name": "منصور، حاتم", "order": "FAMILY_FIRST", "given": "حاتم", "family": "منصور", "initials": "ح. م."}
{"name": "منير", "given": "منير", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "م."}
{"name": "منير", "order": "FAMILY_FIRST", "family": "منير", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "م."}
+{"name": "مها عامر", "given": "مها", "family": "عامر", "initials": "م. ع."}
+{"name": "موفق الخاني", "given": "موفق", "family": "الخاني", "initials": "م. ا."}
{"name": "مولر کیتی", "order": "FAMILY_FIRST", "given": "کیتی", "family": "مولر", "initials": "ک. م."}
{"name": "مولر، كاثرين", "order": "FAMILY_FIRST", "given": "كاثرين", "family": "مولر", "initials": "ك. م."}
{"name": "مولر، کاتیا", "order": "FAMILY_FIRST", "given": "کاتیا", "family": "مولر", "initials": "ک. م."}
{"name": "ميري سيو ھامش واٽسن", "given": "ميري", "middle": "سيو ھامش", "family": "واٽسن", "initials": "م. س. ھ. و."}
+{"name": "مُحمَّد علي محجوب", "given": "مُحمَّد", "middle": "علي", "family": "محجوب", "initials": "م. ع. م."}
+{"name": "مُوفَّق دعبول", "given": "مُوفَّق", "family": "دعبول", "initials": "م. د."}
{"name": "مۇرات كارىباي", "given": "مۇرات", "family": "كارىباي", "initials": "م. ك."}
{"name": "مۇللەر كەيت", "order": "FAMILY_FIRST", "given": "كەيت", "family": "مۇللەر", "initials": "ك. م."}
{"name": "مۇللەر، كەيت", "order": "FAMILY_FIRST", "given": "كەيت", "family": "مۇللەر", "initials": "ك. م."}
+{"name": "نادية زغلول", "given": "نادية", "family": "زغلول", "initials": "ن. ز."}
+{"name": "ناصر الأنصاري", "given": "ناصر", "family": "الأنصاري", "initials": "ن. ا."}
+{"name": "نبيل درويش", "given": "نبيل", "family": "درويش", "initials": "ن. د."}
+{"name": "نبيل فهمي", "given": "نبيل", "family": "فهمي", "initials": "ن. ف."}
+{"name": "نبيهة حداد", "given": "نبيهة", "family": "حداد", "initials": "ن. ح."}
{"name": "ندیم رضا یاسمین راشد سدرہ منیر ایم ڈی ڈی ڈی ایس", "order": "FAMILY_FIRST", "given": "رضا", "middle": "یاسمین راشد سدرہ منیر ایم ڈی ڈی ڈی ایس", "family": "ندیم", "initials": "ر. ی. ر. س. م. ا. ڈ. ڈ. ڈ. ا. ن."}
{"name": "ندیم رضا، یاسمین راشد سدرہ منیر ایم ڈی ڈی ڈی ایس", "order": "FAMILY_FIRST", "given": "یاسمین", "middle": "راشد سدرہ منیر ایم ڈی ڈی ڈی ایس", "family": "ندیم رضا", "initials": "ی. ر. س. م. ا. ڈ. ڈ. ڈ. ا. ن. ر."}
+{"name": "نسرين طافش", "given": "نسرين", "family": "طافش", "initials": "ن. ط."}
+{"name": "نعيم عيسى", "given": "نعيم", "family": "عيسى", "initials": "ن. ع."}
+{"name": "نهلة القدسي", "given": "نهلة", "family": "القدسي", "initials": "ن. ا."}
+{"name": "نور الدين عتر", "given": "نور", "middle": "الدين", "family": "عتر", "initials": "ن. ا. ع."}
+{"name": "نورس عبد الواحد", "given": "نورس", "middle": "عبد", "family": "الواحد", "initials": "ن. ع. ا."}
+{"name": "هالة شكر الله", "given": "هالة", "middle": "شكر", "family": "الله", "initials": "ه. ش. ا."}
+{"name": "هدى شعراوي", "given": "هدى", "family": "شعراوي", "initials": "ه. ش."}
+{"name": "هدى عابدين", "given": "هدى", "family": "عابدين", "initials": "ه. ع."}
+{"name": "هشام حافظ", "given": "هشام", "family": "حافظ", "initials": "ه. ح."}
+{"name": "هشام سليم", "given": "هشام", "family": "سليم", "initials": "ه. س."}
+{"name": "هشام عباس", "given": "هشام", "family": "عباس", "initials": "ه. ع."}
+{"name": "هشام فؤاد", "given": "هشام", "family": "فؤاد", "initials": "ه. ف."}
{"name": "وان برل گونزالس ڊومنگو پروفيسر ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن ايم ڊي ڊي ڊي ايس", "order": "FAMILY_FIRST", "given": "برل", "middle": "گونزالس ڊومنگو پروفيسر ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن ايم ڊي ڊي ڊي ايس", "family": "وان", "initials": "ب. گ. ڊ. پ. ڊ. ا. ڪ. س. م. ا. ڊ. ڊ. ڊ. ا. و."}
{"name": "وان برل گونزالس ڊومنگو, پروفيسر ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن ايم ڊي ڊي ڊي ايس", "given": "پروفيسر", "middle": "ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن ايم ڊي ڊي ڊي ايس", "family": "وان برل گونزالس ڊومنگو", "initials": "پ. ڊ. ا. ڪ. س. م. ا. ڊ. ڊ. ڊ. ا. و. ب. گ. ڊ."}
{"name": "وان بروهل، پروفسور آدا کورنلیا سزار مارتین جونیور، دکترای دندانپزشکی", "order": "FAMILY_FIRST", "given": "پروفسور", "middle": "آدا کورنلیا سزار مارتین", "family": "وان بروهل", "suffix": "جونیور, دکترای دندانپزشکی", "ambiguities": ["COMMA_STRUCTURE"], "initials": "پ. آ. ک. س. م. و. ب."}
{"name": "واټسن جان همیش", "order": "FAMILY_FIRST", "given": "جان", "middle": "همیش", "family": "واټسن", "initials": "ج. ه. و."}
{"name": "واٽسن ميري سيو ھامش", "order": "FAMILY_FIRST", "given": "ميري", "middle": "سيو ھامش", "family": "واٽسن", "initials": "م. س. ھ. و."}
+{"name": "وداد أنطوان", "given": "وداد", "family": "أنطوان", "initials": "و. أ."}
+{"name": "وديع بشور", "given": "وديع", "family": "بشور", "initials": "و. ب."}
+{"name": "وليد الشهري", "given": "وليد", "family": "الشهري", "initials": "و. ا."}
{"name": "ووسټر ښاغلی. برټرام ولبرفورس هنري رابرټ ایم پی", "order": "FAMILY_FIRST", "given": "ښاغلی.", "middle": "برټرام ولبرفورس هنري رابرټ ایم پی", "family": "ووسټر", "initials": "ښ. ب. و. ه. ر. ا. پ. و."}
{"name": "ووسٽر محترم برٽرم ولبرفورس ھينري رابرٽ ايم پي", "order": "FAMILY_FIRST", "given": "محترم", "middle": "برٽرم ولبرفورس ھينري رابرٽ ايم پي", "family": "ووسٽر", "initials": "م. ب. و. ھ. ر. ا. پ. و."}
{"name": "وون لیوه بیکر شمیت پروفیسور ډاکټر اډا کورنیلیا ایوا سوفیا ایم ډی ډیی ډیی ایس", "order": "FAMILY_FIRST", "given": "لیوه", "middle": "بیکر شمیت پروفیسور ډاکټر اډا کورنیلیا ایوا سوفیا ایم ډی ډیی ډیی ایس", "family": "وون", "initials": "ل. ب. ش. پ. ډ. ا. ک. ا. س. ا. . ډ. ډ. ا. و."}
{"name": "وون لیوه بیکر شمیت, پروفیسور ډاکټر اډا کورنیلیا ایوا سوفیا ایم ډی ډیی ډیی ایس", "given": "پروفیسور", "middle": "ډاکټر اډا کورنیلیا ایوا سوفیا ایم ډی ډیی ډیی ایس", "family": "وون لیوه بیکر شمیت", "initials": "پ. ډ. ا. ک. ا. س. ا. . ډ. ډ. ا. و. ل. ب. ش."}
+{"name": "يوسف إدريس", "given": "يوسف", "family": "إدريس", "initials": "ي. إ."}
+{"name": "يوسف السالم", "given": "يوسف", "family": "السالم", "initials": "ي. ا."}
+{"name": "يوسف مكي", "given": "يوسف", "family": "مكي", "initials": "ي. م."}
+{"name": "پردیس افکاری", "given": "پردیس", "family": "افکاری", "initials": "پ. ا."}
{"name": "پروفسور آدا کورنلیا سزار مارتین وان بروهل جونیور، دکترای دندانپزشکی", "given": "دکترای", "middle": "دندانپزشکی", "family": "پروفسور آدا کورنلیا سزار مارتین وان بروهل", "suffix": "جونیور", "initials": "د. د. پ. آ. ک. س. م. و. ب."}
{"name": "پروفيسر ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن وان برل گونزالس ڊومنگو ايم ڊي ڊي ڊي ايس", "given": "پروفيسر", "middle": "ڊاڪٽر ايڊا ڪورنيليا سيزر مارٽن وان برل گونزالس ڊومنگو ايم ڊي ڊي ڊي", "family": "ايس", "initials": "پ. ڊ. ا. ڪ. س. م. و. ب. گ. ڊ. ا. ڊ. ڊ. ڊ. ا."}
{"name": "پروفیسور ډاکټر اډا کورنیلیا ایوا سوفیا وون لیوه بیکر شمیت ایم ډی ډیی ډیی ایس", "given": "پروفیسور", "middle": "ډاکټر اډا کورنیلیا ایوا سوفیا وون لیوه بیکر شمیت ایم ډی ډیی ډیی", "family": "ایس", "initials": "پ. ډ. ا. ک. ا. س. و. ل. ب. ش. ا. . ډ. ډ. ا."}
@@ -4199,8 +4718,14 @@
{"name": "ښاغلی. برټرام ولبرفورس هنري رابرټ ووسټر ایم پی", "title": "ښاغلی.", "given": "برټرام", "middle": "ولبرفورس هنري رابرټ ووسټر ایم", "family": "پی", "initials": "ب. و. ه. ر. و. ا. پ."}
{"name": "کاتیا مولر", "given": "کاتیا", "family": "مولر", "initials": "ک. م."}
{"name": "کیتی مولر", "given": "کیتی", "family": "مولر", "initials": "ک. م."}
+{"name": "کیوان وحدانی", "given": "کیوان", "family": "وحدانی", "initials": "ک. و."}
{"name": "ڪئٿي ملر", "given": "ڪئٿي", "family": "ملر", "initials": "ڪ. م."}
{"name": "یاسمین راشد سدرہ منیر ندیم رضا ایم ڈی ڈی ڈی ایس", "given": "یاسمین", "middle": "راشد سدرہ منیر ندیم رضا ایم ڈی ڈی ڈی", "family": "ایس", "initials": "ی. ر. س. م. ن. ر. ا. ڈ. ڈ. ڈ. ا."}
+{"name": "अंजलि देवी", "given": "अंजलि", "family": "देवी", "initials": "अ. द."}
+{"name": "अंजलि शर्मा", "given": "अंजलि", "family": "शर्मा", "initials": "अ. श."}
+{"name": "अक्षय कुमार", "given": "अक्षय", "family": "कुमार", "initials": "अ. क."}
+{"name": "अनिल जोशी", "given": "अनिल", "family": "जोशी", "initials": "अ. ज."}
+{"name": "अरुणा ईरानी", "given": "अरुणा", "family": "ईरानी", "initials": "अ. ई."}
{"name": "आलिया हमीश हेमंत", "given": "आलिया", "middle": "हमीश", "family": "हेमंत", "initials": "आ. ह. ह."}
{"name": "एडा कर्नेलिया सिजर मार्टिन भोन ब्रुहल एमडी डिडिएस", "given": "एडा", "middle": "कर्नेलिया सिजर मार्टिन भोन ब्रुहल एमडी", "family": "डिडिएस", "initials": "ए. क. स. म. भ. ब. ए. ड."}
{"name": "काठे मुलर", "given": "काठे", "family": "मुलर", "initials": "क. म."}
@@ -4215,6 +4740,7 @@
{"name": "जोनस, मैरी सिलविया", "given": "मैरी", "middle": "सिलविया", "family": "जोनस", "initials": "म. स. ज."}
{"name": "दिशा", "given": "दिशा", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "द."}
{"name": "दिशा", "order": "FAMILY_FIRST", "family": "दिशा", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "द."}
+{"name": "दुर्गाबाई देशमुख", "given": "दुर्गाबाई", "family": "देशमुख", "initials": "द. द."}
{"name": "दे सोजा ए मेनेजेस श्री फ्रांसिस शावियेर जुआंव आंतोन धा., एमपी", "order": "FAMILY_FIRST", "given": "एमपी", "family": "दे सोजा ए मेनेजेस श्री फ्रांसिस शावियेर जुआंव आंतोन धा.", "initials": "ए. द. स. ए. म. श. फ. श. ज. आ. ध."}
{"name": "देशपांडे धिरज", "order": "FAMILY_FIRST", "given": "धिरज", "family": "देशपांडे", "initials": "ध. द."}
{"name": "देशपांडे श्री. धिरज देशपांडे विजय देशपांडे क., एम. पी.", "order": "FAMILY_FIRST", "title": "एम.", "given": "पी.", "family": "देशपांडे श्री. धिरज देशपांडे विजय देशपांडे क.", "initials": "प. द. श. ध. द. व. द. क."}
@@ -4241,19 +4767,26 @@
{"name": "ब्रूह्ल, आडा कोर्नेलिया सेजार मार्टिन वॉन", "given": "आडा", "middle": "कोर्नेलिया सेजार मार्टिन वॉन", "family": "ब्रूह्ल", "initials": "आ. क. स. म. व. ब."}
{"name": "ब्र्यूल, अदा शर्मा सीझर मार्टिन व्हॉन", "given": "अदा", "middle": "शर्मा सीझर मार्टिन व्हॉन", "family": "ब्र्यूल", "initials": "अ. श. स. म. व. ब."}
{"name": "भोन ब्रुहल एडा कर्नेलिया सिजर मार्टिन एमडी डिडिएस", "order": "FAMILY_FIRST", "given": "ब्रुहल", "middle": "एडा कर्नेलिया सिजर मार्टिन एमडी डिडिएस", "family": "भोन", "initials": "ब. ए. क. स. म. ए. ड. भ."}
+{"name": "मनीष मल्होत्रा", "given": "मनीष", "family": "मल्होत्रा", "initials": "म. म."}
{"name": "माधुरी", "given": "माधुरी", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "म."}
{"name": "माधुरी", "order": "FAMILY_FIRST", "family": "माधुरी", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "म."}
{"name": "मारिया हेलेना फर्नॅन्डेज", "given": "मारिया", "middle": "हेलेना", "family": "फर्नॅन्डेज", "initials": "म. ह. फ."}
+{"name": "मुकेश अंबानी", "given": "मुकेश", "family": "अंबानी", "initials": "म. अ."}
{"name": "मुलर काठे", "order": "FAMILY_FIRST", "given": "काठे", "family": "मुलर", "initials": "क. म."}
{"name": "मुलर क्याथी", "order": "FAMILY_FIRST", "given": "क्याथी", "family": "मुलर", "initials": "क. म."}
{"name": "मुलर, काठे", "given": "काठे", "family": "मुलर", "initials": "क. म."}
{"name": "मुलर, क्याथी", "given": "क्याथी", "family": "मुलर", "initials": "क. म."}
{"name": "मैरी सिलविया जोनस", "given": "मैरी", "middle": "सिलविया", "family": "जोनस", "initials": "म. स. ज."}
+{"name": "रणबीर कपूर", "given": "रणबीर", "family": "कपूर", "initials": "र. क."}
{"name": "रमिता पोख्रेल", "given": "रमिता", "family": "पोख्रेल", "initials": "र. प."}
+{"name": "रवि राय", "given": "रवि", "family": "राय", "initials": "र. र."}
+{"name": "रवि शंकर", "given": "रवि", "family": "शंकर", "initials": "र. श."}
{"name": "राम शर्मा साहब मोहन", "given": "राम", "family": "शर्मा", "suffix": "साहब मोहन", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "र. श."}
{"name": "रिधान समीर फडके", "given": "रिधान", "middle": "समीर", "family": "फडके", "initials": "र. स. फ."}
{"name": "रॉबर्ट", "given": "रॉबर्ट", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "र."}
{"name": "रॉबर्ट", "order": "FAMILY_FIRST", "family": "रॉबर्ट", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "र."}
+{"name": "रोहित शर्मा", "given": "रोहित", "family": "शर्मा", "initials": "र. श."}
+{"name": "लता मंगेशकर", "given": "लता", "family": "मंगेशकर", "initials": "ल. म."}
{"name": "ललित", "given": "ललित", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ल."}
{"name": "ललित", "order": "FAMILY_FIRST", "family": "ललित", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ल."}
{"name": "ललित मोहन शर्मा", "given": "ललित", "middle": "मोहन", "family": "शर्मा", "initials": "ल. म. श."}
@@ -4275,6 +4808,7 @@
{"name": "श्री ललित कुमार शर्मा एम॰डी॰", "title": "श्री", "given": "ललित", "middle": "कुमार शर्मा", "family": "एम॰डी॰", "initials": "ल. क. श. ए."}
{"name": "श्री शर्मा ललित कुमार, एम॰डी॰", "order": "FAMILY_FIRST", "given": "एम॰डी॰", "family": "श्री शर्मा ललित कुमार", "initials": "ए. श. श. ल. क."}
{"name": "श्री. धिरज देशपांडे विजय देशपांडे देशपांडे क., एम. पी.", "title": "एम.", "given": "पी.", "family": "श्री. धिरज देशपांडे विजय देशपांडे देशपांडे क.", "initials": "प. श. ध. द. व. द. द. क."}
+{"name": "संजय ख़ान", "given": "संजय", "family": "ख़ान", "initials": "स. ख."}
{"name": "सिंदबाद", "given": "सिंदबाद", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "स."}
{"name": "सिंदबाद", "order": "FAMILY_FIRST", "family": "सिंदबाद", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "स."}
{"name": "सिनबाद", "given": "सिनबाद", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "स."}
@@ -4282,31 +4816,58 @@
{"name": "सुन्दर", "given": "सुन्दर", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "स."}
{"name": "सुन्दर", "order": "FAMILY_FIRST", "family": "सुन्दर", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "स."}
{"name": "सोजा, फ्रांसिस शावियेर जुआंव आंतोन दे", "given": "फ्रांसिस", "middle": "शावियेर जुआंव आंतोन दे", "family": "सोजा", "initials": "फ. श. ज. आ. द. स."}
+{"name": "सौंदर्या शर्मा", "given": "सौंदर्या", "family": "शर्मा", "initials": "स. श."}
{"name": "स्टोबर जाजिला हार्निस", "order": "FAMILY_FIRST", "given": "जाजिला", "middle": "हार्निस", "family": "स्टोबर", "initials": "ज. ह. स."}
{"name": "स्टोबर, जाजिला हार्निस", "given": "जाजिला", "middle": "हार्निस", "family": "स्टोबर", "initials": "ज. ह. स."}
{"name": "स्टोबा जाजिला हामिश", "order": "FAMILY_FIRST", "given": "जाजिला", "middle": "हामिश", "family": "स्टोबा", "initials": "ज. ह. स."}
{"name": "स्टोबा, जाजिला हामिश", "given": "जाजिला", "middle": "हामिश", "family": "स्टोबा", "initials": "ज. ह. स."}
{"name": "हेमंत आलिया हमीश", "order": "FAMILY_FIRST", "given": "आलिया", "middle": "हमीश", "family": "हेमंत", "initials": "आ. ह. ह."}
{"name": "हेमंत, आलिया हमीश", "given": "आलिया", "middle": "हमीश", "family": "हेमंत", "initials": "आ. ह. ह."}
+{"name": "অজিত পাণ্ডে", "given": "অজিত", "family": "পাণ্ডে", "initials": "অ. প."}
+{"name": "অজিত রায়", "given": "অজিত", "family": "রায়", "initials": "অ. র."}
+{"name": "অনিল দে", "given": "অনিল", "family": "দে", "initials": "অ. দ."}
+{"name": "অনুষ্কা শর্মা", "given": "অনুষ্কা", "family": "শর্মা", "initials": "অ. শ."}
+{"name": "অবন্তিকা মিশ্র", "given": "অবন্তিকা", "family": "মিশ্র", "initials": "অ. ম."}
+{"name": "অরুণ মিত্র", "given": "অরুণ", "family": "মিত্র", "initials": "অ. ম."}
+{"name": "অসীম বসু", "given": "অসীম", "family": "বসু", "initials": "অ. ব."}
+{"name": "আইভি রহমান", "given": "আইভি", "family": "রহমান", "initials": "আ. র."}
+{"name": "আকরাম খান", "given": "আকরাম", "family": "খান", "initials": "আ. খ."}
{"name": "আডা কৰ্ণেলিয়া ইভা চ’ফিয়া ভেন ডেন কুকুৰনেচীয়া এম. ডি. ডি. ডি. এছ", "given": "আডা", "middle": "কৰ্ণেলিয়া ইভা চ’ফিয়া ভেন ডেন কুকুৰনেচীয়া এম. ডি. ডি. ডি.", "family": "এছ", "initials": "আ. ক. ই. চ. ভ. ড. ক. এ. ড. ড. ড. এ."}
+{"name": "আনোয়ার হোসেন", "given": "আনোয়ার", "family": "হোসেন", "initials": "আ. হ."}
+{"name": "আবদুল করিম শাহ", "given": "আবদুল", "middle": "করিম", "family": "শাহ", "initials": "আ. ক. শ."}
{"name": "আহমেদ কিরণ", "order": "FAMILY_FIRST", "given": "কিরণ", "family": "আহমেদ", "initials": "ক. আ."}
+{"name": "উদয় চোপড়া", "given": "উদয়", "family": "চোপড়া", "initials": "উ. চ."}
{"name": "কাকতি নৰেন কলিতা ৰুমী বৰুৱা এম. পি.", "order": "FAMILY_FIRST", "given": "নৰেন", "middle": "কলিতা ৰুমী বৰুৱা এম. পি.", "family": "কাকতি", "initials": "ন. ক. ৰ. ব. এ. প. ক."}
{"name": "কাকতি, নৰেন কলিতা ৰুমী বৰুৱা", "given": "নৰেন", "middle": "কলিতা ৰুমী বৰুৱা", "family": "কাকতি", "initials": "ন. ক. ৰ. ব. ক."}
+{"name": "কামাল হোসেন", "given": "কামাল", "family": "হোসেন", "initials": "ক. হ."}
{"name": "কিরণ আহমেদ", "given": "কিরণ", "family": "আহমেদ", "initials": "ক. আ."}
{"name": "কিশোৰ", "given": "কিশোৰ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ক."}
{"name": "কিশোৰ", "order": "FAMILY_FIRST", "family": "কিশোৰ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ক."}
{"name": "কুকুৰনেচীয়া, আডা কৰ্ণেলিয়া ইভা চ’ফিয়া ভেন ডেন", "given": "আডা", "middle": "কৰ্ণেলিয়া ইভা চ’ফিয়া ভেন ডেন", "family": "কুকুৰনেচীয়া", "initials": "আ. ক. ই. চ. ভ. ড. ক."}
+{"name": "কেনেথ পাওয়েল", "given": "কেনেথ", "family": "পাওয়েল", "initials": "ক. প."}
{"name": "গাঙ্গুলী জনাব এমদাদ আলি অনিল কুমার এমপি", "order": "FAMILY_FIRST", "given": "জনাব", "middle": "এমদাদ আলি অনিল কুমার এমপি", "family": "গাঙ্গুলী", "initials": "জ. এ. আ. অ. ক. এ. গ."}
{"name": "চৌধুরী শ্রেয়া", "order": "FAMILY_FIRST", "given": "শ্রেয়া", "family": "চৌধুরী", "initials": "শ. চ."}
{"name": "জনাব এমদাদ আলি অনিল কুমার গাঙ্গুলী এমপি", "title": "জনাব", "given": "এমদাদ", "middle": "আলি অনিল কুমার গাঙ্গুলী", "family": "এমপি", "initials": "এ. আ. অ. ক. গ. এ."}
{"name": "জাজিলিয়া হামিশ মুন্সি", "given": "জাজিলিয়া", "middle": "হামিশ", "family": "মুন্সি", "initials": "জ. হ. ম."}
+{"name": "জিমি জর্জ", "given": "জিমি", "family": "জর্জ", "initials": "জ. জ."}
+{"name": "জিয়াউর রহমান", "given": "জিয়াউর", "family": "রহমান", "initials": "জ. র."}
+{"name": "জুহি চাওলা", "given": "জুহি", "family": "চাওলা", "initials": "জ. চ."}
{"name": "জেনদায়া", "given": "জেনদায়া", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "জ."}
{"name": "জেনদায়া", "order": "FAMILY_FIRST", "family": "জেনদায়া", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "জ."}
+{"name": "দেবী শর্মা", "given": "দেবী", "family": "শর্মা", "initials": "দ. শ."}
{"name": "নগেন বৰা", "given": "নগেন", "family": "বৰা", "initials": "ন. ব."}
{"name": "নমিতা বৰুৱা", "given": "নমিতা", "family": "বৰুৱা", "initials": "ন. ব."}
+{"name": "নাহিদ ইসলাম", "given": "নাহিদ", "family": "ইসলাম", "initials": "ন. ই."}
+{"name": "নিখিল আডবাণী", "given": "নিখিল", "family": "আডবাণী", "initials": "ন. আ."}
+{"name": "নেহা শর্মা", "given": "নেহা", "family": "শর্মা", "initials": "ন. শ."}
{"name": "নৰেন কলিতা ৰুমী বৰুৱা কাকতি এম. পি.", "given": "নৰেন", "middle": "কলিতা ৰুমী বৰুৱা কাকতি এম.", "family": "পি.", "initials": "ন. ক. ৰ. ব. ক. এ. প."}
+{"name": "পঙ্কজ মিশ্র", "given": "পঙ্কজ", "family": "মিশ্র", "initials": "প. ম."}
+{"name": "পঙ্কজ রায়", "given": "পঙ্কজ", "family": "রায়", "initials": "প. র."}
+{"name": "পুরুষোত্তম লাল", "given": "পুরুষোত্তম", "family": "লাল", "initials": "প. ল."}
{"name": "প্রঃ ডঃ আদিরা ইভা সোফিয়া রহমান আলি তালুকদার এম.ডি.পিএইচ.ডি.", "given": "প্রঃ", "middle": "ডঃ আদিরা ইভা সোফিয়া রহমান আলি তালুকদার", "family": "এম.ডি.পিএইচ.ডি.", "initials": "প. ড. আ. ই. স. র. আ. ত. এ."}
+{"name": "প্রকাশ মেহরা", "given": "প্রকাশ", "family": "মেহরা", "initials": "প. ম."}
{"name": "প্রকৌশলী. Sen", "given": "প্রকৌশলী.", "family": "Sen", "initials": "প. S."}
+{"name": "ফারহান আখতার", "given": "ফারহান", "family": "আখতার", "initials": "ফ. আ."}
{"name": "বৰা নগেন", "order": "FAMILY_FIRST", "given": "নগেন", "family": "বৰা", "initials": "ন. ব."}
{"name": "বৰা, নগেন", "given": "নগেন", "family": "বৰা", "initials": "ন. ব."}
{"name": "বৰুৱা নমিতা", "order": "FAMILY_FIRST", "given": "নমিতা", "family": "বৰুৱা", "initials": "ন. ব."}
@@ -4315,18 +4876,32 @@
{"name": "বৰুৱা, মণিমালা অজিত", "given": "মণিমালা", "middle": "অজিত", "family": "বৰুৱা", "initials": "ম. অ. ব."}
{"name": "ভেন ডেন কুকুৰনেচীয়া আডা কৰ্ণেলিয়া ইভা চ’ফিয়া এম. ডি. ডি. ডি. এছ", "order": "FAMILY_FIRST", "given": "ডেন", "middle": "কুকুৰনেচীয়া আডা কৰ্ণেলিয়া ইভা চ’ফিয়া এম. ডি. ডি. ডি. এছ", "family": "ভেন", "initials": "ড. ক. আ. ক. ই. চ. এ. ড. ড. ড. এ. ভ."}
{"name": "মণিমালা অজিত বৰুৱা", "given": "মণিমালা", "middle": "অজিত", "family": "বৰুৱা", "initials": "ম. অ. ব."}
+{"name": "মনিকা আলী", "given": "মনিকা", "family": "আলী", "initials": "ম. আ."}
+{"name": "মনোজ মিত্র", "given": "মনোজ", "family": "মিত্র", "initials": "ম. ম."}
+{"name": "মিমি চক্রবর্তী", "given": "মিমি", "family": "চক্রবর্তী", "initials": "ম. চ."}
{"name": "মুন্সি জাজিলিয়া হামিশ", "order": "FAMILY_FIRST", "given": "জাজিলিয়া", "middle": "হামিশ", "family": "মুন্সি", "initials": "জ. হ. ম."}
{"name": "মেরি সু হামিশ রহমান", "given": "মেরি", "middle": "সু হামিশ", "family": "রহমান", "initials": "ম. স. হ. র."}
+{"name": "রবিন ঘোষ", "given": "রবিন", "family": "ঘোষ", "initials": "র. ঘ."}
{"name": "রহমান আলি তালুকদার প্রঃ ডঃ আদিরা ইভা সোফিয়া এম.ডি.পিএইচ.ডি.", "order": "FAMILY_FIRST", "given": "আলি", "middle": "তালুকদার প্রঃ ডঃ আদিরা ইভা সোফিয়া এম.ডি.পিএইচ.ডি.", "family": "রহমান", "initials": "আ. ত. প. ড. আ. ই. স. এ. র."}
{"name": "রহমান আলি তালুকদার, প্রঃ ডঃ আদিরা ইভা সোফিয়া এম.ডি.পিএইচ.ডি.", "given": "প্রঃ", "middle": "ডঃ আদিরা ইভা সোফিয়া এম.ডি.পিএইচ.ডি.", "family": "রহমান আলি তালুকদার", "initials": "প. ড. আ. ই. স. এ. র. আ. ত."}
{"name": "রহমান মেরি সু হামিশ", "order": "FAMILY_FIRST", "given": "মেরি", "middle": "সু হামিশ", "family": "রহমান", "initials": "ম. স. হ. র."}
+{"name": "রাণী হামিদ", "given": "রাণী", "family": "হামিদ", "initials": "র. হ."}
+{"name": "রেণুকা দাশগুপ্ত", "given": "রেণুকা", "family": "দাশগুপ্ত", "initials": "র. দ."}
{"name": "শ্রেয়া চৌধুরী", "given": "শ্রেয়া", "family": "চৌধুরী", "initials": "শ. চ."}
{"name": "শৰ্মা ৰুলা কলিতা যতীন", "order": "FAMILY_FIRST", "given": "ৰুলা", "middle": "কলিতা যতীন", "family": "শৰ্মা", "initials": "ৰ. ক. য. শ."}
{"name": "শৰ্মা, ৰুলা কলিতা যতীন", "given": "ৰুলা", "middle": "কলিতা যতীন", "family": "শৰ্মা", "initials": "ৰ. ক. য. শ."}
{"name": "সত্যৰাম", "given": "সত্যৰাম", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "স."}
{"name": "সত্যৰাম", "order": "FAMILY_FIRST", "family": "সত্যৰাম", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "স."}
+{"name": "সলিল সেন", "given": "সলিল", "family": "সেন", "initials": "স. স."}
{"name": "সিনবাদ", "given": "সিনবাদ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "স."}
{"name": "সিনবাদ", "order": "FAMILY_FIRST", "family": "সিনবাদ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "স."}
+{"name": "সুজাতা মহাপাত্র", "given": "সুজাতা", "family": "মহাপাত্র", "initials": "স. ম."}
+{"name": "সুনীল কর্মকার", "given": "সুনীল", "family": "কর্মকার", "initials": "স. ক."}
+{"name": "সুবোধ সরকার", "given": "সুবোধ", "family": "সরকার", "initials": "স. স."}
+{"name": "সুভাষ মুখোপাধ্যায়", "given": "সুভাষ", "family": "মুখোপাধ্যায়", "initials": "স. ম."}
+{"name": "সুলতান মাহমুদ", "given": "সুলতান", "family": "মাহমুদ", "initials": "স. ম."}
+{"name": "সেলিনা হোসেন", "given": "সেলিনা", "family": "হোসেন", "initials": "স. হ."}
+{"name": "হেলেনা খান", "given": "হেলেনা", "family": "খান", "initials": "হ. খ."}
{"name": "ৰুলা কলিতা যতীন শৰ্মা", "given": "ৰুলা", "middle": "কলিতা যতীন", "family": "শৰ্মা", "initials": "ৰ. ক. য. শ."}
{"name": "ਆਰੀਨ ਐਡਲਰ", "given": "ਆਰੀਨ", "family": "ਐਡਲਰ", "initials": "ਆ. ਐ."}
{"name": "ਐਡਲਰ ਆਰੀਨ", "order": "FAMILY_FIRST", "given": "ਆਰੀਨ", "family": "ਐਡਲਰ", "initials": "ਆ. ਐ."}
@@ -4506,13 +5081,21 @@
{"name": "සෙන්ඩයා", "order": "FAMILY_FIRST", "family": "සෙන්ඩයා", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ස."}
{"name": "กล้าหาญ ไอริณ", "order": "FAMILY_FIRST", "given": "ไอริณ", "family": "กล้าหาญ", "initials": "ไ. ก."}
{"name": "กล้าหาญ, ไอริณ", "given": "ไอริณ", "family": "กล้าหาญ", "initials": "ไ. ก."}
+{"name": "กุลวุฒิ วิทิตศานต์", "given": "กุลวุฒิ", "family": "วิทิตศานต์", "initials": "ก. ว."}
{"name": "คุณ ปรีชา กล้าหาญ แสงระวี", "given": "คุณ", "middle": "ปรีชา กล้าหาญ", "family": "แสงระวี", "initials": "ค. ป. ก. แ."}
+{"name": "ชวเลิศ ชุ่มคำ", "given": "ชวเลิศ", "family": "ชุ่มคำ", "initials": "ช. ช."}
+{"name": "ชัชวาลย์ แท่งทอง", "given": "ชัชวาลย์", "family": "แท่งทอง", "initials": "ช. แ."}
{"name": "ซาซิเลีย ฮามิช สโตเบอร์", "given": "ซาซิเลีย", "middle": "ฮามิช", "family": "สโตเบอร์", "initials": "ซ. ฮ. ส."}
{"name": "ซินแบด", "given": "ซินแบด", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ซ."}
{"name": "ซินแบด", "order": "FAMILY_FIRST", "family": "ซินแบด", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ซ."}
+{"name": "ทรัพย์สิรี แต้รัตนชัย", "given": "ทรัพย์สิรี", "family": "แต้รัตนชัย", "initials": "ท. แ."}
{"name": "ธนา", "given": "ธนา", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ธ."}
{"name": "ธนา", "order": "FAMILY_FIRST", "family": "ธนา", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ธ."}
{"name": "บรืล, เอดา คอร์เนเลีย เซซาร์ มาร์ติน วอน", "given": "เอดา", "middle": "คอร์เนเลีย เซซาร์ มาร์ติน วอน", "family": "บรืล", "initials": "เ. ค. เ. ม. ว. บ."}
+{"name": "บุญศักดิ์ พลสนะ", "given": "บุญศักดิ์", "family": "พลสนะ", "initials": "บ. พ."}
+{"name": "บุศนันทน์ อึ๊งบำรุงพันธุ์", "given": "บุศนันทน์", "family": "อึ๊งบำรุงพันธุ์", "initials": "บ. อ."}
+{"name": "ประวัติ ปัตตพงศ์", "given": "ประวัติ", "family": "ปัตตพงศ์", "initials": "ป. ป."}
+{"name": "พรทิพย์ บูรณะประเสริฐสุข", "given": "พรทิพย์", "family": "บูรณะประเสริฐสุข", "initials": "พ. บ."}
{"name": "พิชิตชัย มานี ชัยยศ", "order": "FAMILY_FIRST", "given": "มานี", "middle": "ชัยยศ", "family": "พิชิตชัย", "initials": "ม. ช. พ."}
{"name": "พิชิตชัย, มานี ชัยยศ", "given": "มานี", "middle": "ชัยยศ", "family": "พิชิตชัย", "initials": "ม. ช. พ."}
{"name": "มานี ชัยยศ พิชิตชัย", "given": "มานี", "middle": "ชัยยศ", "family": "พิชิตชัย", "initials": "ม. ช. พ."}
@@ -4522,7 +5105,9 @@
{"name": "ศ.ดร. เอดา คอร์เนเลีย เซซาร์ มาร์ติน วอน บรืล พ.บ. ท.บ.", "given": "ศ.ดร.", "middle": "เอดา คอร์เนเลีย เซซาร์ มาร์ติน วอน", "family": "บรืล", "suffix": "พ.บ. ท.บ.", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "ศ. เ. ค. เ. ม. ว. บ."}
{"name": "สโตเบอร์ ซาซิเลีย ฮามิช", "order": "FAMILY_FIRST", "given": "ซาซิเลีย", "middle": "ฮามิช", "family": "สโตเบอร์", "initials": "ซ. ฮ. ส."}
{"name": "สโตเบอร์, ซาซิเลีย ฮามิช", "given": "ซาซิเลีย", "middle": "ฮามิช", "family": "สโตเบอร์", "initials": "ซ. ฮ. ส."}
+{"name": "เกรียงศักดิ์ โกวิทวาณิช", "given": "เกรียงศักดิ์", "family": "โกวิทวาณิช", "initials": "เ. โ."}
{"name": "เคเทอ มึลเลอร์", "given": "เคเทอ", "family": "มึลเลอร์", "initials": "เ. ม."}
+{"name": "เดชาพล พัววรานุเคราะห์", "given": "เดชาพล", "family": "พัววรานุเคราะห์", "initials": "เ. พ."}
{"name": "แสงระวี คุณ ปรีชา กล้าหาญ", "order": "FAMILY_FIRST", "given": "คุณ", "middle": "ปรีชา กล้าหาญ", "family": "แสงระวี", "initials": "ค. ป. ก. แ."}
{"name": "แสงระวี, ปรีชา กล้าหาญ", "given": "ปรีชา", "middle": "กล้าหาญ", "family": "แสงระวี", "initials": "ป. ก. แ."}
{"name": "ไอริณ กล้าหาญ", "given": "ไอริณ", "family": "กล้าหาญ", "initials": "ไ. ก."}
@@ -4588,22 +5173,82 @@
{"name": "ၸႅၼ်ႇတေႇယႃႇ", "given": "ၸႅၼ်ႇတေႇယႃႇ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ၸ."}
{"name": "ၸႅၼ်ႇတေႇယႃႇ", "order": "FAMILY_FIRST", "family": "ၸႅၼ်ႇတေႇယႃႇ", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ၸ."}
{"name": "აბაშიძე მარიამ მართა", "order": "FAMILY_FIRST", "given": "მარიამ", "middle": "მართა", "family": "აბაშიძე", "initials": "მ. მ. ა."}
+{"name": "აბელ მამარდაშვილი", "given": "აბელ", "family": "მამარდაშვილი", "initials": "ა. მ."}
+{"name": "ალექსანდრე იაშვილი", "given": "ალექსანდრე", "family": "იაშვილი", "initials": "ა. ი."}
+{"name": "ალექსანდრე ციბაძე", "given": "ალექსანდრე", "family": "ციბაძე", "initials": "ა. ც."}
+{"name": "ალექსი მახარაშვილი", "given": "ალექსი", "family": "მახარაშვილი", "initials": "ა. მ."}
+{"name": "ანასტასია ვირსალაძე", "given": "ანასტასია", "family": "ვირსალაძე", "initials": "ა. ვ."}
+{"name": "ბადრი თოიძე", "given": "ბადრი", "family": "თოიძე", "initials": "ბ. თ."}
{"name": "ბელუჩი მონიკა", "order": "FAMILY_FIRST", "given": "მონიკა", "family": "ბელუჩი", "initials": "მ. ბ."}
+{"name": "გია გულუა", "given": "გია", "family": "გულუა", "initials": "გ. გ."}
+{"name": "გიგა ჭიკაძე", "given": "გიგა", "family": "ჭიკაძე", "initials": "გ. ჭ."}
+{"name": "გივი წულაია", "given": "გივი", "family": "წულაია", "initials": "გ. წ."}
+{"name": "გიორგი ბაგრატიონი", "given": "გიორგი", "family": "ბაგრატიონი", "initials": "გ. ბ."}
+{"name": "გიორგი გონჯილაშვილი", "given": "გიორგი", "family": "გონჯილაშვილი", "initials": "გ. გ."}
{"name": "გიორგი თავაძე", "given": "გიორგი", "family": "თავაძე", "initials": "გ. თ."}
+{"name": "გიორგი სხირტლაძე", "given": "გიორგი", "family": "სხირტლაძე", "initials": "გ. ს."}
+{"name": "გიორგი ჩახავა", "given": "გიორგი", "family": "ჩახავა", "initials": "გ. ჩ."}
+{"name": "გიორგი ჭოღოშვილი", "given": "გიორგი", "family": "ჭოღოშვილი", "initials": "გ. ჭ."}
+{"name": "გურამ მეტონიძე", "given": "გურამ", "family": "მეტონიძე", "initials": "გ. მ."}
+{"name": "გურანდა ღვალაძე", "given": "გურანდა", "family": "ღვალაძე", "initials": "გ. ღ."}
+{"name": "დავით ბააზოვი", "given": "დავით", "family": "ბააზოვი", "initials": "დ. ბ."}
+{"name": "დავით გოცირიძე", "given": "დავით", "family": "გოცირიძე", "initials": "დ. გ."}
+{"name": "ელგუჯა ღონღაძე", "given": "ელგუჯა", "family": "ღონღაძე", "initials": "ე. ღ."}
+{"name": "ვაჟა დადიანიძე", "given": "ვაჟა", "family": "დადიანიძე", "initials": "ვ. დ."}
+{"name": "ვახტანგ აბაშიძე", "given": "ვახტანგ", "family": "აბაშიძე", "initials": "ვ. ა."}
+{"name": "ვახტანგ ჯაფარიძე", "given": "ვახტანგ", "family": "ჯაფარიძე", "initials": "ვ. ჯ."}
+{"name": "ვლადიმერ ანთაძე", "given": "ვლადიმერ", "family": "ანთაძე", "initials": "ვ. ა."}
+{"name": "ვლადიმერ უზნაძე", "given": "ვლადიმერ", "family": "უზნაძე", "initials": "ვ. უ."}
+{"name": "ზაალ სამადაშვილი", "given": "ზაალ", "family": "სამადაშვილი", "initials": "ზ. ს."}
{"name": "თავაძე გიორგი", "order": "FAMILY_FIRST", "given": "გიორგი", "family": "თავაძე", "initials": "გ. თ."}
+{"name": "თამაზ კვაჭანტირაძე", "given": "თამაზ", "family": "კვაჭანტირაძე", "initials": "თ. კ."}
+{"name": "თამაზ წივწივაძე", "given": "თამაზ", "family": "წივწივაძე", "initials": "თ. წ."}
+{"name": "თეიმურაზ გორდელაძე", "given": "თეიმურაზ", "family": "გორდელაძე", "initials": "თ. გ."}
+{"name": "თეიმურაზ კვირკველია", "given": "თეიმურაზ", "family": "კვირკველია", "initials": "თ. კ."}
{"name": "თეკლა მარიამ ნაკაშიძე", "given": "თეკლა", "middle": "მარიამ", "family": "ნაკაშიძე", "initials": "თ. მ. ნ."}
+{"name": "თემურ აბულაშვილი", "given": "თემურ", "family": "აბულაშვილი", "initials": "თ. ა."}
+{"name": "ილია სულამანიძე", "given": "ილია", "family": "სულამანიძე", "initials": "ი. ს."}
+{"name": "ირაკლი ელიავა", "given": "ირაკლი", "family": "ელიავა", "initials": "ი. ე."}
+{"name": "ირაკლი მწითური", "given": "ირაკლი", "family": "მწითური", "initials": "ი. მ."}
+{"name": "კახა ბენდუქიძე", "given": "კახა", "family": "ბენდუქიძე", "initials": "კ. ბ."}
+{"name": "კახა კალაძე", "given": "კახა", "family": "კალაძე", "initials": "კ. კ."}
+{"name": "ლევან გაჩეჩილაძე", "given": "ლევან", "family": "გაჩეჩილაძე", "initials": "ლ. გ."}
+{"name": "ლევან ინწკირველი", "given": "ლევან", "family": "ინწკირველი", "initials": "ლ. ი."}
+{"name": "ლევან კაჭარავა", "given": "ლევან", "family": "კაჭარავა", "initials": "ლ. კ."}
+{"name": "ლევან მაღნარაძე", "given": "ლევან", "family": "მაღნარაძე", "initials": "ლ. მ."}
+{"name": "ლევან ყენია", "given": "ლევან", "family": "ყენია", "initials": "ლ. ყ."}
+{"name": "ლეო შერვაშიძე", "given": "ლეო", "family": "შერვაშიძე", "initials": "ლ. შ."}
+{"name": "მამუკა ზაალიშვილი", "given": "მამუკა", "family": "ზაალიშვილი", "initials": "მ. ზ."}
{"name": "მარიამ მართა აბაშიძე", "given": "მარიამ", "middle": "მართა", "family": "აბაშიძე", "initials": "მ. მ. ა."}
+{"name": "მერაბ დვალიშვილი", "given": "მერაბ", "family": "დვალიშვილი", "initials": "მ. დ."}
+{"name": "მიხეილ ქორქია", "given": "მიხეილ", "family": "ქორქია", "initials": "მ. ქ."}
+{"name": "მიხეილ ჯოჯუა", "given": "მიხეილ", "family": "ჯოჯუა", "initials": "მ. ჯ."}
{"name": "მონიკა ბელუჩი", "given": "მონიკა", "family": "ბელუჩი", "initials": "მ. ბ."}
+{"name": "მუხრან ვახტანგაძე", "given": "მუხრან", "family": "ვახტანგაძე", "initials": "მ. ვ."}
{"name": "ნაკაშიძე თეკლა მარიამ", "order": "FAMILY_FIRST", "given": "თეკლა", "middle": "მარიამ", "family": "ნაკაშიძე", "initials": "თ. მ. ნ."}
+{"name": "ნელი მგალობლიშვილი", "given": "ნელი", "family": "მგალობლიშვილი", "initials": "ნ. მ."}
+{"name": "ნიკო ფიროსმანი", "given": "ნიკო", "family": "ფიროსმანი", "initials": "ნ. ფ."}
+{"name": "ნიკოლოზ ბასილაშვილი", "given": "ნიკოლოზ", "family": "ბასილაშვილი", "initials": "ნ. ბ."}
+{"name": "ნიკოლოზ სანიშვილი", "given": "ნიკოლოზ", "family": "სანიშვილი", "initials": "ნ. ს."}
{"name": "ნინო", "given": "ნინო", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ნ."}
{"name": "ნინო", "order": "FAMILY_FIRST", "family": "ნინო", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ნ."}
+{"name": "ნოდარ ღვალაძე", "given": "ნოდარ", "family": "ღვალაძე", "initials": "ნ. ღ."}
+{"name": "ნოდარ ცინცაძე", "given": "ნოდარ", "family": "ცინცაძე", "initials": "ნ. ც."}
+{"name": "ნოდარ ჯობავა", "given": "ნოდარ", "family": "ჯობავა", "initials": "ნ. ჯ."}
+{"name": "პაატა კოღუაშვილი", "given": "პაატა", "family": "კოღუაშვილი", "initials": "პ. კ."}
{"name": "პროფ. დოქტ. ადა კორნელია სეზარ მარტინ ფონ ბრიული გონსალეს დომინგო მეცნ. დოქტ.", "title": "პროფ. დოქტ.", "given": "ადა", "middle": "კორნელია სეზარ მარტინ ფონ ბრიული გონსალეს დომინგო მეცნ.", "family": "დოქტ.", "initials": "ა. კ. ს. მ. ფ. ბ. გ. დ. მ. დ."}
+{"name": "რევაზ ადამია", "given": "რევაზ", "family": "ადამია", "initials": "რ. ა."}
+{"name": "სერგო რიგვავა", "given": "სერგო", "family": "რიგვავა", "initials": "ს. რ."}
{"name": "სინდბად", "given": "სინდბად", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ს."}
{"name": "სინდბად", "order": "FAMILY_FIRST", "family": "სინდბად", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "ს."}
+{"name": "სოსო ლიპარტელიანი", "given": "სოსო", "family": "ლიპარტელიანი", "initials": "ს. ლ."}
+{"name": "სოსო პაიჭაძე", "given": "სოსო", "family": "პაიჭაძე", "initials": "ს. პ."}
+{"name": "ტარიელ ჭიჭინაძე", "given": "ტარიელ", "family": "ჭიჭინაძე", "initials": "ტ. ჭ."}
{"name": "ფონ ბრიული გონსალეს დომინგო პროფ. დოქტ. ადა კორნელია სეზარ მარტინ მეცნ. დოქტ.", "order": "FAMILY_FIRST", "given": "ბრიული", "middle": "გონსალეს დომინგო პროფ. დოქტ. ადა კორნელია სეზარ მარტინ მეცნ. დოქტ.", "family": "ფონ", "initials": "ბ. გ. დ. პ. დ. ა. კ. ს. მ. მ. დ. ფ."}
{"name": "ფონ ბრიული გონსალეს დომინგო, პროფ. დოქტ. ადა კორნელია სეზარ მარტინ მეცნ. დოქტ.", "title": "პროფ. დოქტ.", "given": "ადა", "middle": "კორნელია სეზარ მარტინ მეცნ. დოქტ.", "family": "ფონ ბრიული გონსალეს დომინგო", "initials": "ა. კ. ს. მ. მ. დ. ფ. ბ. გ. დ."}
{"name": "შტიობერი ცეცილია ჰეიმიშ", "order": "FAMILY_FIRST", "given": "ცეცილია", "middle": "ჰეიმიშ", "family": "შტიობერი", "initials": "ც. ჰ. შ."}
{"name": "ცეცილია ჰეიმიშ შტიობერი", "given": "ცეცილია", "middle": "ჰეიმიშ", "family": "შტიობერი", "initials": "ც. ჰ. შ."}
+{"name": "ხვიჩა კვარაცხელია", "given": "ხვიჩა", "family": "კვარაცხელია", "initials": "ხ. კ."}
{"name": "김. 민준", "given": "민준", "family": "김.", "initials": "민. 김."}
{"name": "ሙለር ካቲ", "order": "FAMILY_FIRST", "given": "ካቲ", "family": "ሙለር", "initials": "ካ. ሙ."}
{"name": "ሙለር፣ ካቲ", "order": "FAMILY_FIRST", "given": "ካቲ", "family": "ሙለር፣", "initials": "ካ. ሙ."}
@@ -4719,37 +5364,81 @@
{"name": "マイケル・ジャクソン", "given": "マイケル", "family": "ジャクソン", "initials": "マ. ジ."}
{"name": "ロバート・ダウニー・ジュニア", "given": "ロバート", "family": "ダウニー", "suffix": "ジュニア", "initials": "ロ. ダ."}
{"name": "一郎安藤", "family": "一郎安藤", "initials": "一."}
+{"name": "三橋淳", "family": "三橋淳", "initials": "三."}
+{"name": "上山輝一", "family": "上山輝一", "initials": "上."}
+{"name": "中内力", "family": "中内力", "initials": "中."}
+{"name": "中島 徹", "given": "徹", "family": "中島", "initials": "徹. 中."}
+{"name": "中川龍一", "family": "中川龍一", "initials": "中."}
+{"name": "亀井三郎", "family": "亀井三郎", "initials": "亀."}
+{"name": "伊豆田莉奈", "family": "伊豆田莉奈", "initials": "伊."}
+{"name": "佐々木 勇人", "given": "勇人", "family": "佐々木", "initials": "勇. 佐."}
{"name": "佐々木 太郎", "given": "太郎", "family": "佐々木", "initials": "太. 佐."}
+{"name": "佐々木謙一郎", "family": "佐々木謙一郎", "initials": "佐."}
{"name": "佐藤 花子 \"旧姓・田中\" (旧姓 鈴木)", "given": "花子", "family": "佐藤", "nickname": "旧姓 田中", "maiden": "鈴木", "initials": "花. 佐."}
{"name": "佐藤グレース恵子", "order": "FAMILY_FIRST", "family": "佐藤グレース恵子", "initials": "佐."}
{"name": "佐藤グレース恵子さん", "order": "FAMILY_FIRST", "family": "佐藤グレース恵子", "suffix": "さん", "initials": "佐."}
+{"name": "何炅", "family": "何炅", "initials": "何."}
+{"name": "何瑞麟", "family": "何瑞麟", "initials": "何."}
{"name": "俊年杰思陈", "family": "俊年杰思陈", "initials": "俊."}
{"name": "先生子媚惠仪陈小,太平绅士", "given": "太平绅士", "family": "先生子媚惠仪陈小", "initials": "太. 先."}
{"name": "先生子媚惠儀陳小,太平紳士", "given": "太平紳士", "family": "先生子媚惠儀陳小", "initials": "太. 先."}
{"name": "克特·米勒", "given": "克特", "family": "米勒", "initials": "克. 米."}
+{"name": "内田誠", "family": "内田誠", "initials": "内."}
+{"name": "内藤博文", "family": "内藤博文", "initials": "内."}
{"name": "凯晴", "family": "凯晴", "initials": "凯."}
{"name": "凯晴", "order": "FAMILY_FIRST", "family": "凯晴", "initials": "凯."}
{"name": "凱晴", "family": "凱晴", "initials": "凱."}
{"name": "凱晴", "order": "FAMILY_FIRST", "family": "凱晴", "initials": "凱."}
+{"name": "刘婉婷", "family": "刘婉婷", "initials": "刘."}
+{"name": "刘放", "family": "刘放", "initials": "刘."}
+{"name": "刘旺", "family": "刘旺", "initials": "刘."}
+{"name": "刘相蓉", "family": "刘相蓉", "initials": "刘."}
+{"name": "刘维", "family": "刘维", "initials": "刘."}
+{"name": "前田秀樹", "family": "前田秀樹", "initials": "前."}
+{"name": "北野誠", "family": "北野誠", "initials": "北."}
+{"name": "华楠", "family": "华楠", "initials": "华."}
+{"name": "卫惠林", "family": "卫惠林", "initials": "卫."}
{"name": "司马相如", "family": "司马相如", "initials": "司."}
+{"name": "吉尾弘", "family": "吉尾弘", "initials": "吉."}
+{"name": "吉川亨", "family": "吉川亨", "initials": "吉."}
{"name": "吳·永強·德安", "order": "FAMILY_FIRST", "given": "永強", "middle": "德安", "family": "吳", "initials": "永. 德. 吳."}
{"name": "吴·永强·德安", "order": "FAMILY_FIRST", "given": "永强", "middle": "德安", "family": "吴", "initials": "永. 德. 吴."}
+{"name": "周美玲", "family": "周美玲", "initials": "周."}
+{"name": "唐由之", "family": "唐由之", "initials": "唐."}
+{"name": "坂本 龍馬", "given": "龍馬", "family": "坂本", "initials": "龍. 坂."}
+{"name": "城戸 四郎", "given": "四郎", "family": "城戸", "initials": "四. 城."}
+{"name": "堀内 克明", "given": "克明", "family": "堀内", "initials": "克. 堀."}
{"name": "塞西莉亚·哈米什·施托贝尔", "given": "塞西莉亚", "middle": "哈米什", "family": "施托贝尔", "initials": "塞. 哈. 施."}
{"name": "夏侯惇", "family": "夏侯惇", "initials": "夏."}
+{"name": "夏萍", "family": "夏萍", "initials": "夏."}
+{"name": "多田大介", "family": "多田大介", "initials": "多."}
+{"name": "大沢衛", "family": "大沢衛", "initials": "大."}
+{"name": "太田三郎", "family": "太田三郎", "initials": "太."}
{"name": "太郎トーマス山田", "family": "太郎トーマス山田", "initials": "太."}
+{"name": "姚明", "family": "姚明", "initials": "姚."}
{"name": "威廉·莎士比亚", "given": "威廉", "family": "莎士比亚", "initials": "威. 莎."}
{"name": "威廉·莎士比亚, PhD", "given": "威廉", "family": "莎士比亚", "suffix": "PhD", "initials": "威. 莎."}
{"name": "威廉·莎士比亚さん", "given": "威廉", "family": "莎士比亚", "suffix": "さん", "initials": "威. 莎."}
{"name": "威廉・莎士比亚", "given": "莎士比亚", "family": "威廉", "initials": "莎. 威."}
+{"name": "孙悦", "family": "孙悦", "initials": "孙."}
+{"name": "孟建柱", "family": "孟建柱", "initials": "孟."}
{"name": "宇瀚", "family": "宇瀚", "initials": "宇."}
{"name": "宇瀚", "order": "FAMILY_FIRST", "family": "宇瀚", "initials": "宇."}
{"name": "安东尼·陈志明", "given": "安东尼", "family": "陈志明", "initials": "安. 陈."}
+{"name": "安倍なつみ", "family": "安倍なつみ", "initials": "安."}
{"name": "安怡张", "family": "安怡张", "initials": "安."}
{"name": "安藤一郎", "order": "FAMILY_FIRST", "family": "安藤一郎", "initials": "安."}
+{"name": "安達禎", "family": "安達禎", "initials": "安."}
+{"name": "宋楠", "family": "宋楠", "initials": "宋."}
{"name": "家豪明德林", "family": "家豪明德林", "initials": "家."}
{"name": "小冯·布鲁赫·艾达·科妮莉亚·塞萨尔·马丁·博士教授", "order": "FAMILY_FIRST", "given": "布鲁赫", "middle": "艾达 科妮莉亚 塞萨尔 马丁", "family": "小冯", "suffix": "博士 教授", "initials": "布. 艾. 科. 塞. 马. 小."}
{"name": "小彭德威东升议员先生", "order": "FAMILY_FIRST", "family": "小彭德威东升议员", "suffix": "先生", "initials": "小."}
{"name": "小德威东升彭议员先生", "family": "小德威东升彭议员", "suffix": "先生", "initials": "小."}
+{"name": "小杉 啓太", "given": "啓太", "family": "小杉", "initials": "啓. 小."}
+{"name": "小林宏", "family": "小林宏", "initials": "小."}
+{"name": "小林由佳", "family": "小林由佳", "initials": "小."}
+{"name": "小柳俊一", "family": "小柳俊一", "initials": "小."}
+{"name": "小清水 亜美", "given": "亜美", "family": "小清水", "initials": "亜. 小."}
{"name": "小艾达·科妮莉亚·塞萨尔·马丁·冯·布鲁赫博士教授", "given": "小艾达", "middle": "科妮莉亚 塞萨尔 马丁 冯", "family": "布鲁赫博士", "suffix": "教授", "initials": "小. 科. 塞. 马. 冯. 布."}
{"name": "山田 ア゙イ", "given": "ア゙イ", "family": "山田", "initials": "ア. 山."}
{"name": "山田 エミ", "given": "エミ", "family": "山田", "initials": "エ. 山."}
@@ -4768,24 +5457,59 @@
{"name": "山田花子 旧姓 佐藤", "family": "山田花子", "maiden": "佐藤", "initials": "山."}
{"name": "山田「タロー」太郎", "given": "太郎", "family": "山田", "nickname": "タロー", "initials": "太. 山."}
{"name": "山田タロウ", "family": "山田タロウ", "initials": "山."}
+{"name": "岡正雄", "family": "岡正雄", "initials": "岡."}
+{"name": "崔晓桐", "family": "崔晓桐", "initials": "崔."}
{"name": "布鲁赫·艾达·科妮莉亚·塞萨尔·马丁·冯", "order": "FAMILY_FIRST", "given": "艾达", "middle": "科妮莉亚 塞萨尔 马丁 冯", "family": "布鲁赫", "initials": "艾. 科. 塞. 马. 冯. 布."}
+{"name": "平賀淳", "family": "平賀淳", "initials": "平."}
+{"name": "引地良一", "family": "引地良一", "initials": "引."}
{"name": "张伟", "family": "张伟", "initials": "张."}
{"name": "张安怡", "order": "FAMILY_FIRST", "family": "张安怡", "initials": "张."}
+{"name": "张翰", "family": "张翰", "initials": "张."}
{"name": "张雅婷", "order": "FAMILY_FIRST", "family": "张雅婷", "initials": "张."}
+{"name": "張瑞", "family": "張瑞", "initials": "張."}
{"name": "張雅婷", "order": "FAMILY_FIRST", "family": "張雅婷", "initials": "張."}
+{"name": "張韶涵", "family": "張韶涵", "initials": "張."}
+{"name": "彭孟緝", "family": "彭孟緝", "initials": "彭."}
{"name": "彭德威东升", "order": "FAMILY_FIRST", "family": "彭德威东升", "initials": "彭."}
{"name": "怡君達印馮·陳二世博士,醫學博士", "given": "醫學博士", "family": "怡君達印馮 陳二世博士", "initials": "醫. 怡. 陳."}
{"name": "恵子グレース佐藤ジュニアさん", "family": "恵子グレース佐藤ジュニア", "suffix": "さん", "initials": "恵."}
{"name": "慎太郎", "family": "慎太郎", "initials": "慎."}
{"name": "慎太郎", "order": "FAMILY_FIRST", "family": "慎太郎", "initials": "慎."}
+{"name": "揖斐章", "family": "揖斐章", "initials": "揖."}
{"name": "教授·怡君·达印·陈·陈·小,博士", "given": "教授", "middle": "怡君 达印 陈 陈", "family": "小", "suffix": "博士", "initials": "教. 怡. 达. 陈. 陈. 小."}
{"name": "教授·怡君·達印·陳·陳·小,博士", "given": "教授", "middle": "怡君 達印 陳 陳", "family": "小", "suffix": "博士", "initials": "教. 怡. 達. 陳. 陳. 小."}
{"name": "文傑", "family": "文傑", "initials": "文."}
{"name": "文傑", "order": "FAMILY_FIRST", "family": "文傑", "initials": "文."}
+{"name": "文强", "family": "文强", "initials": "文."}
{"name": "文杰", "family": "文杰", "initials": "文."}
{"name": "文杰", "order": "FAMILY_FIRST", "family": "文杰", "initials": "文."}
+{"name": "方豪", "family": "方豪", "initials": "方."}
{"name": "施托贝尔·塞西莉亚·哈米什", "order": "FAMILY_FIRST", "given": "塞西莉亚", "middle": "哈米什", "family": "施托贝尔", "initials": "塞. 哈. 施."}
+{"name": "木内 信夫", "given": "信夫", "family": "木内", "initials": "信. 木."}
+{"name": "朱世英", "family": "朱世英", "initials": "朱."}
+{"name": "朱旭", "family": "朱旭", "initials": "朱."}
+{"name": "朱霖", "family": "朱霖", "initials": "朱."}
+{"name": "朴璐美", "family": "朴璐美", "initials": "朴."}
+{"name": "李俊賢", "family": "李俊賢", "initials": "李."}
+{"name": "李博", "family": "李博", "initials": "李."}
+{"name": "李宗文", "family": "李宗文", "initials": "李."}
+{"name": "李影", "family": "李影", "initials": "李."}
+{"name": "李正中", "family": "李正中", "initials": "李."}
+{"name": "李瞻", "family": "李瞻", "initials": "李."}
+{"name": "李翔", "family": "李翔", "initials": "李."}
+{"name": "李诗沣", "family": "李诗沣", "initials": "李."}
+{"name": "村田喜一", "family": "村田喜一", "initials": "村."}
+{"name": "杨扬", "family": "杨扬", "initials": "杨."}
+{"name": "杨旭", "family": "杨旭", "initials": "杨."}
+{"name": "東郷文彦", "family": "東郷文彦", "initials": "東."}
+{"name": "林 力", "given": "力", "family": "林", "initials": "力. 林."}
+{"name": "林國華", "family": "林國華", "initials": "林."}
{"name": "林家豪明德", "order": "FAMILY_FIRST", "family": "林家豪明德", "initials": "林."}
+{"name": "柯洁", "family": "柯洁", "initials": "柯."}
+{"name": "柴山景綱", "family": "柴山景綱", "initials": "柴."}
+{"name": "桃田賢斗", "family": "桃田賢斗", "initials": "桃."}
+{"name": "桜井昌司", "family": "桜井昌司", "initials": "桜."}
+{"name": "森卯一", "family": "森卯一", "initials": "森."}
{"name": "毛 泽东", "given": "泽东", "family": "毛", "initials": "泽. 毛."}
{"name": "毛 泽东 Dr.", "title": "Dr.", "given": "泽东", "family": "毛", "initials": "泽. 毛."}
{"name": "毛 김", "given": "毛", "family": "김", "initials": "毛. 김."}
@@ -4797,6 +5521,13 @@
{"name": "永强·德安·吴", "given": "永强", "middle": "德安", "family": "吴", "initials": "永. 德. 吴."}
{"name": "永翘·黄", "given": "永翘", "family": "黄", "initials": "永. 黄."}
{"name": "永翹·黃", "given": "永翹", "family": "黃", "initials": "永. 黃."}
+{"name": "汪洋", "family": "汪洋", "initials": "汪."}
+{"name": "汪顺", "family": "汪顺", "initials": "汪."}
+{"name": "沈鵬", "family": "沈鵬", "initials": "沈."}
+{"name": "河合亨", "family": "河合亨", "initials": "河."}
+{"name": "渋谷健一", "family": "渋谷健一", "initials": "渋."}
+{"name": "湯浅浩", "family": "湯浅浩", "initials": "湯."}
+{"name": "牧野虎雄", "family": "牧野虎雄", "initials": "牧."}
{"name": "王·Smith", "given": "王·Smith", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "王."}
{"name": "王·雅婷", "order": "FAMILY_FIRST", "given": "雅婷", "family": "王", "initials": "雅. 王."}
{"name": "王·雅婷·婷婷", "order": "FAMILY_FIRST", "given": "雅婷", "middle": "婷婷", "family": "王", "initials": "雅. 婷. 王."}
@@ -4806,8 +5537,11 @@
{"name": "王小明 先生", "family": "王小明", "suffix": "先生", "initials": "王."}
{"name": "王小明先生", "family": "王小明", "suffix": "先生", "initials": "王."}
{"name": "王氏", "family": "王氏", "initials": "王."}
+{"name": "王鑫", "family": "王鑫", "initials": "王."}
+{"name": "王镇", "family": "王镇", "initials": "王."}
{"name": "王雅婷婷婷", "order": "FAMILY_FIRST", "family": "王雅婷婷婷", "initials": "王."}
{"name": "王雅婷婷婷二世議員", "order": "FAMILY_FIRST", "family": "王雅婷婷婷二世議員", "initials": "王."}
+{"name": "王雪莹", "family": "王雪莹", "initials": "王."}
{"name": "田中 さん", "family": "田中", "suffix": "さん", "initials": "田."}
{"name": "田中 太郎 旧姓 佐藤 MA", "given": "太郎", "family": "田中", "suffix": "MA", "maiden": "佐藤", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "太. 田."}
{"name": "田中 太郎 様", "given": "太郎", "family": "田中", "suffix": "様", "initials": "太. 田."}
@@ -4832,20 +5566,60 @@
{"name": "田中さん.", "family": "田中", "suffix": "さん.", "initials": "田."}
{"name": "田中さん., V.", "given": "V.", "family": "田中", "suffix": "さん.", "initials": "V. 田."}
{"name": "田中博士", "family": "田中博士", "initials": "田."}
+{"name": "白文正", "family": "白文正", "initials": "白."}
+{"name": "石智勇", "family": "石智勇", "initials": "石."}
+{"name": "秦彦三郎", "family": "秦彦三郎", "initials": "秦."}
+{"name": "端山 忠左衛門", "given": "忠左衛門", "family": "端山", "initials": "忠. 端."}
{"name": "米勒·克特", "order": "FAMILY_FIRST", "given": "克特", "family": "米勒", "initials": "克. 米."}
+{"name": "米川信夫", "family": "米川信夫", "initials": "米."}
+{"name": "罗建文", "family": "罗建文", "initials": "罗."}
+{"name": "罗隆基", "family": "罗隆基", "initials": "罗."}
+{"name": "胡英", "family": "胡英", "initials": "胡."}
+{"name": "茅祖權", "family": "茅祖權", "initials": "茅."}
+{"name": "草刈潤", "family": "草刈潤", "initials": "草."}
+{"name": "荒木茂", "family": "荒木茂", "initials": "荒."}
+{"name": "葉克強", "family": "葉克強", "initials": "葉."}
+{"name": "葉陶", "family": "葉陶", "initials": "葉."}
+{"name": "蔡国强", "family": "蔡国强", "initials": "蔡."}
+{"name": "蔡桂英", "family": "蔡桂英", "initials": "蔡."}
+{"name": "蔡金生", "family": "蔡金生", "initials": "蔡."}
+{"name": "蔣經國", "family": "蔣經國", "initials": "蔣."}
+{"name": "藤井旭", "family": "藤井旭", "initials": "藤."}
+{"name": "藤田信雄", "family": "藤田信雄", "initials": "藤."}
+{"name": "蘇貞昌", "family": "蘇貞昌", "initials": "蘇."}
+{"name": "詹桓", "family": "詹桓", "initials": "詹."}
+{"name": "諫山博", "family": "諫山博", "initials": "諫."}
{"name": "諸葛亮", "family": "諸葛亮", "initials": "諸."}
+{"name": "謝暉", "family": "謝暉", "initials": "謝."}
+{"name": "谢文清", "family": "谢文清", "initials": "谢."}
+{"name": "趙小蘭", "family": "趙小蘭", "initials": "趙."}
{"name": "辛巴达", "family": "辛巴达", "initials": "辛."}
{"name": "辛巴达", "order": "FAMILY_FIRST", "family": "辛巴达", "initials": "辛."}
+{"name": "近藤平三郎", "family": "近藤平三郎", "initials": "近."}
+{"name": "遠藤晴", "family": "遠藤晴", "initials": "遠."}
+{"name": "邓志伟", "family": "邓志伟", "initials": "邓."}
+{"name": "邓逸凡", "family": "邓逸凡", "initials": "邓."}
+{"name": "邵毓麟", "family": "邵毓麟", "initials": "邵."}
+{"name": "郑爽", "family": "郑爽", "initials": "郑."}
+{"name": "郭丹", "family": "郭丹", "initials": "郭."}
+{"name": "郭靜", "family": "郭靜", "initials": "郭."}
+{"name": "鈴木亀蔵", "family": "鈴木亀蔵", "initials": "鈴."}
+{"name": "鎌田 弥彦", "given": "弥彦", "family": "鎌田", "initials": "弥. 鎌."}
{"name": "阿明", "family": "阿明", "initials": "阿."}
{"name": "陈·怡君·达印", "order": "FAMILY_FIRST", "given": "怡君", "middle": "达印", "family": "陈", "initials": "怡. 达. 陈."}
{"name": "陈·陈·怡君·教授,小·达印·博士", "order": "FAMILY_FIRST", "given": "小", "middle": "达印", "family": "陈 陈 怡君", "suffix": "教授, 博士", "initials": "小. 达. 陈. 陈. 怡."}
{"name": "陈俊年杰思", "order": "FAMILY_FIRST", "family": "陈俊年杰思", "initials": "陈."}
+{"name": "陈凯歌", "family": "陈凯歌", "initials": "陈."}
{"name": "陈子媚先生,小惠仪太平绅士", "order": "FAMILY_FIRST", "given": "小惠仪太平绅士", "family": "陈子媚先生", "initials": "小. 陈."}
{"name": "陈子媚惠仪", "order": "FAMILY_FIRST", "family": "陈子媚惠仪", "initials": "陈."}
+{"name": "陈静", "family": "陈静", "initials": "陈."}
{"name": "陳·怡君·達印", "order": "FAMILY_FIRST", "given": "怡君", "middle": "達印", "family": "陳", "initials": "怡. 達. 陳."}
{"name": "陳·陳·怡君·教授,小·達印·博士", "order": "FAMILY_FIRST", "given": "小", "middle": "達印", "family": "陳 陳 怡君", "suffix": "教授, 博士", "initials": "小. 達. 陳. 陳. 怡."}
+{"name": "陳俊傑", "family": "陳俊傑", "initials": "陳."}
+{"name": "陳婷", "family": "陳婷", "initials": "陳."}
{"name": "陳子媚先生,小惠儀太平紳士", "order": "FAMILY_FIRST", "given": "小惠儀太平紳士", "family": "陳子媚先生", "initials": "小. 陳."}
{"name": "陳子媚惠儀", "order": "FAMILY_FIRST", "family": "陳子媚惠儀", "initials": "陳."}
+{"name": "陳明忠", "family": "陳明忠", "initials": "陳."}
{"name": "雅婷", "family": "雅婷", "initials": "雅."}
{"name": "雅婷", "order": "FAMILY_FIRST", "family": "雅婷", "initials": "雅."}
{"name": "雅婷婷婷王", "family": "雅婷婷婷王", "initials": "雅."}
@@ -4853,24 +5627,46 @@
{"name": "雅婷张", "family": "雅婷张", "initials": "雅."}
{"name": "雅婷張", "family": "雅婷張", "initials": "雅."}
{"name": "雅婷王", "family": "雅婷王", "initials": "雅."}
+{"name": "韩光", "family": "韩光", "initials": "韩."}
+{"name": "韩旭", "family": "韩旭", "initials": "韩."}
+{"name": "韩红", "family": "韩红", "initials": "韩."}
{"name": "馮·陳·怡君·達印", "order": "FAMILY_FIRST", "given": "陳", "middle": "怡君 達印", "family": "馮", "initials": "陳. 怡. 達. 馮."}
{"name": "馮·陳·怡君·達印·二世醫學博士", "order": "FAMILY_FIRST", "given": "陳", "middle": "怡君 達印 二世醫學博士", "family": "馮", "initials": "陳. 怡. 達. 二. 馮."}
+{"name": "馮定國", "family": "馮定國", "initials": "馮."}
+{"name": "駒井玲子", "family": "駒井玲子", "initials": "駒."}
{"name": "马丁·路德·金", "given": "马丁", "middle": "路德", "family": "金", "initials": "马. 路. 金."}
{"name": "马丁·路德·金씨", "given": "马丁", "middle": "路德", "family": "金", "suffix": "씨", "initials": "马. 路. 金."}
{"name": "高橋 みなみ", "given": "みなみ", "family": "高橋", "initials": "み. 高."}
{"name": "高橋みなみ", "family": "高橋みなみ", "initials": "高."}
{"name": "高橋・一郎", "given": "一郎", "family": "高橋", "initials": "一. 高."}
{"name": "高橋一郎", "family": "高橋一郎", "initials": "高."}
+{"name": "高橋章", "family": "高橋章", "initials": "高."}
+{"name": "高田栄二", "family": "高田栄二", "initials": "高."}
+{"name": "魏曦", "family": "魏曦", "initials": "魏."}
{"name": "鵜殿", "family": "鵜殿", "initials": "鵜."}
{"name": "黃·永翹", "order": "FAMILY_FIRST", "given": "永翹", "family": "黃", "initials": "永. 黃."}
{"name": "黄·永翘", "order": "FAMILY_FIRST", "given": "永翘", "family": "黄", "initials": "永. 黄."}
+{"name": "黄乃", "family": "黄乃", "initials": "黄."}
+{"name": "黄浩", "family": "黄浩", "initials": "黄."}
+{"name": "黎智英", "family": "黎智英", "initials": "黎."}
+{"name": "강명순", "given": "명순", "family": "강", "initials": "명. 강."}
{"name": "강유미", "order": "FAMILY_FIRST", "given": "유미", "family": "강", "initials": "유. 강."}
+{"name": "강혜원", "given": "혜원", "family": "강", "initials": "혜. 강."}
+{"name": "고 상돈", "given": "상돈", "family": "고", "initials": "상. 고."}
+{"name": "고기봉", "given": "기봉", "family": "고", "initials": "기. 고."}
+{"name": "고요한", "given": "요한", "family": "고", "initials": "요. 고."}
+{"name": "공옥진", "given": "옥진", "family": "공", "initials": "옥. 공."}
+{"name": "권재진", "given": "재진", "family": "권", "initials": "재. 권."}
+{"name": "권중동", "given": "중동", "family": "권", "initials": "중. 권."}
{"name": "김 민준", "given": "민준", "family": "김", "initials": "민. 김."}
{"name": "김, 민준 MA", "given": "민준", "family": "김", "suffix": "MA", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "민. 김."}
{"name": "김, 민준씨", "given": "민준", "family": "김", "suffix": "씨", "initials": "민. 김."}
{"name": "김, 민준씨 (Jimmy)", "given": "민준", "family": "김", "suffix": "씨", "nickname": "Jimmy", "initials": "민. 김."}
{"name": "김. 민준", "given": "민준", "family": "김.", "initials": "민. 김."}
{"name": "김゙민준", "given": "김゙민준", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "김."}
+{"name": "김경애", "given": "경애", "family": "김", "initials": "경. 김."}
+{"name": "김계원", "given": "계원", "family": "김", "initials": "계. 김."}
+{"name": "김기영", "given": "기영", "family": "김", "initials": "기. 김."}
{"name": "김민규헨리", "order": "FAMILY_FIRST", "given": "민규헨리", "family": "김", "initials": "민. 김."}
{"name": "김민준", "given": "민준", "family": "김", "initials": "민. 김."}
{"name": "김민준 님", "given": "민준", "family": "김", "suffix": "님", "initials": "민. 김."}
@@ -4900,41 +5696,149 @@
{"name": "김민준씨, V.", "given": "V.", "family": "김민준", "suffix": "씨", "initials": "V. 김."}
{"name": "김민준씨.", "given": "민준", "family": "김", "suffix": "씨.", "initials": "민. 김."}
{"name": "김민준씨., J.씨", "family": "김민준", "suffix": "씨., J.씨", "initials": "김."}
+{"name": "김병관", "given": "병관", "family": "김", "initials": "병. 김."}
+{"name": "김상철", "given": "상철", "family": "김", "initials": "상. 김."}
{"name": "김선생님", "family": "김", "suffix": "선생님", "initials": "김."}
+{"name": "김선영", "given": "선영", "family": "김", "initials": "선. 김."}
+{"name": "김성혜", "given": "성혜", "family": "김", "initials": "성. 김."}
+{"name": "김성훈", "given": "성훈", "family": "김", "initials": "성. 김."}
+{"name": "김소은", "given": "소은", "family": "김", "initials": "소. 김."}
{"name": "김씨", "family": "김", "suffix": "씨", "initials": "김."}
+{"name": "김약수", "given": "약수", "family": "김", "initials": "약. 김."}
+{"name": "김연경", "given": "연경", "family": "김", "initials": "연. 김."}
+{"name": "김영환", "given": "영환", "family": "김", "initials": "영. 김."}
+{"name": "김용완", "given": "용완", "family": "김", "initials": "용. 김."}
+{"name": "김응천", "given": "응천", "family": "김", "initials": "응. 김."}
+{"name": "김장섭", "given": "장섭", "family": "김", "initials": "장. 김."}
+{"name": "김재구", "given": "재구", "family": "김", "initials": "재. 김."}
+{"name": "김정은", "given": "정은", "family": "김", "initials": "정. 김."}
+{"name": "김종삼", "given": "종삼", "family": "김", "initials": "종. 김."}
+{"name": "김지수", "given": "지수", "family": "김", "initials": "지. 김."}
{"name": "김지양", "given": "지양", "family": "김", "initials": "지. 김."}
+{"name": "김한민", "given": "한민", "family": "김", "initials": "한. 김."}
+{"name": "나익진", "given": "익진", "family": "나", "initials": "익. 나."}
{"name": "남궁", "family": "남궁", "initials": "남."}
{"name": "남궁민수", "given": "민수", "family": "남궁", "ambiguities": ["SEGMENTATION"], "initials": "민. 남."}
{"name": "남궁민수 지훈", "given": "민수", "middle": "지훈", "family": "남궁", "ambiguities": ["SEGMENTATION"], "initials": "민. 지. 남."}
{"name": "남궁민수, 지훈", "given": "지훈", "family": "남궁민수", "initials": "지. 남."}
+{"name": "남다름", "given": "다름", "family": "남", "initials": "다. 남."}
+{"name": "노유상", "given": "유상", "family": "노", "initials": "유. 노."}
+{"name": "도민호", "given": "민호", "family": "도", "initials": "민. 도."}
{"name": "로버트 다우니 주니어", "given": "다우니", "family": "로버트", "suffix": "주니어", "initials": "다. 로."}
+{"name": "류효영", "given": "효영", "family": "류", "initials": "효. 류."}
{"name": "마이클·잭슨", "given": "마이클", "family": "잭슨", "initials": "마. 잭."}
{"name": "마틴 킹, MA", "given": "틴", "middle": "킹", "family": "마", "suffix": "MA", "ambiguities": ["SUFFIX_OR_NAME"], "initials": "틴. 킹. 마."}
{"name": "뮐러 케테", "order": "FAMILY_FIRST", "given": "케테", "family": "뮐러", "initials": "케. 뮐."}
{"name": "민규헨리김", "given": "규헨리김", "family": "민", "initials": "규. 민."}
+{"name": "민윤기", "given": "윤기", "family": "민", "initials": "윤. 민."}
+{"name": "박경애", "given": "경애", "family": "박", "initials": "경. 박."}
+{"name": "박경원", "given": "경원", "family": "박", "initials": "경. 박."}
+{"name": "박만원", "given": "만원", "family": "박", "initials": "만. 박."}
+{"name": "박민지", "given": "민지", "family": "박", "initials": "민. 박."}
+{"name": "박성수", "given": "성수", "family": "박", "initials": "성. 박."}
+{"name": "박성우", "given": "성우", "family": "박", "initials": "성. 박."}
{"name": "박소현", "order": "FAMILY_FIRST", "given": "소현", "family": "박", "initials": "소. 박."}
+{"name": "박시후", "given": "시후", "family": "박", "initials": "시. 박."}
+{"name": "박정희", "given": "정희", "family": "박", "initials": "정. 박."}
+{"name": "박주영", "given": "주영", "family": "박", "initials": "주. 박."}
+{"name": "박지현", "given": "지현", "family": "박", "initials": "지. 박."}
+{"name": "박진구", "given": "진구", "family": "박", "initials": "진. 박."}
+{"name": "박진영", "given": "진영", "family": "박", "initials": "진. 박."}
+{"name": "박형진", "given": "형진", "family": "박", "initials": "형. 박."}
+{"name": "방응모", "given": "응모", "family": "방", "initials": "응. 방."}
{"name": "선생님", "family": "선생님", "initials": "선."}
{"name": "선생님, J.씨", "given": "J.", "family": "선생님", "suffix": "씨", "initials": "J. 선."}
+{"name": "설기현", "given": "기현", "family": "설", "initials": "기. 설."}
{"name": "소현박", "given": "현박", "family": "소", "initials": "현. 소."}
+{"name": "손태곤", "given": "태곤", "family": "손", "initials": "태. 손."}
+{"name": "손현주", "given": "현주", "family": "손", "initials": "현. 손."}
+{"name": "송대남", "given": "대남", "family": "송", "initials": "대. 송."}
{"name": "슈퇴버 제질리아 해미쉬", "order": "FAMILY_FIRST", "given": "제질리아", "middle": "해미쉬", "family": "슈퇴버", "initials": "제. 해. 슈."}
+{"name": "신경림", "given": "경림", "family": "신", "initials": "경. 신."}
+{"name": "신도현", "given": "도현", "family": "신", "initials": "도. 신."}
{"name": "신밧드", "given": "밧드", "family": "신", "initials": "밧. 신."}
{"name": "신밧드", "order": "FAMILY_FIRST", "given": "밧드", "family": "신", "initials": "밧. 신."}
+{"name": "신용훈", "given": "용훈", "family": "신", "initials": "용. 신."}
+{"name": "신춘호", "given": "춘호", "family": "신", "initials": "춘. 신."}
+{"name": "신효순", "given": "효순", "family": "신", "initials": "효. 신."}
{"name": "씨", "family": "씨", "initials": "씨."}
+{"name": "아키야마 요시히로", "given": "요시히로", "family": "아키야마", "initials": "요. 아."}
{"name": "양 미선", "given": "미선", "family": "양", "initials": "미. 양."}
{"name": "양 지훈", "given": "지훈", "family": "양", "initials": "지. 양."}
{"name": "양 지훈.", "given": "지훈.", "family": "양", "initials": "지. 양."}
{"name": "양. 지훈", "given": "지훈", "family": "양.", "initials": "지. 양."}
{"name": "에이다 코넬리아 세사르 마르틴 폰 볼프 박사", "given": "코넬리아", "middle": "세사르 마르틴 폰 볼프", "family": "에이다", "suffix": "박사", "initials": "코. 세. 마. 폰. 볼. 에."}
+{"name": "오정숙", "given": "정숙", "family": "오", "initials": "정. 오."}
+{"name": "유명희", "given": "명희", "family": "유", "initials": "명. 유."}
{"name": "유미", "given": "미", "family": "유", "initials": "미. 유."}
{"name": "유미", "order": "FAMILY_FIRST", "given": "미", "family": "유", "initials": "미. 유."}
{"name": "유미강", "given": "미강", "family": "유", "initials": "미. 유."}
+{"name": "유영국", "given": "영국", "family": "유", "initials": "영. 유."}
+{"name": "육영수", "given": "영수", "family": "육", "initials": "영. 육."}
+{"name": "육인수", "given": "인수", "family": "육", "initials": "인. 육."}
+{"name": "육지수", "given": "지수", "family": "육", "initials": "지. 육."}
+{"name": "윤아정", "given": "아정", "family": "윤", "initials": "아. 윤."}
{"name": "이, J.씨", "given": "J.", "family": "이", "suffix": "씨", "initials": "J. 이."}
{"name": "이, J.씨.", "given": "J.", "family": "이", "suffix": "씨.", "initials": "J. 이."}
+{"name": "이강훈", "given": "강훈", "family": "이", "initials": "강. 이."}
+{"name": "이광노", "given": "광노", "family": "이", "initials": "광. 이."}
+{"name": "이만희", "given": "만희", "family": "이", "initials": "만. 이."}
+{"name": "이병기", "given": "병기", "family": "이", "initials": "병. 이."}
+{"name": "이병훈", "given": "병훈", "family": "이", "initials": "병. 이."}
+{"name": "이보나", "given": "보나", "family": "이", "initials": "보. 이."}
+{"name": "이상득", "given": "상득", "family": "이", "initials": "상. 이."}
+{"name": "이상익", "given": "상익", "family": "이", "initials": "상. 이."}
+{"name": "이소연", "given": "소연", "family": "이", "initials": "소. 이."}
+{"name": "이소희", "given": "소희", "family": "이", "initials": "소. 이."}
+{"name": "이유빈", "given": "유빈", "family": "이", "initials": "유. 이."}
+{"name": "이정희", "given": "정희", "family": "이", "initials": "정. 이."}
+{"name": "이진주", "given": "진주", "family": "이", "initials": "진. 이."}
+{"name": "이필모", "given": "필모", "family": "이", "initials": "필. 이."}
+{"name": "이현만", "given": "현만", "family": "이", "initials": "현. 이."}
+{"name": "이호왕", "given": "호왕", "family": "이", "initials": "호. 이."}
+{"name": "이희완", "given": "희완", "family": "이", "initials": "희. 이."}
+{"name": "임 대규", "given": "대규", "family": "임", "initials": "대. 임."}
+{"name": "임정은", "given": "정은", "family": "임", "initials": "정. 임."}
+{"name": "장명한", "given": "명한", "family": "장", "initials": "명. 장."}
+{"name": "장우현", "given": "우현", "family": "장", "initials": "우. 장."}
+{"name": "장원영", "given": "원영", "family": "장", "initials": "원. 장."}
+{"name": "장정곤", "given": "정곤", "family": "장", "initials": "정. 장."}
+{"name": "장효희", "given": "효희", "family": "장", "initials": "효. 장."}
+{"name": "전재규", "given": "재규", "family": "전", "initials": "재. 전."}
+{"name": "정동권", "given": "동권", "family": "정", "initials": "동. 정."}
+{"name": "정석모", "given": "석모", "family": "정", "initials": "석. 정."}
+{"name": "정세균", "given": "세균", "family": "정", "initials": "세. 정."}
+{"name": "정순택", "given": "순택", "family": "정", "initials": "순. 정."}
+{"name": "정호연", "given": "호연", "family": "정", "initials": "호. 정."}
{"name": "제질리아 해미쉬 슈퇴버", "given": "질리아", "middle": "해미쉬 슈퇴버", "family": "제", "initials": "질. 해. 슈. 제."}
+{"name": "조병득", "given": "병득", "family": "조", "initials": "병. 조."}
+{"name": "조상현", "given": "상현", "family": "조", "initials": "상. 조."}
+{"name": "조세희", "given": "세희", "family": "조", "initials": "세. 조."}
+{"name": "조형부", "given": "형부", "family": "조", "initials": "형. 조."}
+{"name": "주정균", "given": "정균", "family": "주", "initials": "정. 주."}
{"name": "지훈, 남궁민수", "given": "남궁민수", "family": "지훈", "initials": "남. 지."}
+{"name": "차태현", "given": "태현", "family": "차", "initials": "태. 차."}
+{"name": "천경자", "given": "경자", "family": "천", "initials": "경. 천."}
+{"name": "천병규", "given": "병규", "family": "천", "initials": "병. 천."}
+{"name": "최국현", "given": "국현", "family": "최", "initials": "국. 최."}
+{"name": "최두환", "given": "두환", "family": "최", "initials": "두. 최."}
+{"name": "최상옥", "given": "상옥", "family": "최", "initials": "상. 최."}
+{"name": "최영근", "given": "영근", "family": "최", "initials": "영. 최."}
+{"name": "최종덕", "given": "종덕", "family": "최", "initials": "종. 최."}
+{"name": "최희서", "given": "희서", "family": "최", "initials": "희. 최."}
+{"name": "추준석", "given": "준석", "family": "추", "initials": "준. 추."}
{"name": "케테 뮐러", "given": "뮐러", "family": "케테", "initials": "뮐. 케."}
{"name": "폰 볼프 에이다 코넬리아 세사르 마르틴", "order": "FAMILY_FIRST", "given": "볼프", "middle": "에이다 코넬리아 세사르 마르틴", "family": "폰", "initials": "볼. 에. 코. 세. 마. 폰."}
{"name": "폰 볼프 에이다 코넬리아 세사르 마르틴 박사", "order": "FAMILY_FIRST", "given": "볼프", "middle": "에이다 코넬리아 세사르 마르틴", "family": "폰", "suffix": "박사", "initials": "볼. 에. 코. 세. 마. 폰."}
+{"name": "하예정", "given": "예정", "family": "하", "initials": "예. 하."}
+{"name": "한성숙", "given": "성숙", "family": "한", "initials": "성. 한."}
+{"name": "한순철", "given": "순철", "family": "한", "initials": "순. 한."}
+{"name": "한지성", "given": "지성", "family": "한", "initials": "지. 한."}
+{"name": "허성태", "given": "성태", "family": "허", "initials": "성. 허."}
+{"name": "허정구", "given": "정구", "family": "허", "initials": "정. 허."}
+{"name": "홍남표", "given": "남표", "family": "홍", "initials": "남. 홍."}
+{"name": "홍순옥", "given": "순옥", "family": "홍", "initials": "순. 홍."}
+{"name": "황윤호", "given": "윤호", "family": "황", "initials": "윤. 황."}
{"name": "タナカ. John", "given": "タナカ.", "family": "John", "initials": "タ. J."}
{"name": "タロウ·ヤマダ", "given": "タロウ", "family": "ヤマダ", "initials": "タ. ヤ."}
{"name": "マイケル.", "given": "マイケル.", "ambiguities": ["GIVEN_OR_FAMILY"], "initials": "マ."}
diff --git a/tools/differential/wikidata_native_LICENSE b/tools/differential/wikidata_native_LICENSE
new file mode 100644
index 00000000..56ee5039
--- /dev/null
+++ b/tools/differential/wikidata_native_LICENSE
@@ -0,0 +1,17 @@
+corpus_wikidata_native.jsonl and wikidata_native_fields.jsonl are derived
+from Wikidata (https://www.wikidata.org), read through the Wikidata Query
+Service and the wbgetentities API, and carry Wikidata's license.
+
+Wikidata states that "All structured data (i.e. the main, Property,
+Lexeme, and EntitySchema namespaces) is released into the public
+domain".
+https://www.wikidata.org/wiki/Wikidata:Licensing
+
+CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/
+
+No attribution is required; this file credits the source anyway.
+Source: Wikidata, Wikimedia Foundation. Each line of
+wikidata_native_fields.jsonl names its item's QID, resolvable at
+https://www.wikidata.org/wiki/. Only public figures are sampled
+(deceased, or with at least 10 sitelinks), and only name strings and
+QIDs are kept.
diff --git a/tools/differential/wikidata_native_agreement.json b/tools/differential/wikidata_native_agreement.json
new file mode 100644
index 00000000..3abaafba
--- /dev/null
+++ b/tools/differential/wikidata_native_agreement.json
@@ -0,0 +1,1520 @@
+{
+ "Q100152143/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "葉",
+ "got": "葉陶"
+ },
+ "given_names": {
+ "expected": "陶",
+ "got": ""
+ },
+ "text": "葉陶"
+ },
+ "Q102246922/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "小柳",
+ "got": "小柳俊一"
+ },
+ "given_names": {
+ "expected": "俊一",
+ "got": ""
+ },
+ "text": "小柳俊一"
+ },
+ "Q103785817/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "詹",
+ "got": "詹桓"
+ },
+ "given_names": {
+ "expected": "桓",
+ "got": ""
+ },
+ "text": "詹桓"
+ },
+ "Q103791050/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "蔡",
+ "got": "蔡金生"
+ },
+ "given_names": {
+ "expected": "金生",
+ "got": ""
+ },
+ "text": "蔡金生"
+ },
+ "Q103791103/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李宗文"
+ },
+ "given_names": {
+ "expected": "宗文",
+ "got": ""
+ },
+ "text": "李宗文"
+ },
+ "Q104782874/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "黄",
+ "got": "黄乃"
+ },
+ "given_names": {
+ "expected": "乃",
+ "got": ""
+ },
+ "text": "黄乃"
+ },
+ "Q105260064/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "上山",
+ "got": "上山輝一"
+ },
+ "given_names": {
+ "expected": "輝一",
+ "got": ""
+ },
+ "text": "上山輝一"
+ },
+ "Q108855843/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "森",
+ "got": "森卯一"
+ },
+ "given_names": {
+ "expected": "卯一",
+ "got": ""
+ },
+ "text": "森卯一"
+ },
+ "Q10897593/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "刘",
+ "got": "刘放"
+ },
+ "given_names": {
+ "expected": "放",
+ "got": ""
+ },
+ "text": "刘放"
+ },
+ "Q109343195/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "蔡",
+ "got": "蔡桂英"
+ },
+ "given_names": {
+ "expected": "桂英",
+ "got": ""
+ },
+ "text": "蔡桂英"
+ },
+ "Q110406653/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "朱",
+ "got": "朱世英"
+ },
+ "given_names": {
+ "expected": "世英",
+ "got": ""
+ },
+ "text": "朱世英"
+ },
+ "Q11085014/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "方",
+ "got": "方豪"
+ },
+ "given_names": {
+ "expected": "豪",
+ "got": ""
+ },
+ "text": "方豪"
+ },
+ "Q111081424/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "安達",
+ "got": "安達禎"
+ },
+ "given_names": {
+ "expected": "禎",
+ "got": ""
+ },
+ "text": "安達禎"
+ },
+ "Q111117644/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "鈴木",
+ "got": "鈴木亀蔵"
+ },
+ "given_names": {
+ "expected": "亀蔵",
+ "got": ""
+ },
+ "text": "鈴木亀蔵"
+ },
+ "Q112577331/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "何",
+ "got": "何瑞麟"
+ },
+ "given_names": {
+ "expected": "瑞麟",
+ "got": ""
+ },
+ "text": "何瑞麟"
+ },
+ "Q11356021/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "三橋",
+ "got": "三橋淳"
+ },
+ "given_names": {
+ "expected": "淳",
+ "got": ""
+ },
+ "text": "三橋淳"
+ },
+ "Q113567973/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "平賀",
+ "got": "平賀淳"
+ },
+ "given_names": {
+ "expected": "淳",
+ "got": ""
+ },
+ "text": "平賀淳"
+ },
+ "Q11363041/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "中内",
+ "got": "中内力"
+ },
+ "given_names": {
+ "expected": "力",
+ "got": ""
+ },
+ "text": "中内力"
+ },
+ "Q113644075/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李瞻"
+ },
+ "given_names": {
+ "expected": "瞻",
+ "got": ""
+ },
+ "text": "李瞻"
+ },
+ "Q11364982/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "中川",
+ "got": "中川龍一"
+ },
+ "given_names": {
+ "expected": "龍一",
+ "got": ""
+ },
+ "text": "中川龍一"
+ },
+ "Q11394360/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "内田",
+ "got": "内田誠"
+ },
+ "given_names": {
+ "expected": "誠",
+ "got": ""
+ },
+ "text": "内田誠"
+ },
+ "Q11394483/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "内藤",
+ "got": "内藤博文"
+ },
+ "given_names": {
+ "expected": "博文",
+ "got": ""
+ },
+ "text": "内藤博文"
+ },
+ "Q11412770/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "吉尾",
+ "got": "吉尾弘"
+ },
+ "given_names": {
+ "expected": "弘",
+ "got": ""
+ },
+ "text": "吉尾弘"
+ },
+ "Q1142423/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "安倍",
+ "got": "安倍なつみ"
+ },
+ "given_names": {
+ "expected": "なつみ",
+ "got": ""
+ },
+ "text": "安倍なつみ"
+ },
+ "Q11436998/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "大沢",
+ "got": "大沢衛"
+ },
+ "given_names": {
+ "expected": "衛",
+ "got": ""
+ },
+ "text": "大沢衛"
+ },
+ "Q11444084/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "太田",
+ "got": "太田三郎"
+ },
+ "given_names": {
+ "expected": "三郎",
+ "got": ""
+ },
+ "text": "太田三郎"
+ },
+ "Q11461529/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "小林",
+ "got": "小林宏"
+ },
+ "given_names": {
+ "expected": "宏",
+ "got": ""
+ },
+ "text": "小林宏"
+ },
+ "Q11461743/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "小林",
+ "got": "小林由佳"
+ },
+ "given_names": {
+ "expected": "由佳",
+ "got": ""
+ },
+ "text": "小林由佳"
+ },
+ "Q11498424/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "揖斐",
+ "got": "揖斐章"
+ },
+ "given_names": {
+ "expected": "章",
+ "got": ""
+ },
+ "text": "揖斐章"
+ },
+ "Q11523418/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "村田",
+ "got": "村田喜一"
+ },
+ "given_names": {
+ "expected": "喜一",
+ "got": ""
+ },
+ "text": "村田喜一"
+ },
+ "Q11553704/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "河合",
+ "got": "河合亨"
+ },
+ "given_names": {
+ "expected": "亨",
+ "got": ""
+ },
+ "text": "河合亨"
+ },
+ "Q11570608/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "牧野",
+ "got": "牧野虎雄"
+ },
+ "given_names": {
+ "expected": "虎雄",
+ "got": ""
+ },
+ "text": "牧野虎雄"
+ },
+ "Q11596044/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "秦",
+ "got": "秦彦三郎"
+ },
+ "given_names": {
+ "expected": "彦三郎",
+ "got": ""
+ },
+ "text": "秦彦三郎"
+ },
+ "Q11604183/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "米川",
+ "got": "米川信夫"
+ },
+ "given_names": {
+ "expected": "信夫",
+ "got": ""
+ },
+ "text": "米川信夫"
+ },
+ "Q11608580/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "罗",
+ "got": "罗建文"
+ },
+ "given_names": {
+ "expected": "建文",
+ "got": ""
+ },
+ "text": "罗建文"
+ },
+ "Q11618744/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "荒木",
+ "got": "荒木茂"
+ },
+ "given_names": {
+ "expected": "茂",
+ "got": ""
+ },
+ "text": "荒木茂"
+ },
+ "Q11631995/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "諫山",
+ "got": "諫山博"
+ },
+ "given_names": {
+ "expected": "博",
+ "got": ""
+ },
+ "text": "諫山博"
+ },
+ "Q11638789/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "近藤",
+ "got": "近藤平三郎"
+ },
+ "given_names": {
+ "expected": "平三郎",
+ "got": ""
+ },
+ "text": "近藤平三郎"
+ },
+ "Q11642264/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "遠藤",
+ "got": "遠藤晴"
+ },
+ "given_names": {
+ "expected": "晴",
+ "got": ""
+ },
+ "text": "遠藤晴"
+ },
+ "Q11671502/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "高橋",
+ "got": "高橋章"
+ },
+ "given_names": {
+ "expected": "章",
+ "got": ""
+ },
+ "text": "高橋章"
+ },
+ "Q118125689/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "渋谷",
+ "got": "渋谷健一"
+ },
+ "given_names": {
+ "expected": "健一",
+ "got": ""
+ },
+ "text": "渋谷健一"
+ },
+ "Q121061159/ar-sy/givenFirst": {
+ "family": {
+ "expected": "ذو الغنى",
+ "got": "الغنى"
+ },
+ "given_names": {
+ "expected": "عائشة",
+ "got": "عائشة ذو"
+ },
+ "text": "عائشة ذو الغنى"
+ },
+ "Q12221498/ar-eg/givenFirst": {
+ "family": {
+ "expected": "عبد العزيز",
+ "got": "العزيز"
+ },
+ "given_names": {
+ "expected": "طارق",
+ "got": "طارق عبد"
+ },
+ "text": "طارق عبد العزيز"
+ },
+ "Q123945439/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "朱",
+ "got": "朱霖"
+ },
+ "given_names": {
+ "expected": "霖",
+ "got": ""
+ },
+ "text": "朱霖"
+ },
+ "Q125699198/ar-eg/givenFirst": {
+ "family": {
+ "expected": "عز الدين",
+ "got": "الدين"
+ },
+ "given_names": {
+ "expected": "جميل",
+ "got": "جميل عز"
+ },
+ "text": "جميل عز الدين"
+ },
+ "Q127605824/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "卫",
+ "got": "卫惠林"
+ },
+ "given_names": {
+ "expected": "惠林",
+ "got": ""
+ },
+ "text": "卫惠林"
+ },
+ "Q1318216/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "杨",
+ "got": "杨旭"
+ },
+ "given_names": {
+ "expected": "旭",
+ "got": ""
+ },
+ "text": "杨旭"
+ },
+ "Q1335601/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "宋",
+ "got": "宋楠"
+ },
+ "given_names": {
+ "expected": "楠",
+ "got": ""
+ },
+ "text": "宋楠"
+ },
+ "Q134298671/ar-sy/givenFirst": {
+ "family": {
+ "expected": "عبد العزيز",
+ "got": "العزيز"
+ },
+ "given_names": {
+ "expected": "سمر",
+ "got": "سمر عبد"
+ },
+ "text": "سمر عبد العزيز"
+ },
+ "Q1365182/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "孟",
+ "got": "孟建柱"
+ },
+ "given_names": {
+ "expected": "建柱",
+ "got": ""
+ },
+ "text": "孟建柱"
+ },
+ "Q138590768/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "駒井",
+ "got": "駒井玲子"
+ },
+ "given_names": {
+ "expected": "玲子",
+ "got": ""
+ },
+ "text": "駒井玲子"
+ },
+ "Q1447095/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "黎",
+ "got": "黎智英"
+ },
+ "given_names": {
+ "expected": "智英",
+ "got": ""
+ },
+ "text": "黎智英"
+ },
+ "Q15916581/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "韩",
+ "got": "韩光"
+ },
+ "given_names": {
+ "expected": "光",
+ "got": ""
+ },
+ "text": "韩光"
+ },
+ "Q15950247/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "邵",
+ "got": "邵毓麟"
+ },
+ "given_names": {
+ "expected": "毓麟",
+ "got": ""
+ },
+ "text": "邵毓麟"
+ },
+ "Q15950777/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "王",
+ "got": "王雪莹"
+ },
+ "given_names": {
+ "expected": "雪莹",
+ "got": ""
+ },
+ "text": "王雪莹"
+ },
+ "Q16097636/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "伊豆田",
+ "got": "伊豆田莉奈"
+ },
+ "given_names": {
+ "expected": "莉奈",
+ "got": ""
+ },
+ "text": "伊豆田莉奈"
+ },
+ "Q16230492/ar-eg/givenFirst": {
+ "family": {
+ "expected": "شكر الله",
+ "got": "الله"
+ },
+ "given_names": {
+ "expected": "هالة",
+ "got": "هالة شكر"
+ },
+ "text": "هالة شكر الله"
+ },
+ "Q16262307/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "柯",
+ "got": "柯洁"
+ },
+ "given_names": {
+ "expected": "洁",
+ "got": ""
+ },
+ "text": "柯洁"
+ },
+ "Q16539540/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "邓",
+ "got": "邓志伟"
+ },
+ "given_names": {
+ "expected": "志伟",
+ "got": ""
+ },
+ "text": "邓志伟"
+ },
+ "Q17020840/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "刘",
+ "got": "刘维"
+ },
+ "given_names": {
+ "expected": "维",
+ "got": ""
+ },
+ "text": "刘维"
+ },
+ "Q18653800/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李影"
+ },
+ "given_names": {
+ "expected": "影",
+ "got": ""
+ },
+ "text": "李影"
+ },
+ "Q191916/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "周",
+ "got": "周美玲"
+ },
+ "given_names": {
+ "expected": "美玲",
+ "got": ""
+ },
+ "text": "周美玲"
+ },
+ "Q19825302/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "茅",
+ "got": "茅祖權"
+ },
+ "given_names": {
+ "expected": "祖權",
+ "got": ""
+ },
+ "text": "茅祖權"
+ },
+ "Q20063761/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "沈",
+ "got": "沈鵬"
+ },
+ "given_names": {
+ "expected": "鵬",
+ "got": ""
+ },
+ "text": "沈鵬"
+ },
+ "Q2017050/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "岡",
+ "got": "岡正雄"
+ },
+ "given_names": {
+ "expected": "正雄",
+ "got": ""
+ },
+ "text": "岡正雄"
+ },
+ "Q202597/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "陈",
+ "got": "陈凯歌"
+ },
+ "given_names": {
+ "expected": "凯歌",
+ "got": ""
+ },
+ "text": "陈凯歌"
+ },
+ "Q2057423/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "吉川",
+ "got": "吉川亨"
+ },
+ "given_names": {
+ "expected": "亨",
+ "got": ""
+ },
+ "text": "吉川亨"
+ },
+ "Q21438706/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "桜井",
+ "got": "桜井昌司"
+ },
+ "given_names": {
+ "expected": "昌司",
+ "got": ""
+ },
+ "text": "桜井昌司"
+ },
+ "Q2275823/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "罗",
+ "got": "罗隆基"
+ },
+ "given_names": {
+ "expected": "隆基",
+ "got": ""
+ },
+ "text": "罗隆基"
+ },
+ "Q233902/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "朴",
+ "got": "朴璐美"
+ },
+ "given_names": {
+ "expected": "璐美",
+ "got": ""
+ },
+ "text": "朴璐美"
+ },
+ "Q236282/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "杨",
+ "got": "杨扬"
+ },
+ "given_names": {
+ "expected": "扬",
+ "got": ""
+ },
+ "text": "杨扬"
+ },
+ "Q2404303/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "藤田",
+ "got": "藤田信雄"
+ },
+ "given_names": {
+ "expected": "信雄",
+ "got": ""
+ },
+ "text": "藤田信雄"
+ },
+ "Q2444179/bg-bg/givenFirst": {
+ "family": {
+ "expected": "Цветков Дерменджиев",
+ "got": "Дерменджиев"
+ },
+ "given_names": {
+ "expected": "Динко",
+ "got": "Динко Цветков"
+ },
+ "text": "Динко Цветков Дерменджиев"
+ },
+ "Q253708/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "陈",
+ "got": "陈静"
+ },
+ "given_names": {
+ "expected": "静",
+ "got": ""
+ },
+ "text": "陈静"
+ },
+ "Q263322/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "趙",
+ "got": "趙小蘭"
+ },
+ "given_names": {
+ "expected": "小蘭",
+ "got": ""
+ },
+ "text": "趙小蘭"
+ },
+ "Q26776575/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "佐々木",
+ "got": "佐々木謙一郎"
+ },
+ "given_names": {
+ "expected": "謙一郎",
+ "got": ""
+ },
+ "text": "佐々木謙一郎"
+ },
+ "Q2789989/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "汪",
+ "got": "汪顺"
+ },
+ "given_names": {
+ "expected": "顺",
+ "got": ""
+ },
+ "text": "汪顺"
+ },
+ "Q27914098/ar-sy/givenFirst": {
+ "family": {
+ "expected": "عبد الواحد",
+ "got": "الواحد"
+ },
+ "given_names": {
+ "expected": "نورس",
+ "got": "نورس عبد"
+ },
+ "text": "نورس عبد الواحد"
+ },
+ "Q28068683/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "湯浅",
+ "got": "湯浅浩"
+ },
+ "given_names": {
+ "expected": "浩",
+ "got": ""
+ },
+ "text": "湯浅浩"
+ },
+ "Q28355175/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "魏",
+ "got": "魏曦"
+ },
+ "given_names": {
+ "expected": "曦",
+ "got": ""
+ },
+ "text": "魏曦"
+ },
+ "Q28417390/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "陳",
+ "got": "陳明忠"
+ },
+ "given_names": {
+ "expected": "明忠",
+ "got": ""
+ },
+ "text": "陳明忠"
+ },
+ "Q313598/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "蔣",
+ "got": "蔣經國"
+ },
+ "given_names": {
+ "expected": "經國",
+ "got": ""
+ },
+ "text": "蔣經國"
+ },
+ "Q3244756/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "高田",
+ "got": "高田栄二"
+ },
+ "given_names": {
+ "expected": "栄二",
+ "got": ""
+ },
+ "text": "高田栄二"
+ },
+ "Q3245427/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "多田",
+ "got": "多田大介"
+ },
+ "given_names": {
+ "expected": "大介",
+ "got": ""
+ },
+ "text": "多田大介"
+ },
+ "Q3603413/ar-sy/givenFirst": {
+ "family": {
+ "expected": "عبد الحميد",
+ "got": "الحميد"
+ },
+ "given_names": {
+ "expected": "عبد اللطيف",
+ "got": "عبد اللطيف عبد"
+ },
+ "text": "عبد اللطيف عبد الحميد"
+ },
+ "Q360402/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "謝",
+ "got": "謝暉"
+ },
+ "given_names": {
+ "expected": "暉",
+ "got": ""
+ },
+ "text": "謝暉"
+ },
+ "Q37878853/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "柴山",
+ "got": "柴山景綱"
+ },
+ "given_names": {
+ "expected": "景綱",
+ "got": ""
+ },
+ "text": "柴山景綱"
+ },
+ "Q39040747/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "华",
+ "got": "华楠"
+ },
+ "given_names": {
+ "expected": "楠",
+ "got": ""
+ },
+ "text": "华楠"
+ },
+ "Q3991527/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "陳",
+ "got": "陳婷"
+ },
+ "given_names": {
+ "expected": "婷",
+ "got": ""
+ },
+ "text": "陳婷"
+ },
+ "Q422959/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "桃田",
+ "got": "桃田賢斗"
+ },
+ "given_names": {
+ "expected": "賢斗",
+ "got": ""
+ },
+ "text": "桃田賢斗"
+ },
+ "Q445244/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "郭",
+ "got": "郭丹"
+ },
+ "given_names": {
+ "expected": "丹",
+ "got": ""
+ },
+ "text": "郭丹"
+ },
+ "Q460899/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "刘",
+ "got": "刘相蓉"
+ },
+ "given_names": {
+ "expected": "相蓉",
+ "got": ""
+ },
+ "text": "刘相蓉"
+ },
+ "Q463835/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "韩",
+ "got": "韩红"
+ },
+ "given_names": {
+ "expected": "红",
+ "got": ""
+ },
+ "text": "韩红"
+ },
+ "Q470059/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "刘",
+ "got": "刘旺"
+ },
+ "given_names": {
+ "expected": "旺",
+ "got": ""
+ },
+ "text": "刘旺"
+ },
+ "Q4701131/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "藤井",
+ "got": "藤井旭"
+ },
+ "given_names": {
+ "expected": "旭",
+ "got": ""
+ },
+ "text": "藤井旭"
+ },
+ "Q47462831/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "崔",
+ "got": "崔晓桐"
+ },
+ "given_names": {
+ "expected": "晓桐",
+ "got": ""
+ },
+ "text": "崔晓桐"
+ },
+ "Q4801752/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "刘",
+ "got": "刘婉婷"
+ },
+ "given_names": {
+ "expected": "婉婷",
+ "got": ""
+ },
+ "text": "刘婉婷"
+ },
+ "Q514117/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "孙",
+ "got": "孙悦"
+ },
+ "given_names": {
+ "expected": "悦",
+ "got": ""
+ },
+ "text": "孙悦"
+ },
+ "Q551904/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "蘇",
+ "got": "蘇貞昌"
+ },
+ "given_names": {
+ "expected": "貞昌",
+ "got": ""
+ },
+ "text": "蘇貞昌"
+ },
+ "Q5650855/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "张",
+ "got": "张翰"
+ },
+ "given_names": {
+ "expected": "翰",
+ "got": ""
+ },
+ "text": "张翰"
+ },
+ "Q57273226/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李诗沣"
+ },
+ "given_names": {
+ "expected": "诗沣",
+ "got": ""
+ },
+ "text": "李诗沣"
+ },
+ "Q58590/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "姚",
+ "got": "姚明"
+ },
+ "given_names": {
+ "expected": "明",
+ "got": ""
+ },
+ "text": "姚明"
+ },
+ "Q589739/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "夏",
+ "got": "夏萍"
+ },
+ "given_names": {
+ "expected": "萍",
+ "got": ""
+ },
+ "text": "夏萍"
+ },
+ "Q59828188/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "韩",
+ "got": "韩旭"
+ },
+ "given_names": {
+ "expected": "旭",
+ "got": ""
+ },
+ "text": "韩旭"
+ },
+ "Q6145892/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "葉",
+ "got": "葉克強"
+ },
+ "given_names": {
+ "expected": "克強",
+ "got": ""
+ },
+ "text": "葉克強"
+ },
+ "Q6147652/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "東郷",
+ "got": "東郷文彦"
+ },
+ "given_names": {
+ "expected": "文彦",
+ "got": ""
+ },
+ "text": "東郷文彦"
+ },
+ "Q6538654/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李博"
+ },
+ "given_names": {
+ "expected": "博",
+ "got": ""
+ },
+ "text": "李博"
+ },
+ "Q6539157/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李翔"
+ },
+ "given_names": {
+ "expected": "翔",
+ "got": ""
+ },
+ "text": "李翔"
+ },
+ "Q65548699/fa-ir/givenFirst": {
+ "family": {
+ "expected": "ییلاقی اشرفی",
+ "got": "اشرفی"
+ },
+ "given_names": {
+ "expected": "محمدعلی",
+ "got": "محمدعلی ییلاقی"
+ },
+ "text": "محمدعلی ییلاقی اشرفی"
+ },
+ "Q6739942/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "北野",
+ "got": "北野誠"
+ },
+ "given_names": {
+ "expected": "誠",
+ "got": ""
+ },
+ "text": "北野誠"
+ },
+ "Q702557/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "張",
+ "got": "張韶涵"
+ },
+ "given_names": {
+ "expected": "韶涵",
+ "got": ""
+ },
+ "text": "張韶涵"
+ },
+ "Q703861/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "王",
+ "got": "王镇"
+ },
+ "given_names": {
+ "expected": "镇",
+ "got": ""
+ },
+ "text": "王镇"
+ },
+ "Q70544716/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "引地",
+ "got": "引地良一"
+ },
+ "given_names": {
+ "expected": "良一",
+ "got": ""
+ },
+ "text": "引地良一"
+ },
+ "Q716055/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "郭",
+ "got": "郭靜"
+ },
+ "given_names": {
+ "expected": "靜",
+ "got": ""
+ },
+ "text": "郭靜"
+ },
+ "Q7396492/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "亀井",
+ "got": "亀井三郎"
+ },
+ "given_names": {
+ "expected": "三郎",
+ "got": ""
+ },
+ "text": "亀井三郎"
+ },
+ "Q75078779/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "陳",
+ "got": "陳俊傑"
+ },
+ "given_names": {
+ "expected": "俊傑",
+ "got": ""
+ },
+ "text": "陳俊傑"
+ },
+ "Q7927961/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "文",
+ "got": "文强"
+ },
+ "given_names": {
+ "expected": "强",
+ "got": ""
+ },
+ "text": "文强"
+ },
+ "Q7976520/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "白",
+ "got": "白文正"
+ },
+ "given_names": {
+ "expected": "文正",
+ "got": ""
+ },
+ "text": "白文正"
+ },
+ "Q8070736/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "郑",
+ "got": "郑爽"
+ },
+ "given_names": {
+ "expected": "爽",
+ "got": ""
+ },
+ "text": "郑爽"
+ },
+ "Q8071157/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "朱",
+ "got": "朱旭"
+ },
+ "given_names": {
+ "expected": "旭",
+ "got": ""
+ },
+ "text": "朱旭"
+ },
+ "Q8275740/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "彭",
+ "got": "彭孟緝"
+ },
+ "given_names": {
+ "expected": "孟緝",
+ "got": ""
+ },
+ "text": "彭孟緝"
+ },
+ "Q8318748/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "邓",
+ "got": "邓逸凡"
+ },
+ "given_names": {
+ "expected": "逸凡",
+ "got": ""
+ },
+ "text": "邓逸凡"
+ },
+ "Q8321539/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "汪",
+ "got": "汪洋"
+ },
+ "given_names": {
+ "expected": "洋",
+ "got": ""
+ },
+ "text": "汪洋"
+ },
+ "Q8325220/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "張",
+ "got": "張瑞"
+ },
+ "given_names": {
+ "expected": "瑞",
+ "got": ""
+ },
+ "text": "張瑞"
+ },
+ "Q8966024/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "馮",
+ "got": "馮定國"
+ },
+ "given_names": {
+ "expected": "定國",
+ "got": ""
+ },
+ "text": "馮定國"
+ },
+ "Q8969884/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "何",
+ "got": "何炅"
+ },
+ "given_names": {
+ "expected": "炅",
+ "got": ""
+ },
+ "text": "何炅"
+ },
+ "Q8995497/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李正中"
+ },
+ "given_names": {
+ "expected": "正中",
+ "got": ""
+ },
+ "text": "李正中"
+ },
+ "Q9066967/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "王",
+ "got": "王鑫"
+ },
+ "given_names": {
+ "expected": "鑫",
+ "got": ""
+ },
+ "text": "王鑫"
+ },
+ "Q9183343/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "林",
+ "got": "林國華"
+ },
+ "given_names": {
+ "expected": "國華",
+ "got": ""
+ },
+ "text": "林國華"
+ },
+ "Q930462/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "蔡",
+ "got": "蔡国强"
+ },
+ "given_names": {
+ "expected": "国强",
+ "got": ""
+ },
+ "text": "蔡国强"
+ },
+ "Q9329762/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "胡",
+ "got": "胡英"
+ },
+ "given_names": {
+ "expected": "英",
+ "got": ""
+ },
+ "text": "胡英"
+ },
+ "Q95163244/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "草刈",
+ "got": "草刈潤"
+ },
+ "given_names": {
+ "expected": "潤",
+ "got": ""
+ },
+ "text": "草刈潤"
+ },
+ "Q954851/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "石",
+ "got": "石智勇"
+ },
+ "given_names": {
+ "expected": "智勇",
+ "got": ""
+ },
+ "text": "石智勇"
+ },
+ "Q970696/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "前田",
+ "got": "前田秀樹"
+ },
+ "given_names": {
+ "expected": "秀樹",
+ "got": ""
+ },
+ "text": "前田秀樹"
+ },
+ "Q97202579/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "谢",
+ "got": "谢文清"
+ },
+ "given_names": {
+ "expected": "文清",
+ "got": ""
+ },
+ "text": "谢文清"
+ },
+ "Q97300636/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "唐",
+ "got": "唐由之"
+ },
+ "given_names": {
+ "expected": "由之",
+ "got": ""
+ },
+ "text": "唐由之"
+ },
+ "Q97588844/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "李",
+ "got": "李俊賢"
+ },
+ "given_names": {
+ "expected": "俊賢",
+ "got": ""
+ },
+ "text": "李俊賢"
+ },
+ "Q99630410/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "黄",
+ "got": "黄浩"
+ },
+ "given_names": {
+ "expected": "浩",
+ "got": ""
+ },
+ "text": "黄浩"
+ }
+}
diff --git a/tools/differential/wikidata_native_agreement_locales.json b/tools/differential/wikidata_native_agreement_locales.json
new file mode 100644
index 00000000..dbb05b3e
--- /dev/null
+++ b/tools/differential/wikidata_native_agreement_locales.json
@@ -0,0 +1,79 @@
+{
+ "Q103785817/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "詹",
+ "got": "詹桓"
+ },
+ "given_names": {
+ "expected": "桓",
+ "got": ""
+ },
+ "text": "詹桓"
+ },
+ "Q111081424/ja-jp/surnameFirst": {
+ "family": {
+ "expected": "安達",
+ "got": "安"
+ },
+ "given_names": {
+ "expected": "禎",
+ "got": "達禎"
+ },
+ "text": "安達禎"
+ },
+ "Q127605824/zh-tw/surnameFirst": {
+ "family": {
+ "expected": "卫",
+ "got": "卫惠林"
+ },
+ "given_names": {
+ "expected": "惠林",
+ "got": ""
+ },
+ "text": "卫惠林"
+ },
+ "Q16262307/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "柯",
+ "got": "柯洁"
+ },
+ "given_names": {
+ "expected": "洁",
+ "got": ""
+ },
+ "text": "柯洁"
+ },
+ "Q19825302/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "茅",
+ "got": "茅祖權"
+ },
+ "given_names": {
+ "expected": "祖權",
+ "got": ""
+ },
+ "text": "茅祖權"
+ },
+ "Q39040747/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "华",
+ "got": "华楠"
+ },
+ "given_names": {
+ "expected": "楠",
+ "got": ""
+ },
+ "text": "华楠"
+ },
+ "Q7927961/zh-cn/surnameFirst": {
+ "family": {
+ "expected": "文",
+ "got": "文强"
+ },
+ "given_names": {
+ "expected": "强",
+ "got": ""
+ },
+ "text": "文强"
+ }
+}
diff --git a/tools/differential/wikidata_native_fields.jsonl b/tools/differential/wikidata_native_fields.jsonl
new file mode 100644
index 00000000..d6b6b74d
--- /dev/null
+++ b/tools/differential/wikidata_native_fields.jsonl
@@ -0,0 +1,910 @@
+{"composed": false, "fields": {"given": "陶", "surname": "葉"}, "file": "Q100152143", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "葉陶"}
+{"composed": false, "fields": {"given": "ალექსი", "surname": "მახარაშვილი"}, "file": "Q100163409", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ალექსი მახარაშვილი"}
+{"composed": false, "fields": {"given": "Γιάννης", "surname": "Θεοδωράκης"}, "file": "Q100804515", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γιάννης Θεοδωράκης"}
+{"composed": false, "fields": {"given": "عبد الإله", "surname": "نبهان"}, "file": "Q100995846", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الإله نبهان"}
+{"composed": false, "fields": {"given": "Ալբերտ", "surname": "Հովհաննիսյան"}, "file": "Q101236956", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ալբերտ Հովհաննիսյան"}
+{"composed": false, "fields": {"given": "გიორგი", "surname": "ჭოღოშვილი"}, "file": "Q102123708", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიორგი ჭოღოშვილი"}
+{"composed": false, "fields": {"given": "俊一", "surname": "小柳"}, "file": "Q102246922", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "小柳俊一"}
+{"composed": false, "fields": {"given": "سعيد", "surname": "حماد"}, "file": "Q102280881", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سعيد حماد"}
+{"composed": false, "fields": {"given": "ლევან", "surname": "მაღნარაძე"}, "file": "Q102407470", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლევან მაღნარაძე"}
+{"composed": false, "fields": {"given": "هشام", "surname": "عباس"}, "file": "Q1036918", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "هشام عباس"}
+{"composed": false, "fields": {"given": "रवि", "surname": "शंकर"}, "file": "Q103774", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "रवि शंकर"}
+{"composed": false, "fields": {"given": "桓", "surname": "詹"}, "file": "Q103785817", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "詹桓"}
+{"composed": false, "fields": {"given": "金生", "surname": "蔡"}, "file": "Q103791050", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "蔡金生"}
+{"composed": false, "fields": {"given": "宗文", "surname": "李"}, "file": "Q103791103", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "李宗文"}
+{"composed": false, "fields": {"given": "Олег", "surname": "Литвиненко"}, "file": "Q1045997", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Олег Литвиненко"}
+{"composed": false, "fields": {"given": "乃", "surname": "黄"}, "file": "Q104782874", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "黄乃"}
+{"composed": false, "fields": {"given": "محمد سليم", "surname": "الحلواني"}, "file": "Q104846821", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمد سليم الحلواني"}
+{"composed": false, "fields": {"given": "موفق", "surname": "الخاني"}, "file": "Q105080162", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "موفق الخاني"}
+{"composed": false, "fields": {"given": "سليمان", "surname": "الجوخدار"}, "file": "Q105238222", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "سليمان الجوخدار"}
+{"composed": false, "fields": {"given": "輝一", "surname": "上山"}, "file": "Q105260064", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "上山輝一"}
+{"composed": false, "fields": {"given": "Іван", "patronymic": "Сергійович", "surname": "Федоров"}, "file": "Q105302343", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Федоров Іван Сергійович"}
+{"composed": false, "fields": {"given": "إبراهيم", "surname": "الغلاييني"}, "file": "Q105371002", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "إبراهيم الغلاييني"}
+{"composed": false, "fields": {"given": "عبد الوكيل", "surname": "الهاشمي"}, "file": "Q105450688", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد الوكيل الهاشمي"}
+{"composed": false, "fields": {"given": "Ստեփան", "surname": "Նալբանդյան"}, "file": "Q105601587", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ստեփան Նալբանդյան"}
+{"composed": false, "fields": {"given": "Δημήτρης", "surname": "Μιχαηλίδης"}, "file": "Q105697966", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Δημήτρης Μιχαηλίδης"}
+{"composed": false, "fields": {"given": "रणबीर", "surname": "कपूर"}, "file": "Q1063412", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "रणबीर कपूर"}
+{"composed": false, "fields": {"given": "ורה", "surname": "אלכסנדר"}, "file": "Q106471667", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ורה אלכסנדר"}
+{"composed": false, "fields": {"given": "عبد الباسط", "surname": "بدر"}, "file": "Q106534219", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الباسط بدر"}
+{"composed": false, "fields": {"given": "عادل", "surname": "التويجري"}, "file": "Q106768850", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عادل التويجري"}
+{"composed": false, "fields": {"given": "בלה", "surname": "קאופמן"}, "file": "Q106829524", "label": "he-il", "order": "givenFirst", "shape": null, "text": "בלה קאופמן"}
+{"composed": false, "fields": {"given": "재규", "surname": "전"}, "file": "Q106853957", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "전재규"}
+{"composed": false, "fields": {"given": "Κωνσταντίνος", "surname": "Γιαννίτσης"}, "file": "Q106929737", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Κωνσταντίνος Γιαννίτσης"}
+{"composed": false, "fields": {"given": "حازم", "surname": "هاشم"}, "file": "Q107171437", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "حازم هاشم"}
+{"composed": false, "fields": {"given": "ილია", "surname": "სულამანიძე"}, "file": "Q107191545", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ილია სულამანიძე"}
+{"composed": false, "fields": {"given": "نبيهة", "surname": "حداد"}, "file": "Q107323523", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "نبيهة حداد"}
+{"composed": false, "fields": {"given": "عبد الستار", "surname": "إبراهيم"}, "file": "Q107370114", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "عبد الستار إبراهيم"}
+{"composed": false, "fields": {"given": "سحر", "surname": "كامل"}, "file": "Q107424104", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سحر كامل"}
+{"composed": false, "fields": {"given": "יהודה", "surname": "כהן"}, "file": "Q108101296", "label": "he-il", "order": "givenFirst", "shape": null, "text": "יהודה כהן"}
+{"composed": false, "fields": {"given": "مُوفَّق", "surname": "دعبول"}, "file": "Q108593267", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "مُوفَّق دعبول"}
+{"composed": false, "fields": {"given": "Пеньо", "surname": "Велков"}, "file": "Q108689436", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Пеньо Велков"}
+{"composed": false, "fields": {"given": "سیروس", "surname": "گرجستانی"}, "file": "Q10869896", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "سیروس گرجستانی"}
+{"composed": false, "fields": {"given": "卯一", "surname": "森"}, "file": "Q108855843", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "森卯一"}
+{"composed": false, "fields": {"given": "放", "surname": "刘"}, "file": "Q10897593", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "刘放"}
+{"composed": false, "fields": {"given": "桂英", "surname": "蔡"}, "file": "Q109343195", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "蔡桂英"}
+{"composed": false, "fields": {"given": "محمد", "surname": "عطا"}, "file": "Q110067", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "محمد عطا"}
+{"composed": false, "fields": {"given": "Балдырған", "surname": "Қожамқұлова"}, "file": "Q110114060", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Балдырған Қожамқұлова"}
+{"composed": false, "fields": {"given": "صلاح", "surname": "المُولَّد"}, "file": "Q110301591", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "صلاح المُولَّد"}
+{"composed": false, "fields": {"given": "世英", "surname": "朱"}, "file": "Q110406653", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "朱世英"}
+{"composed": false, "fields": {"given": "豪", "surname": "方"}, "file": "Q11085014", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "方豪"}
+{"composed": false, "fields": {"given": "禎", "surname": "安達"}, "file": "Q111081424", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "安達禎"}
+{"composed": false, "fields": {"given": "亀蔵", "surname": "鈴木"}, "file": "Q111117644", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "鈴木亀蔵"}
+{"composed": false, "fields": {"given": "عبد الرحيم", "surname": "منصور"}, "file": "Q11162165", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "عبد الرحيم منصور"}
+{"composed": false, "fields": {"given": "Јелена", "surname": "Беговић"}, "file": "Q111654011", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Јелена Беговић"}
+{"composed": false, "fields": {"given": "აბელ", "surname": "მამარდაშვილი"}, "file": "Q111697223", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "აბელ მამარდაშვილი"}
+{"composed": false, "fields": {"given": "خضر", "surname": "الأحمد"}, "file": "Q112334101", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "خضر الأحمد"}
+{"composed": false, "fields": {"given": "瑞麟", "surname": "何"}, "file": "Q112577331", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "何瑞麟"}
+{"composed": false, "fields": {"given": "병기", "surname": "이"}, "file": "Q11265902", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이병기"}
+{"composed": false, "fields": {"given": "세균", "surname": "정"}, "file": "Q11270093", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "정세균"}
+{"composed": false, "fields": {"given": "מנחם", "surname": "נאור"}, "file": "Q113004767", "label": "he-il", "order": "givenFirst", "shape": null, "text": "מנחם נאור"}
+{"composed": false, "fields": {"given": "Любомир", "surname": "Кръстанов"}, "file": "Q1130902", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Любомир Кръстанов"}
+{"composed": false, "fields": {"given": "淳", "surname": "三橋"}, "file": "Q11356021", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "三橋淳"}
+{"composed": false, "fields": {"given": "淳", "surname": "平賀"}, "file": "Q113567973", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "平賀淳"}
+{"composed": false, "fields": {"given": "力", "surname": "中内"}, "file": "Q11363041", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "中内力"}
+{"composed": false, "fields": {"given": "瞻", "surname": "李"}, "file": "Q113644075", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "李瞻"}
+{"composed": false, "fields": {"given": "徹", "surname": "中島"}, "file": "Q11364497", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "中島 徹"}
+{"composed": false, "fields": {"given": "龍一", "surname": "中川"}, "file": "Q11364982", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "中川龍一"}
+{"composed": false, "fields": {"given": "誠", "surname": "内田"}, "file": "Q11394360", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "内田誠"}
+{"composed": false, "fields": {"given": "博文", "surname": "内藤"}, "file": "Q11394483", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "内藤博文"}
+{"composed": false, "fields": {"given": "弘", "surname": "吉尾"}, "file": "Q11412770", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "吉尾弘"}
+{"composed": false, "fields": {"given": "Јован", "surname": "Мијатовић"}, "file": "Q114162918", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Јован Мијатовић"}
+{"composed": false, "fields": {"given": "なつみ", "surname": "安倍"}, "file": "Q1142423", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "安倍なつみ"}
+{"composed": false, "fields": {"given": "四郎", "surname": "城戸"}, "file": "Q11426161", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "城戸 四郎"}
+{"composed": false, "fields": {"given": "克明", "surname": "堀内"}, "file": "Q11427266", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "堀内 克明"}
+{"composed": false, "fields": {"given": "衛", "surname": "大沢"}, "file": "Q11436998", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "大沢衛"}
+{"composed": false, "fields": {"given": "三郎", "surname": "太田"}, "file": "Q11444084", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "太田三郎"}
+{"composed": false, "fields": {"given": "宏", "surname": "小林"}, "file": "Q11461529", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "小林宏"}
+{"composed": false, "fields": {"given": "由佳", "surname": "小林"}, "file": "Q11461743", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "小林由佳"}
+{"composed": false, "fields": {"given": "章", "surname": "揖斐"}, "file": "Q11498424", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "揖斐章"}
+{"composed": false, "fields": {"given": "Александар", "surname": "Станковић"}, "file": "Q115110251", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Александар Станковић"}
+{"composed": false, "fields": {"given": "형진", "surname": "박"}, "file": "Q11521580", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박형진"}
+{"composed": false, "fields": {"given": "喜一", "surname": "村田"}, "file": "Q11523418", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "村田喜一"}
+{"composed": false, "fields": {"given": "وديع", "surname": "بشور"}, "file": "Q115300746", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "وديع بشور"}
+{"composed": false, "fields": {"given": "力", "surname": "林"}, "file": "Q11532869", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "林 力"}
+{"composed": false, "fields": {"given": "亨", "surname": "河合"}, "file": "Q11553704", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "河合亨"}
+{"composed": false, "fields": {"given": "虎雄", "surname": "牧野"}, "file": "Q11570608", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "牧野虎雄"}
+{"composed": false, "fields": {"given": "Соња", "surname": "Петровић"}, "file": "Q1158152", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Соња Петровић"}
+{"composed": false, "fields": {"given": "彦三郎", "surname": "秦"}, "file": "Q11596044", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "秦彦三郎"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Σκυλακάκης"}, "file": "Q116029945", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Σκυλακάκης"}
+{"composed": false, "fields": {"given": "信夫", "surname": "米川"}, "file": "Q11604183", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "米川信夫"}
+{"composed": false, "fields": {"given": "建文", "surname": "罗"}, "file": "Q11608580", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "罗建文"}
+{"composed": false, "fields": {"given": "茂", "surname": "荒木"}, "file": "Q11618744", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "荒木茂"}
+{"composed": false, "fields": {"given": "דניאל", "surname": "פאר"}, "file": "Q1162057", "label": "he-il", "order": "givenFirst", "shape": null, "text": "דניאל פאר"}
+{"composed": false, "fields": {"given": "博", "surname": "諫山"}, "file": "Q11631995", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "諫山博"}
+{"composed": false, "fields": {"given": "平三郎", "surname": "近藤"}, "file": "Q11638789", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "近藤平三郎"}
+{"composed": false, "fields": {"given": "晴", "surname": "遠藤"}, "file": "Q11642264", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "遠藤晴"}
+{"composed": false, "fields": {"given": "재구", "surname": "김"}, "file": "Q11646612", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김재구"}
+{"composed": false, "fields": {"given": "弥彦", "surname": "鎌田"}, "file": "Q11651055", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "鎌田 弥彦"}
+{"composed": false, "fields": {"given": "章", "surname": "高橋"}, "file": "Q11671502", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "高橋章"}
+{"composed": false, "fields": {"given": "علي", "surname": "القرني"}, "file": "Q116765522", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "علي القرني"}
+{"composed": false, "fields": {"given": "Игор", "surname": "Матић"}, "file": "Q1168604", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Игор Матић"}
+{"composed": false, "fields": {"given": "Էրիկ", "surname": "Սահակյան"}, "file": "Q117133476", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Էրիկ Սահակյան"}
+{"composed": false, "fields": {"given": "Олександр", "surname": "Положинський"}, "file": "Q11801469", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Олександр Положинський"}
+{"composed": false, "fields": {"given": "健一", "surname": "渋谷"}, "file": "Q118125689", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "渋谷健一"}
+{"composed": false, "fields": {"given": "نعيم", "surname": "عيسى"}, "file": "Q118190274", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "نعيم عيسى"}
+{"composed": false, "fields": {"given": "Василиса", "patronymic": "Іллівна", "surname": "Степаненко"}, "file": "Q118224301", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Степаненко Василиса Іллівна"}
+{"composed": false, "fields": {"given": "Дејан", "surname": "Стојановић"}, "file": "Q1183503", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Дејан Стојановић"}
+{"composed": false, "fields": {"given": "გიორგი", "surname": "სხირტლაძე"}, "file": "Q1194871", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიორგი სხირტლაძე"}
+{"composed": false, "fields": {"given": "محمد نبيه", "surname": "المسيري"}, "file": "Q119534307", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "محمد نبيه المسيري"}
+{"composed": false, "fields": {"given": "Πέτρος", "surname": "Παυλίδης"}, "file": "Q11995504", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Πέτρος Παυλίδης"}
+{"composed": false, "fields": {"given": "Յուրի", "surname": "Հայրապետյան"}, "file": "Q12077223", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Յուրի Հայրապետյան"}
+{"composed": false, "fields": {"given": "Юлія", "surname": "Волчкова"}, "file": "Q12090553", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Юлія Волчкова"}
+{"composed": false, "fields": {"given": "عائشة", "surname": "ذو الغنى"}, "file": "Q121061159", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عائشة ذو الغنى"}
+{"composed": false, "fields": {"given": "Микола", "surname": "Козленко"}, "file": "Q12111417", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Микола Козленко"}
+{"composed": false, "fields": {"given": "Володимир", "surname": "Лукань"}, "file": "Q12118705", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Лукань Володимир"}
+{"composed": false, "fields": {"given": "Борис", "patronymic": "Олексійович", "surname": "Мовчан"}, "file": "Q12123956", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Мовчан Борис Олексійович"}
+{"composed": false, "fields": {"given": "Ալեքսանդր", "surname": "Երիցյան"}, "file": "Q121288238", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ալեքսանդր Երիցյան"}
+{"composed": false, "fields": {"given": "Михайло", "patronymic": "Степанович", "surname": "Полунін"}, "file": "Q12141961", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Полунін Михайло Степанович"}
+{"composed": false, "fields": {"given": "Олександр", "patronymic": "Васильович", "surname": "Царук"}, "file": "Q12168221", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Царук Олександр Васильович"}
+{"composed": false, "fields": {"given": "أبو بكر", "surname": "سالم"}, "file": "Q12177902", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "أبو بكر سالم"}
+{"composed": false, "fields": {"given": "أحلام", "surname": "الجريتلي"}, "file": "Q12178431", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أحلام الجريتلي"}
+{"composed": false, "fields": {"given": "أحمد", "surname": "قنديل"}, "file": "Q12179060", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "أحمد قنديل"}
+{"composed": false, "fields": {"given": "أمين", "surname": "دابو"}, "file": "Q12180687", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "أمين دابو"}
+{"composed": false, "fields": {"given": "أنطوانيت", "surname": "نجيب"}, "file": "Q12180850", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أنطوانيت نجيب"}
+{"composed": false, "fields": {"given": "أيمن", "surname": "الدُّقر"}, "file": "Q12181415", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أيمن الدُّقر"}
+{"composed": false, "fields": {"given": "إبراهيم", "surname": "البغدادي"}, "file": "Q12181553", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "إبراهيم البغدادي"}
+{"composed": false, "fields": {"given": "إلياس", "surname": "الزيَّات"}, "file": "Q12194988", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "إلياس الزيَّات"}
+{"composed": false, "fields": {"given": "حسني", "surname": "سبح"}, "file": "Q12208060", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حسني سبح"}
+{"composed": false, "fields": {"given": "حسين", "surname": "خطاب"}, "file": "Q12208195", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حسين خطاب"}
+{"composed": false, "fields": {"given": "رجاء", "surname": "يوسف"}, "file": "Q12213144", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "رجاء يوسف"}
+{"composed": false, "fields": {"given": "رشاد", "surname": "رشدي"}, "file": "Q12213374", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "رشاد رشدي"}
+{"composed": false, "fields": {"given": "رمضان", "surname": "ديب"}, "file": "Q12213708", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "رمضان ديب"}
+{"composed": false, "fields": {"given": "زكي", "surname": "مبارك"}, "file": "Q12214522", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "زكي مبارك"}
+{"composed": false, "fields": {"given": "سمير", "surname": "سرور"}, "file": "Q12216881", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سمير سرور"}
+{"composed": false, "fields": {"given": "سوسن", "surname": "ربيع"}, "file": "Q12217290", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سوسن ربيع"}
+{"composed": false, "fields": {"given": "سيد", "surname": "كريم"}, "file": "Q12217558", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سيد كريم"}
+{"composed": false, "fields": {"given": "أبو بكر", "surname": "الشاطري"}, "file": "Q12219331", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "أبو بكر الشاطري"}
+{"composed": false, "fields": {"given": "صالح", "surname": "اللحيدان"}, "file": "Q12219592", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "صالح اللحيدان"}
+{"composed": false, "fields": {"given": "طارق", "surname": "عبد العزيز"}, "file": "Q12221498", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "طارق عبد العزيز"}
+{"composed": false, "fields": {"given": "طلعت", "surname": "زكريا"}, "file": "Q12221848", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "طلعت زكريا"}
+{"composed": false, "fields": {"given": "عبد الرحمن", "surname": "العجلان"}, "file": "Q12222701", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد الرحمن العجلان"}
+{"composed": false, "fields": {"given": "عبد الهادي", "surname": "الباني"}, "file": "Q12223882", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الهادي الباني"}
+{"composed": false, "fields": {"given": "عدنان", "surname": "بركات"}, "file": "Q12224508", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عدنان بركات"}
+{"composed": false, "fields": {"given": "فائق", "surname": "عرقسُوسي"}, "file": "Q12229998", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "فائق عرقسُوسي"}
+{"composed": false, "fields": {"given": "فاروق", "surname": "خورشيد"}, "file": "Q12230099", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "فاروق خورشيد"}
+{"composed": false, "fields": {"given": "لطفي", "surname": "لبيب"}, "file": "Q12237244", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "لطفي لبيب"}
+{"composed": false, "fields": {"given": "مازن", "surname": "المبارك"}, "file": "Q12238255", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "مازن المبارك"}
+{"composed": false, "fields": {"given": "محمد ضياء الدين", "surname": "الصابوني"}, "file": "Q12240653", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "محمد ضياء الدين الصابوني"}
+{"composed": false, "fields": {"given": "محمود", "surname": "شاكر"}, "file": "Q12241249", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمود شاكر"}
+{"composed": false, "fields": {"given": "نبيل", "surname": "فهمي"}, "file": "Q12247944", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "نبيل فهمي"}
+{"composed": false, "fields": {"given": "نسرين", "surname": "طافش"}, "file": "Q12248386", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "نسرين طافش"}
+{"composed": false, "fields": {"given": "هدى", "surname": "شعراوي"}, "file": "Q12249862", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "هدى شعراوي"}
+{"composed": false, "fields": {"given": "Александър", "surname": "Александров"}, "file": "Q12271398", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Александър Александров"}
+{"composed": false, "fields": {"given": "Ангел", "surname": "Андреев"}, "file": "Q12271832", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Ангел Андреев"}
+{"composed": false, "fields": {"given": "Васил", "surname": "Стоилов"}, "file": "Q12274835", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Васил Стоилов"}
+{"composed": false, "fields": {"given": "Георги", "surname": "Боков"}, "file": "Q12276311", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Георги Боков"}
+{"composed": false, "fields": {"given": "Георги", "surname": "Живков"}, "file": "Q12276443", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Георги Живков"}
+{"composed": false, "fields": {"given": "Иван", "surname": "Андонов"}, "file": "Q12280706", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Иван Андонов"}
+{"composed": false, "fields": {"given": "Константин", "surname": "Константинов"}, "file": "Q12283564", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Константин Константинов"}
+{"composed": false, "fields": {"given": "Красимир", "surname": "Спасов"}, "file": "Q12284027", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Красимир Спасов"}
+{"composed": false, "fields": {"given": "Крум", "surname": "Дерменджиев"}, "file": "Q12284129", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Крум Дерменджиев"}
+{"composed": false, "fields": {"given": "Никола", "surname": "Славков"}, "file": "Q12288560", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Никола Славков"}
+{"composed": false, "fields": {"given": "Παύλος", "surname": "Ιωάννου"}, "file": "Q12289677", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Παύλος Ιωάννου"}
+{"composed": false, "fields": {"given": "Свобода", "surname": "Бъчварова"}, "file": "Q12293389", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Свобода Бъчварова"}
+{"composed": false, "fields": {"given": "Стефан", "surname": "Огнянов"}, "file": "Q12295264", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Стефан Огнянов"}
+{"composed": false, "fields": {"given": "Христо", "surname": "Боев"}, "file": "Q12298224", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Христо Боев"}
+{"composed": false, "fields": {"given": "Христо", "surname": "Далчев"}, "file": "Q12298272", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Христо Далчев"}
+{"composed": false, "fields": {"given": "소희", "surname": "이"}, "file": "Q1234482", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이소희"}
+{"composed": false, "fields": {"given": "هدى", "surname": "عابدين"}, "file": "Q123474039", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "هدى عابدين"}
+{"composed": false, "fields": {"given": "সলিল", "surname": "সেন"}, "file": "Q123564925", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "সলিল সেন"}
+{"composed": false, "fields": {"given": "إبراهيم", "surname": "صالح"}, "file": "Q123818706", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "إبراهيم صالح"}
+{"composed": false, "fields": {"given": "שמואל", "surname": "דביר"}, "file": "Q123939041", "label": "he-il", "order": "givenFirst", "shape": null, "text": "שמואל דביר"}
+{"composed": false, "fields": {"given": "霖", "surname": "朱"}, "file": "Q123945439", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "朱霖"}
+{"composed": false, "fields": {"given": "אדם", "surname": "מזור"}, "file": "Q12403456", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אדם מזור"}
+{"composed": false, "fields": {"given": "אלישע", "surname": "אפרת"}, "file": "Q12403983", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אלישע אפרת"}
+{"composed": false, "fields": {"given": "יצחק", "surname": "יעקב"}, "file": "Q12408261", "label": "he-il", "order": "givenFirst", "shape": null, "text": "יצחק יעקב"}
+{"composed": false, "fields": {"given": "משה", "surname": "בן-שאול"}, "file": "Q12409569", "label": "he-il", "order": "givenFirst", "shape": null, "text": "משה בן-שאול"}
+{"composed": false, "fields": {"given": "Срђан", "surname": "Новаковић"}, "file": "Q124096162", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Срђан Новаковић"}
+{"composed": false, "fields": {"given": "Սուրեն", "surname": "Ծատուրյան"}, "file": "Q124101304", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սուրեն Ծատուրյան"}
+{"composed": false, "fields": {"given": "עמוס", "surname": "ברנס"}, "file": "Q12410362", "label": "he-il", "order": "givenFirst", "shape": null, "text": "עמוס ברנס"}
+{"composed": false, "fields": {"given": "שולה", "surname": "ליטן"}, "file": "Q124881923", "label": "he-il", "order": "givenFirst", "shape": null, "text": "שולה ליטן"}
+{"composed": false, "fields": {"given": "সুনীল", "surname": "কর্মকার"}, "file": "Q124936063", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "সুনীল কর্মকার"}
+{"composed": false, "fields": {"given": "啓太", "surname": "小杉"}, "file": "Q125044295", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "小杉 啓太"}
+{"composed": false, "fields": {"given": "Данка", "surname": "Илић"}, "file": "Q125351913", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Данка Илић"}
+{"composed": false, "fields": {"given": "Төле", "surname": "Кенжебаев"}, "file": "Q12567555", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Төле Кенжебаев"}
+{"composed": false, "fields": {"given": "جميل", "surname": "عز الدين"}, "file": "Q125699198", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جميل عز الدين"}
+{"composed": false, "fields": {"given": "상돈", "surname": "고"}, "file": "Q12584259", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "고 상돈"}
+{"composed": false, "fields": {"given": "중동", "surname": "권"}, "file": "Q12586148", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "권중동"}
+{"composed": false, "fields": {"given": "선영", "surname": "김"}, "file": "Q12587669", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김선영"}
+{"composed": false, "fields": {"given": "약수", "surname": "김"}, "file": "Q12587949", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김약수"}
+{"composed": false, "fields": {"given": "영환", "surname": "김"}, "file": "Q12588113", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김영환"}
+{"composed": false, "fields": {"given": "종삼", "surname": "김"}, "file": "Q12588664", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김종삼"}
+{"composed": false, "fields": {"given": "익진", "surname": "나"}, "file": "Q12589621", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "나익진"}
+{"composed": false, "fields": {"given": "다름", "surname": "남"}, "file": "Q12589788", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "남다름"}
+{"composed": false, "fields": {"given": "유상", "surname": "노"}, "file": "Q12590425", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "노유상"}
+{"composed": false, "fields": {"given": "만원", "surname": "박"}, "file": "Q12596625", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박만원"}
+{"composed": false, "fields": {"given": "응모", "surname": "방"}, "file": "Q12597567", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "방응모"}
+{"composed": false, "fields": {"given": "용훈", "surname": "신"}, "file": "Q12604481", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "신용훈"}
+{"composed": false, "fields": {"given": "춘호", "surname": "신"}, "file": "Q12604649", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "신춘호"}
+{"composed": false, "fields": {"given": "영국", "surname": "유"}, "file": "Q12609905", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "유영국"}
+{"composed": false, "fields": {"given": "인수", "surname": "육"}, "file": "Q12610163", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "육인수"}
+{"composed": false, "fields": {"given": "상익", "surname": "이"}, "file": "Q12611662", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이상익"}
+{"composed": false, "fields": {"given": "순택", "surname": "정"}, "file": "Q12615774", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "정순택"}
+{"composed": false, "fields": {"given": "경자", "surname": "천"}, "file": "Q12618820", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "천경자"}
+{"composed": false, "fields": {"given": "국현", "surname": "최"}, "file": "Q12619473", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최국현"}
+{"composed": false, "fields": {"given": "희서", "surname": "최"}, "file": "Q12619546", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최희서"}
+{"composed": false, "fields": {"given": "윤호", "surname": "황"}, "file": "Q12625879", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "황윤호"}
+{"composed": false, "fields": {"given": "우현", "surname": "장"}, "file": "Q126285829", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "장우현"}
+{"composed": false, "fields": {"given": "فاروق", "surname": "عطية"}, "file": "Q126362537", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "فاروق عطية"}
+{"composed": false, "fields": {"given": "Մամիկոն", "surname": "Աքուլյան"}, "file": "Q126548284", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Մամիկոն Աքուլյան"}
+{"composed": false, "fields": {"given": "ნელი", "surname": "მგალობლიშვილი"}, "file": "Q126720860", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნელი მგალობლიშვილი"}
+{"composed": false, "fields": {"given": "ტარიელ", "surname": "ჭიჭინაძე"}, "file": "Q126949502", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ტარიელ ჭიჭინაძე"}
+{"composed": false, "fields": {"given": "حمدي", "surname": "الحريري"}, "file": "Q127095296", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "حمدي الحريري"}
+{"composed": false, "fields": {"given": "Љубомир", "surname": "Јовановић"}, "file": "Q12747930", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Љубомир Јовановић"}
+{"composed": false, "fields": {"given": "محمد", "surname": "الزعبي"}, "file": "Q127510341", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمد الزعبي"}
+{"composed": false, "fields": {"given": "惠林", "surname": "卫"}, "file": "Q127605824", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "卫惠林"}
+{"composed": false, "fields": {"given": "فریدون", "surname": "ابراهیمی"}, "file": "Q12839522", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "فریدون ابراهیمی"}
+{"composed": false, "fields": {"given": "নাহিদ", "surname": "ইসলাম"}, "file": "Q128605495", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "নাহিদ ইসলাম"}
+{"composed": false, "fields": {"given": "ნოდარ", "surname": "ღვალაძე"}, "file": "Q12867684", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნოდარ ღვალაძე"}
+{"composed": false, "fields": {"given": "Αναστάσιος", "surname": "Σταμούλης"}, "file": "Q12873591", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αναστάσιος Σταμούλης"}
+{"composed": false, "fields": {"given": "Βούλα", "surname": "Ζουμπουλάκη"}, "file": "Q12874729", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Βούλα Ζουμπουλάκη"}
+{"composed": false, "fields": {"given": "Γεώργιος", "surname": "Αντωνόπουλος"}, "file": "Q12875030", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γεώργιος Αντωνόπουλος"}
+{"composed": false, "fields": {"given": "Γεώργιος", "surname": "Παπαδιαμαντόπουλος"}, "file": "Q12875137", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γεώργιος Παπαδιαμαντόπουλος"}
+{"composed": false, "fields": {"given": "Δημήτρης", "surname": "Καπράλος"}, "file": "Q12875911", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Δημήτρης Καπράλος"}
+{"composed": false, "fields": {"given": "Επαμεινώνδας", "surname": "Κριεζής"}, "file": "Q12877156", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Επαμεινώνδας Κριεζής"}
+{"composed": false, "fields": {"given": "Νικόλαος", "surname": "Γεωργιάδης"}, "file": "Q12881780", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νικόλαος Γεωργιάδης"}
+{"composed": false, "fields": {"given": "Στυλιανός", "surname": "Λυκούδης"}, "file": "Q12884909", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Στυλιανός Λυκούδης"}
+{"composed": false, "fields": {"given": "Χρήστος", "surname": "Αντωνόπουλος"}, "file": "Q12886126", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Χρήστος Αντωνόπουλος"}
+{"composed": false, "fields": {"given": "ნოდარ", "surname": "ჯობავა"}, "file": "Q129264137", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნოდარ ჯობავა"}
+{"composed": false, "fields": {"given": "ელგუჯა", "surname": "ღონღაძე"}, "file": "Q130118585", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ელგუჯა ღონღაძე"}
+{"composed": false, "fields": {"given": "عبد القدوس", "surname": "أبو صالح"}, "file": "Q130263795", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد القدوس أبو صالح"}
+{"composed": false, "fields": {"given": "Νικόλαος", "surname": "Φράγκος"}, "file": "Q130325486", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νικόλαος Φράγκος"}
+{"composed": false, "fields": {"given": "현만", "surname": "이"}, "file": "Q130376125", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이현만"}
+{"composed": false, "fields": {"given": "أحمد", "surname": "سالم"}, "file": "Q130483261", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "أحمد سالم"}
+{"composed": false, "fields": {"given": "Անդրանիկ", "surname": "Ղուկասյան"}, "file": "Q13050839", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Անդրանիկ Ղուկասյան"}
+{"composed": false, "fields": {"given": "명순", "surname": "강"}, "file": "Q130539951", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "강명순"}
+{"composed": false, "fields": {"given": "Մարիա", "surname": "Հակոբյան"}, "file": "Q13054009", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Մարիա Հակոբյան"}
+{"composed": false, "fields": {"given": "თამაზ", "surname": "წივწივაძე"}, "file": "Q130741831", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "თამაზ წივწივაძე"}
+{"composed": false, "fields": {"given": "Здравко", "surname": "Палазов"}, "file": "Q130753246", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Здравко Палазов"}
+{"composed": false, "fields": {"given": "نبيل", "surname": "درويش"}, "file": "Q131048129", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "نبيل درويش"}
+{"composed": false, "fields": {"given": "თემურ", "surname": "აბულაშვილი"}, "file": "Q131310719", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "თემურ აბულაშვილი"}
+{"composed": false, "fields": {"given": "فايزة", "surname": "حسين"}, "file": "Q131338682", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "فايزة حسين"}
+{"composed": false, "fields": {"given": "سميرة", "surname": "عزت"}, "file": "Q131366763", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "سميرة عزت"}
+{"composed": false, "fields": {"given": "Иван", "surname": "Коцев"}, "file": "Q131390261", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Иван Коцев"}
+{"composed": false, "fields": {"given": "إلهام", "surname": "حسين"}, "file": "Q13141377", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "إلهام حسين"}
+{"composed": false, "fields": {"given": "لويس", "surname": "جريس"}, "file": "Q13142108", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "لويس جريس"}
+{"composed": false, "fields": {"given": "Михайло", "surname": "Немелівський"}, "file": "Q131538079", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Немелівський Михайло"}
+{"composed": false, "fields": {"given": "ناصر", "surname": "الأنصاري"}, "file": "Q131593921", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "ناصر الأنصاري"}
+{"composed": false, "fields": {"given": "旭", "surname": "杨"}, "file": "Q1318216", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "杨旭"}
+{"composed": false, "fields": {"given": "გიორგი", "surname": "გონჯილაშვილი"}, "file": "Q132177850", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიორგი გონჯილაშვილი"}
+{"composed": false, "fields": {"given": "მამუკა", "surname": "ზაალიშვილი"}, "file": "Q132893275", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "მამუკა ზაალიშვილი"}
+{"composed": false, "fields": {"given": "אלישבע", "surname": "מיכאלי"}, "file": "Q1330746", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אלישבע מיכאלי"}
+{"composed": false, "fields": {"given": "Иван", "surname": "Катранов"}, "file": "Q133462003", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Иван Катранов"}
+{"composed": false, "fields": {"given": "楠", "surname": "宋"}, "file": "Q1335601", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "宋楠"}
+{"composed": false, "fields": {"given": "نادية", "surname": "زغلول"}, "file": "Q133885394", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "نادية زغلول"}
+{"composed": false, "fields": {"given": "عبد الحليم", "surname": "قدور"}, "file": "Q133932317", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الحليم قدور"}
+{"composed": false, "fields": {"given": "ვლადიმერ", "surname": "უზნაძე"}, "file": "Q134029617", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ვლადიმერ უზნაძე"}
+{"composed": false, "fields": {"given": "გიორგი", "surname": "ჩახავა"}, "file": "Q13425862", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიორგი ჩახავა"}
+{"composed": false, "fields": {"given": "ვახტანგ", "surname": "აბაშიძე"}, "file": "Q134269176", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ვახტანგ აბაშიძე"}
+{"composed": false, "fields": {"given": "علي", "surname": "الرواس"}, "file": "Q134284583", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "علي الرواس"}
+{"composed": false, "fields": {"given": "ალექსანდრე", "surname": "ციბაძე"}, "file": "Q134288567", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ალექსანდრე ციბაძე"}
+{"composed": false, "fields": {"given": "سمر", "surname": "عبد العزيز"}, "file": "Q134298671", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "سمر عبد العزيز"}
+{"composed": false, "fields": {"given": "Стеван", "surname": "Плетикосић"}, "file": "Q1343084", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Стеван Плетикосић"}
+{"composed": false, "fields": {"given": "حكمت", "surname": "هاشم"}, "file": "Q134461786", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حكمت هاشم"}
+{"composed": false, "fields": {"given": "עמרי", "surname": "שרון"}, "file": "Q1344931", "label": "he-il", "order": "givenFirst", "shape": null, "text": "עמרי שרון"}
+{"composed": false, "fields": {"given": "ვაჟა", "surname": "დადიანიძე"}, "file": "Q134502009", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ვაჟა დადიანიძე"}
+{"composed": false, "fields": {"given": "অজিত", "surname": "পাণ্ডে"}, "file": "Q13455620", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অজিত পাণ্ডে"}
+{"composed": false, "fields": {"given": "Սերգեյ", "surname": "Ներսիսյան"}, "file": "Q134688519", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սերգեյ Ներսիսյան"}
+{"composed": false, "fields": {"given": "ბადრი", "surname": "თოიძე"}, "file": "Q134700717", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ბადრი თოიძე"}
+{"composed": false, "fields": {"given": "ვახტანგ", "surname": "ჯაფარიძე"}, "file": "Q134721071", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ვახტანგ ჯაფარიძე"}
+{"composed": false, "fields": {"given": "Віктор", "surname": "Пинзеник"}, "file": "Q1348657", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Віктор Пинзеник"}
+{"composed": false, "fields": {"given": "سهيل", "surname": "الغزي"}, "file": "Q135298243", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "سهيل الغزي"}
+{"composed": false, "fields": {"given": "חנה", "surname": "אייכינגרין"}, "file": "Q135451437", "label": "he-il", "order": "givenFirst", "shape": null, "text": "חנה אייכינגרין"}
+{"composed": false, "fields": {"given": "Ігор", "surname": "Рибак"}, "file": "Q1358195", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Ігор Рибак"}
+{"composed": false, "fields": {"given": "Γιάννης", "surname": "Κανάκης"}, "file": "Q13582466", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γιάννης Κανάκης"}
+{"composed": false, "fields": {"given": "Павел", "surname": "Попов"}, "file": "Q136030194", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Павел Попов"}
+{"composed": false, "fields": {"given": "성수", "surname": "박"}, "file": "Q136304620", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박성수"}
+{"composed": false, "fields": {"given": "호왕", "surname": "이"}, "file": "Q1363894", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이호왕"}
+{"composed": false, "fields": {"given": "建柱", "surname": "孟"}, "file": "Q1365182", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "孟建柱"}
+{"composed": false, "fields": {"given": "예정", "surname": "하"}, "file": "Q136644064", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "하예정"}
+{"composed": false, "fields": {"given": "Петар", "surname": "Јовичић"}, "file": "Q136945566", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Петар Јовичић"}
+{"composed": false, "fields": {"given": "حسین", "surname": "امینی"}, "file": "Q1371315", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "حسین امینی"}
+{"composed": false, "fields": {"given": "Стефан", "surname": "Петров"}, "file": "Q137170665", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Стефан Петров"}
+{"composed": false, "fields": {"given": "رائد", "surname": "المتني"}, "file": "Q137186977", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "رائد المتني"}
+{"composed": false, "fields": {"given": "Марія", "surname": "Панчишин"}, "file": "Q137719745", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Марія Панчишин"}
+{"composed": false, "fields": {"given": "ชัชวาลย์", "surname": "แท่งทอง"}, "file": "Q137724131", "label": "th-th", "order": "givenFirst", "shape": null, "text": "ชัชวาลย์ แท่งทอง"}
+{"composed": false, "fields": {"given": "صالح", "surname": "اسدی"}, "file": "Q138522333", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "صالح اسدی"}
+{"composed": false, "fields": {"given": "هشام", "surname": "فؤاد"}, "file": "Q138580013", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "هشام فؤاد"}
+{"composed": false, "fields": {"given": "玲子", "surname": "駒井"}, "file": "Q138590768", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "駒井玲子"}
+{"composed": false, "fields": {"given": "정균", "surname": "주"}, "file": "Q138608130", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "주정균"}
+{"composed": false, "fields": {"given": "جيانيس", "surname": "كريستو"}, "file": "Q1391648", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جيانيس كريستو"}
+{"composed": false, "fields": {"given": "فريد", "surname": "الأطرش"}, "file": "Q1391669", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "فريد الأطرش"}
+{"composed": false, "fields": {"given": "إحسان", "surname": "الرفاعي"}, "file": "Q139379782", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "إحسان الرفاعي"}
+{"composed": false, "fields": {"given": "კახა", "surname": "ბენდუქიძე"}, "file": "Q1395782", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "კახა ბენდუქიძე"}
+{"composed": false, "fields": {"given": "เกรียงศักดิ์", "surname": "โกวิทวาณิช"}, "file": "Q1396370", "label": "th-th", "order": "givenFirst", "shape": null, "text": "เกรียงศักดิ์ โกวิทวาณิช"}
+{"composed": false, "fields": {"given": "عدنان", "surname": "مصطفى"}, "file": "Q140264039", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عدنان مصطفى"}
+{"composed": false, "fields": {"given": "Անուշավան", "surname": "Ազատյան"}, "file": "Q140324778", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Անուշավան Ազատյան"}
+{"composed": false, "fields": {"given": "Σταύρος", "surname": "Γεωργίου"}, "file": "Q140661872", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Σταύρος Γεωργίου"}
+{"composed": false, "fields": {"given": "Виктор", "surname": "Георгиев"}, "file": "Q141135124", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Виктор Георгиев"}
+{"composed": false, "fields": {"given": "محمد", "surname": "کوثری"}, "file": "Q141536821", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمد کوثری"}
+{"composed": false, "fields": {"given": "Արայիկ", "surname": "Մաթևոսյան"}, "file": "Q141610362", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արայիկ Մաթևոսյան"}
+{"composed": false, "fields": {"given": "Бранко", "surname": "Борковић"}, "file": "Q141749349", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бранко Борковић"}
+{"composed": false, "fields": {"given": "Ανδρέας", "surname": "Καραντώνης"}, "file": "Q14192722", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Ανδρέας Καραντώνης"}
+{"composed": false, "fields": {"given": "정희", "surname": "박"}, "file": "Q14356", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박정희"}
+{"composed": false, "fields": {"given": "智英", "surname": "黎"}, "file": "Q1447095", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "黎智英"}
+{"composed": false, "fields": {"given": "Վարդան", "surname": "Ստեփանյան"}, "file": "Q14478838", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Վարդան Ստեփանյան"}
+{"composed": false, "fields": {"given": "Ιωάννης", "surname": "Πετρίδης"}, "file": "Q14535892", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Ιωάννης Πετρίδης"}
+{"composed": false, "fields": {"given": "Աշոտ", "surname": "Պետրոսյան"}, "file": "Q15062430", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Աշոտ Պետրոսյան"}
+{"composed": false, "fields": {"given": "Милко", "surname": "Бјелица"}, "file": "Q1506733", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Милко Бјелица"}
+{"composed": false, "fields": {"given": "გურამ", "surname": "მეტონიძე"}, "file": "Q15072393", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გურამ მეტონიძე"}
+{"composed": false, "fields": {"given": "Մարտին", "surname": "Սուքիասյան"}, "file": "Q15075331", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Մարտին Սուքիասյան"}
+{"composed": false, "fields": {"given": "Κωνσταντίνος", "surname": "Θεοτόκης"}, "file": "Q15135101", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Κωνσταντίνος Θεοτόκης"}
+{"composed": false, "fields": {"given": "Լևոն", "surname": "Աղասյան"}, "file": "Q15234643", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Լևոն Աղասյան"}
+{"composed": false, "fields": {"given": "გურანდა", "surname": "ღვალაძე"}, "file": "Q1555152", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გურანდა ღვალაძე"}
+{"composed": false, "fields": {"given": "আনোয়ার", "surname": "হোসেন"}, "file": "Q15633501", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "আনোয়ার হোসেন"}
+{"composed": false, "fields": {"given": "लता", "surname": "मंगेशकर"}, "file": "Q156347", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "लता मंगेशकर"}
+{"composed": false, "fields": {"given": "मनीष", "surname": "मल्होत्रा"}, "file": "Q1563710", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "मनीष मल्होत्रा"}
+{"composed": false, "fields": {"given": "Теофил", "surname": "Панчић"}, "file": "Q1568494", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Теофил Панчић"}
+{"composed": false, "fields": {"given": "अरुणा", "surname": "ईरानी"}, "file": "Q158225", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "अरुणा ईरानी"}
+{"composed": false, "fields": {"given": "Γιώργος", "surname": "Παπαδάκης"}, "file": "Q15839351", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γιώργος Παπαδάκης"}
+{"composed": false, "fields": {"given": "জুহি", "surname": "চাওলা"}, "file": "Q158745", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "জুহি চাওলা"}
+{"composed": false, "fields": {"given": "光", "surname": "韩"}, "file": "Q15916581", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "韩光"}
+{"composed": false, "fields": {"given": "毓麟", "surname": "邵"}, "file": "Q15950247", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "邵毓麟"}
+{"composed": false, "fields": {"given": "雪莹", "surname": "王"}, "file": "Q15950777", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "王雪莹"}
+{"composed": false, "fields": {"given": "Юлия", "surname": "Кръстева"}, "file": "Q159876", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Юлия Кръстева"}
+{"composed": false, "fields": {"given": "Мија", "surname": "Јовановић"}, "file": "Q16010018", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Мија Јовановић"}
+{"composed": false, "fields": {"given": "Θάνος", "surname": "Κωτσόπουλος"}, "file": "Q16061999", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Θάνος Κωτσόπουλος"}
+{"composed": false, "fields": {"given": "계원", "surname": "김"}, "file": "Q16067532", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김계원"}
+{"composed": false, "fields": {"given": "재진", "surname": "권"}, "file": "Q16080127", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "권재진"}
+{"composed": false, "fields": {"given": "병관", "surname": "김"}, "file": "Q16080234", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김병관"}
+{"composed": false, "fields": {"given": "Александар", "surname": "Антић"}, "file": "Q16082744", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Александар Антић"}
+{"composed": false, "fields": {"given": "광노", "surname": "이"}, "file": "Q16090710", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이광노"}
+{"composed": false, "fields": {"given": "석모", "surname": "정"}, "file": "Q16091629", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "정석모"}
+{"composed": false, "fields": {"given": "준석", "surname": "추"}, "file": "Q16092276", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "추준석"}
+{"composed": false, "fields": {"given": "莉奈", "surname": "伊豆田"}, "file": "Q16097636", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "伊豆田莉奈"}
+{"composed": false, "fields": {"given": "Невен", "surname": "Суботић"}, "file": "Q161038", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Невен Суботић"}
+{"composed": false, "fields": {"given": "কেনেথ", "surname": "পাওয়েল"}, "file": "Q16105455", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "কেনেথ পাওয়েল"}
+{"composed": false, "fields": {"given": "أمينة", "surname": "رشيد"}, "file": "Q16123001", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أمينة رشيد"}
+{"composed": false, "fields": {"given": "نهلة", "surname": "القدسي"}, "file": "Q16124000", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "نهلة القدسي"}
+{"composed": false, "fields": {"given": "طارق", "surname": "سلامة"}, "file": "Q16126549", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "طارق سلامة"}
+{"composed": false, "fields": {"given": "אשר", "surname": "דורי"}, "file": "Q16128860", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אשר דורי"}
+{"composed": false, "fields": {"given": "ברכה", "surname": "רוזנפלד"}, "file": "Q16131281", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ברכה רוזנפלד"}
+{"composed": false, "fields": {"given": "יצחק", "surname": "טישלר"}, "file": "Q16132207", "label": "he-il", "order": "givenFirst", "shape": null, "text": "יצחק טישלר"}
+{"composed": false, "fields": {"given": "Олексій", "patronymic": "Олексійович", "surname": "Гончаренко"}, "file": "Q16172176", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Олексій Олексійович Гончаренко"}
+{"composed": false, "fields": {"given": "경애", "surname": "박"}, "file": "Q16173397", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박경애"}
+{"composed": false, "fields": {"given": "성우", "surname": "박"}, "file": "Q16174643", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박성우"}
+{"composed": false, "fields": {"given": "강훈", "surname": "이"}, "file": "Q16174783", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이강훈"}
+{"composed": false, "fields": {"given": "병훈", "surname": "이"}, "file": "Q16177359", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이병훈"}
+{"composed": false, "fields": {"given": "장섭", "surname": "김"}, "file": "Q16178152", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김장섭"}
+{"composed": false, "fields": {"given": "순옥", "surname": "홍"}, "file": "Q16179838", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "홍순옥"}
+{"composed": false, "fields": {"given": "대규", "surname": "임"}, "file": "Q16189078", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "임 대규"}
+{"composed": false, "fields": {"given": "هالة", "surname": "شكر الله"}, "file": "Q16230492", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "هالة شكر الله"}
+{"composed": false, "fields": {"given": "Немања", "surname": "Максимовић"}, "file": "Q16236874", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Немања Максимовић"}
+{"composed": false, "fields": {"given": "Никола", "surname": "Мараш"}, "file": "Q16236878", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Никола Мараш"}
+{"composed": false, "fields": {"given": "정구", "surname": "허"}, "file": "Q16262220", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "허정구"}
+{"composed": false, "fields": {"given": "洁", "surname": "柯"}, "file": "Q16262307", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "柯洁"}
+{"composed": false, "fields": {"given": "Вук", "surname": "Драшковић"}, "file": "Q162740", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Вук Драшковић"}
+{"composed": false, "fields": {"given": "ნიკოლოზ", "surname": "ბასილაშვილი"}, "file": "Q16297666", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნიკოლოზ ბასილაშვილი"}
+{"composed": false, "fields": {"given": "Βασίλης", "surname": "Καραπατάκης"}, "file": "Q16328534", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Βασίλης Καραπατάκης"}
+{"composed": false, "fields": {"given": "Χαράλαμπος", "surname": "Σιμόπουλος"}, "file": "Q16332430", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Χαράλαμπος Σιμόπουλος"}
+{"composed": false, "fields": {"given": "რევაზ", "surname": "ადამია"}, "file": "Q16334103", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "რევაზ ადამია"}
+{"composed": false, "fields": {"given": "ანასტასია", "surname": "ვირსალაძე"}, "file": "Q16364800", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ანასტასია ვირსალაძე"}
+{"composed": false, "fields": {"given": "ვლადიმერ", "surname": "ანთაძე"}, "file": "Q16369188", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ვლადიმერ ანთაძე"}
+{"composed": false, "fields": {"given": "სოსო", "surname": "პაიჭაძე"}, "file": "Q16375930", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "სოსო პაიჭაძე"}
+{"composed": false, "fields": {"given": "Հենրիկ", "surname": "Ազատյան"}, "file": "Q16388316", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Հենրիկ Ազատյան"}
+{"composed": false, "fields": {"given": "Սուրեն", "surname": "Բաբայան"}, "file": "Q16399896", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սուրեն Բաբայան"}
+{"composed": false, "fields": {"given": "Φαίδων", "surname": "Θεοφίλου"}, "file": "Q16512416", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Φαίδων Θεοφίλου"}
+{"composed": false, "fields": {"given": "Γεώργιος", "surname": "Μητσόπουλος"}, "file": "Q16512475", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γεώργιος Μητσόπουλος"}
+{"composed": false, "fields": {"given": "Σταύρος", "surname": "Κωστόπουλος"}, "file": "Q16512517", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Σταύρος Κωστόπουλος"}
+{"composed": false, "fields": {"given": "志伟", "surname": "邓"}, "file": "Q16539540", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "邓志伟"}
+{"composed": false, "fields": {"given": "응천", "surname": "김"}, "file": "Q16630799", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김응천"}
+{"composed": false, "fields": {"given": "Иван", "surname": "Радулов"}, "file": "Q1675990", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Иван Радулов"}
+{"composed": false, "fields": {"given": "Радован", "surname": "Панков"}, "file": "Q16935153", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Радован Панков"}
+{"composed": false, "fields": {"given": "Немања", "surname": "Милетић"}, "file": "Q16980084", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Немања Милетић"}
+{"composed": false, "fields": {"given": "维", "surname": "刘"}, "file": "Q17020840", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "刘维"}
+{"composed": false, "fields": {"given": "Йордан", "surname": "Мутафчиев"}, "file": "Q1703641", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Йордан Мутафчиев"}
+{"composed": false, "fields": {"given": "Ալեքսանդր", "surname": "Թումասյան"}, "file": "Q17285756", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ալեքսանդր Թումասյան"}
+{"composed": false, "fields": {"given": "Илија", "surname": "Петковић"}, "file": "Q173923", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Илија Петковић"}
+{"composed": false, "fields": {"given": "상현", "surname": "조"}, "file": "Q17401441", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "조상현"}
+{"composed": false, "fields": {"given": "অবন্তিকা", "surname": "মিশ্র"}, "file": "Q17708728", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অবন্তিকা মিশ্র"}
+{"composed": false, "fields": {"given": "فتحالله", "surname": "بنیصدر"}, "file": "Q17993037", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "فتحالله بنیصدر"}
+{"composed": false, "fields": {"given": "عباس", "surname": "وفایی"}, "file": "Q17994757", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "عباس وفایی"}
+{"composed": false, "fields": {"given": "მიხეილ", "surname": "ჯოჯუა"}, "file": "Q18015439", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "მიხეილ ჯოჯუა"}
+{"composed": false, "fields": {"given": "Στέφανος", "surname": "Λάντσας"}, "file": "Q18019609", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Στέφανος Λάντσας"}
+{"composed": false, "fields": {"given": "محمد", "surname": "خاتمی"}, "file": "Q180795", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمد خاتمی"}
+{"composed": false, "fields": {"given": "희완", "surname": "이"}, "file": "Q1811820", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이희완"}
+{"composed": false, "fields": {"given": "Румяна", "surname": "Бъчварова"}, "file": "Q18535066", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Румяна Бъчварова"}
+{"composed": false, "fields": {"given": "影", "surname": "李"}, "file": "Q18653800", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "李影"}
+{"composed": false, "fields": {"given": "เดชาพล", "surname": "พัววรานุเคราะห์"}, "file": "Q18670515", "label": "th-th", "order": "givenFirst", "shape": null, "text": "เดชาพล พัววรานุเคราะห์"}
+{"composed": false, "fields": {"given": "ชวเลิศ", "surname": "ชุ่มคำ"}, "file": "Q186736", "label": "th-th", "order": "givenFirst", "shape": null, "text": "ชวเลิศ ชุ่มคำ"}
+{"composed": false, "fields": {"given": "أحمد", "surname": "مصطفى"}, "file": "Q18710313", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أحمد مصطفى"}
+{"composed": false, "fields": {"given": "태곤", "surname": "손"}, "file": "Q18815574", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "손태곤"}
+{"composed": false, "fields": {"given": "محمود", "surname": "الزعبي"}, "file": "Q1884964", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمود الزعبي"}
+{"composed": false, "fields": {"given": "Ιωάννης", "surname": "Μεταξάς"}, "file": "Q189139", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Ιωάννης Μεταξάς"}
+{"composed": false, "fields": {"given": "شيماء", "surname": "الصباغ"}, "file": "Q18918574", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "شيماء الصباغ"}
+{"composed": false, "fields": {"given": "기봉", "surname": "고"}, "file": "Q18998322", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "고기봉"}
+{"composed": false, "fields": {"given": "경원", "surname": "박"}, "file": "Q18999980", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박경원"}
+{"composed": false, "fields": {"given": "형부", "surname": "조"}, "file": "Q19162058", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "조형부"}
+{"composed": false, "fields": {"given": "병규", "surname": "천"}, "file": "Q19162110", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "천병규"}
+{"composed": false, "fields": {"given": "두환", "surname": "최"}, "file": "Q19162130", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최두환"}
+{"composed": false, "fields": {"given": "美玲", "surname": "周"}, "file": "Q191916", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "周美玲"}
+{"composed": false, "fields": {"given": "კახა", "surname": "კალაძე"}, "file": "Q192031", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "კახა კალაძე"}
+{"composed": false, "fields": {"given": "Антон", "surname": "Каблешков"}, "file": "Q19203803", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Антон Каблешков"}
+{"composed": false, "fields": {"given": "ლევან", "surname": "ინწკირველი"}, "file": "Q19516152", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლევან ინწკირველი"}
+{"composed": false, "fields": {"given": "ალექსანდრე", "surname": "იაშვილი"}, "file": "Q195317", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ალექსანდრე იაშვილი"}
+{"composed": false, "fields": {"given": "Найден", "surname": "Тодоров"}, "file": "Q1963895", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Найден Тодоров"}
+{"composed": false, "fields": {"given": "আবদুল করিম", "surname": "শাহ"}, "file": "Q19646586", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "আবদুল করিম শাহ"}
+{"composed": false, "fields": {"given": "হেলেনা", "surname": "খান"}, "file": "Q19661679", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "হেলেনা খান"}
+{"composed": false, "fields": {"given": "অসীম", "surname": "বসু"}, "file": "Q19663402", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অসীম বসু"}
+{"composed": false, "fields": {"given": "Симона", "surname": "Пейчева"}, "file": "Q1968919", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Симона Пейчева"}
+{"composed": false, "fields": {"given": "Желязко", "surname": "Ангелов"}, "file": "Q19705456", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Желязко Ангелов"}
+{"composed": false, "fields": {"given": "Գոհար", "surname": "Գասպարյան"}, "file": "Q1971489", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Գոհար Գասպարյան"}
+{"composed": false, "fields": {"given": "祖權", "surname": "茅"}, "file": "Q19825302", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "茅祖權"}
+{"composed": false, "fields": {"given": "জিয়াউর", "surname": "রহমান"}, "file": "Q198313", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "জিয়াউর রহমান"}
+{"composed": false, "fields": {"given": "정곤", "surname": "장"}, "file": "Q19940974", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "장정곤"}
+{"composed": false, "fields": {"given": "鵬", "surname": "沈"}, "file": "Q20063761", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "沈鵬"}
+{"composed": false, "fields": {"given": "Едуард", "patronymic": "Михайлович", "surname": "Москальов"}, "file": "Q20068674", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Едуард Михайлович Москальов"}
+{"composed": false, "fields": {"given": "Անդրանիկ", "surname": "Հարությունյան"}, "file": "Q20091434", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Անդրանիկ Հարությունյան"}
+{"composed": false, "fields": {"given": "正雄", "surname": "岡"}, "file": "Q2017050", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "岡正雄"}
+{"composed": false, "fields": {"given": "Олег", "surname": "Сакиркин"}, "file": "Q2019276", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Олег Сакиркин"}
+{"composed": false, "fields": {"given": "凯歌", "surname": "陈"}, "file": "Q202597", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "陈凯歌"}
+{"composed": false, "fields": {"given": "Владимир", "surname": "Вазов"}, "file": "Q2039111", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Владимир Вазов"}
+{"composed": false, "fields": {"given": "Արա", "surname": "Աբրահամյան"}, "file": "Q204689", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արա Աբրահամյան"}
+{"composed": false, "fields": {"given": "Սուրեն", "surname": "Երեմյան"}, "file": "Q2047004", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սուրեն Երեմյան"}
+{"composed": false, "fields": {"given": "Յուրի", "surname": "Դավթյան"}, "file": "Q20508268", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Յուրի Դավթյան"}
+{"composed": false, "fields": {"given": "Ալեքսանդր", "surname": "Մանասյան"}, "file": "Q20508413", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ալեքսանդր Մանասյան"}
+{"composed": false, "fields": {"given": "Գրիգոր", "surname": "Բրուտյան"}, "file": "Q20509962", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Գրիգոր Բրուտյան"}
+{"composed": false, "fields": {"given": "Ռաֆիկ", "surname": "Եղոյան"}, "file": "Q20510173", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ռաֆիկ Եղոյան"}
+{"composed": false, "fields": {"given": "Զառա", "surname": "Տոնիկյան"}, "file": "Q20511451", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Զառա Տոնիկյան"}
+{"composed": false, "fields": {"given": "Հրանտ", "surname": "Թովմասյան"}, "file": "Q20513355", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Հրանտ Թովմասյան"}
+{"composed": false, "fields": {"given": "თეიმურაზ", "surname": "კვირკველია"}, "file": "Q20559095", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "თეიმურაზ კვირკველია"}
+{"composed": false, "fields": {"given": "ნოდარ", "surname": "ცინცაძე"}, "file": "Q20562083", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნოდარ ცინცაძე"}
+{"composed": false, "fields": {"given": "ირაკლი", "surname": "ელიავა"}, "file": "Q20573528", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ირაკლი ელიავა"}
+{"composed": false, "fields": {"given": "亨", "surname": "吉川"}, "file": "Q2057423", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "吉川亨"}
+{"composed": false, "fields": {"given": "თამაზ", "surname": "კვაჭანტირაძე"}, "file": "Q20576060", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "თამაზ კვაჭანტირაძე"}
+{"composed": false, "fields": {"given": "영근", "surname": "최"}, "file": "Q2059290", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최영근"}
+{"composed": false, "fields": {"given": "أمين", "surname": "سامي"}, "file": "Q20608488", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أمين سامي"}
+{"composed": false, "fields": {"given": "상옥", "surname": "최"}, "file": "Q20644439", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최상옥"}
+{"composed": false, "fields": {"given": "Александър", "surname": "Цветков"}, "file": "Q2065023", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Александър Цветков"}
+{"composed": false, "fields": {"given": "Душан", "surname": "Милошевић"}, "file": "Q2068173", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Душан Милошевић"}
+{"composed": false, "fields": {"given": "Βασίλειος", "surname": "Κόκκινος"}, "file": "Q20722812", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Βασίλειος Κόκκινος"}
+{"composed": false, "fields": {"given": "مريم", "surname": "صالح"}, "file": "Q20730848", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "مريم صالح"}
+{"composed": false, "fields": {"given": "Կոնստանտին", "surname": "Օրբելյան"}, "file": "Q2074401", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Կոնստանտին Օրբելյան"}
+{"composed": false, "fields": {"given": "Γεώργιος", "surname": "Δρόσος"}, "file": "Q20894440", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γεώργιος Δρόσος"}
+{"composed": false, "fields": {"given": "勇人", "surname": "佐々木"}, "file": "Q210231", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "佐々木 勇人"}
+{"composed": false, "fields": {"given": "Вероніка", "surname": "Марченко"}, "file": "Q21067016", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Вероніка Марченко"}
+{"composed": false, "fields": {"given": "윤기", "surname": "민"}, "file": "Q21075020", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "민윤기"}
+{"composed": false, "fields": {"given": "ประวัติ", "surname": "ปัตตพงศ์"}, "file": "Q2108027", "label": "th-th", "order": "givenFirst", "shape": null, "text": "ประวัติ ปัตตพงศ์"}
+{"composed": false, "fields": {"given": "Գոհար", "surname": "Գասպարյան"}, "file": "Q2109153", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Գոհար Գասպարյան"}
+{"composed": false, "fields": {"given": "주영", "surname": "박"}, "file": "Q210928", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박주영"}
+{"composed": false, "fields": {"given": "جيهان", "surname": "السادات"}, "file": "Q212190", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جيهان السادات"}
+{"composed": false, "fields": {"given": "昌司", "surname": "桜井"}, "file": "Q21438706", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "桜井昌司"}
+{"composed": false, "fields": {"given": "명희", "surname": "유"}, "file": "Q21445432", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "유명희"}
+{"composed": false, "fields": {"given": "명한", "surname": "장"}, "file": "Q21825038", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "장명한"}
+{"composed": false, "fields": {"given": "성태", "surname": "허"}, "file": "Q21825451", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "허성태"}
+{"composed": false, "fields": {"given": "Христо", "surname": "Миладинов"}, "file": "Q21994789", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Христо Миладинов"}
+{"composed": false, "fields": {"given": "정희", "surname": "이"}, "file": "Q224639", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이정희"}
+{"composed": false, "fields": {"given": "أكرم", "surname": "التلاوي"}, "file": "Q22684231", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أكرم التلاوي"}
+{"composed": false, "fields": {"given": "حميدة", "surname": "الطاهر"}, "file": "Q22687617", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حميدة الطاهر"}
+{"composed": false, "fields": {"given": "隆基", "surname": "罗"}, "file": "Q2275823", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "罗隆基"}
+{"composed": false, "fields": {"given": "شهره", "surname": "آغداشلو"}, "file": "Q229766", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "شهره آغداشلو"}
+{"composed": false, "fields": {"given": "მიხეილ", "surname": "ქორქია"}, "file": "Q2323687", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "მიხეილ ქორქია"}
+{"composed": false, "fields": {"given": "Оксана", "patronymic": "Сергіївна", "surname": "Баюл"}, "file": "Q232995", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Оксана Сергіївна Баюл"}
+{"composed": false, "fields": {"given": "নিখিল", "surname": "আডবাণী"}, "file": "Q2332619", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "নিখিল আডবাণী"}
+{"composed": false, "fields": {"given": "Տիգրան", "surname": "Նալբանդյան"}, "file": "Q2335548", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Տիգրան Նալբանդյան"}
+{"composed": false, "fields": {"given": "अक्षय", "surname": "कुमार"}, "file": "Q233748", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "अक्षय कुमार"}
+{"composed": false, "fields": {"given": "璐美", "surname": "朴"}, "file": "Q233902", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "朴璐美"}
+{"composed": false, "fields": {"given": "أصالة", "surname": "نصري"}, "file": "Q2353139", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أصالة نصري"}
+{"composed": false, "fields": {"given": "扬", "surname": "杨"}, "file": "Q236282", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "杨扬"}
+{"composed": false, "fields": {"given": "亜美", "surname": "小清水"}, "file": "Q236715", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "小清水 亜美"}
+{"composed": false, "fields": {"given": "Константин", "surname": "Марков"}, "file": "Q23680686", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Константин Марков"}
+{"composed": false, "fields": {"given": "Μαρίκα", "surname": "Τζιραλίδου"}, "file": "Q23888864", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Μαρίκα Τζιραλίδου"}
+{"composed": false, "fields": {"given": "Վազգեն", "surname": "Մանուկյան"}, "file": "Q2389099", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Վազգեն Մանուկյան"}
+{"composed": false, "fields": {"given": "Արթուր", "surname": "Մկրտչյան"}, "file": "Q2389126", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արթուր Մկրտչյան"}
+{"composed": false, "fields": {"given": "信雄", "surname": "藤田"}, "file": "Q2404303", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "藤田信雄"}
+{"composed": false, "fields": {"given": "Урош", "surname": "Рачић"}, "file": "Q24084219", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Урош Рачић"}
+{"composed": false, "fields": {"given": "أحمد", "surname": "حجازي"}, "file": "Q2409638", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أحمد حجازي"}
+{"composed": false, "fields": {"given": "سلام", "surname": "امینی"}, "file": "Q24175830", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "سلام امینی"}
+{"composed": false, "fields": {"given": "진주", "surname": "이"}, "file": "Q24287375", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이진주"}
+{"composed": false, "fields": {"given": "Динко", "surname": "Цветков Дерменджиев"}, "file": "Q2444179", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Динко Цветков Дерменджиев"}
+{"composed": false, "fields": {"given": "信夫", "surname": "木内"}, "file": "Q24876650", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "木内 信夫"}
+{"composed": false, "fields": {"given": "علی", "surname": "حاتمی"}, "file": "Q250608", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "علی حاتمی"}
+{"composed": false, "fields": {"given": "وليد", "surname": "الشهري"}, "file": "Q2529866", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "وليد الشهري"}
+{"composed": false, "fields": {"given": "静", "surname": "陈"}, "file": "Q253708", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "陈静"}
+{"composed": false, "fields": {"given": "Александър", "surname": "Марков"}, "file": "Q25487517", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Александър Марков"}
+{"composed": false, "fields": {"given": "Қайрат", "patronymic": "Болатұлы", "surname": "Тұрлыханов"}, "file": "Q25490264", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Қайрат Болатұлы Тұрлыханов"}
+{"composed": false, "fields": {"given": "תמרה", "surname": "כהן"}, "file": "Q25491919", "label": "he-il", "order": "givenFirst", "shape": null, "text": "תמרה כהן"}
+{"composed": false, "fields": {"given": "Төлеу", "surname": "Шаханов"}, "file": "Q25510301", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Төлеу Шаханов"}
+{"composed": false, "fields": {"given": "Драган", "surname": "Стојковић"}, "file": "Q257548", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Драган Стојковић"}
+{"composed": false, "fields": {"given": "רון", "surname": "ארד"}, "file": "Q258128", "label": "he-il", "order": "givenFirst", "shape": null, "text": "רון ארד"}
+{"composed": false, "fields": {"given": "ألكسندر", "surname": "دارسي"}, "file": "Q2603039", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "ألكسندر دارسي"}
+{"composed": false, "fields": {"given": "غادة", "surname": "السمان"}, "file": "Q2612563", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "غادة السمان"}
+{"composed": false, "fields": {"given": "Анастас", "surname": "Јовановић"}, "file": "Q2613585", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Анастас Јовановић"}
+{"composed": false, "fields": {"given": "Ռոբերտ", "surname": "Հովհաննիսյան"}, "file": "Q2616692", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ռոբերտ Հովհաննիսյան"}
+{"composed": false, "fields": {"given": "Нено", "surname": "Неделчев"}, "file": "Q26212354", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Нено Неделчев"}
+{"composed": false, "fields": {"given": "אברהם", "surname": "אדן"}, "file": "Q2624233", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אברהם אדן"}
+{"composed": false, "fields": {"given": "Карина", "surname": "Горичева"}, "file": "Q26248683", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Карина Горичева"}
+{"composed": false, "fields": {"given": "小蘭", "surname": "趙"}, "file": "Q263322", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "趙小蘭"}
+{"composed": false, "fields": {"given": "Бранислав", "surname": "Јовановић"}, "file": "Q2638729", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бранислав Јовановић"}
+{"composed": false, "fields": {"given": "Бақытжан", "surname": "Қанапиянов"}, "file": "Q2640776", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Бақытжан Қанапиянов"}
+{"composed": false, "fields": {"given": "Վլադիմիր", "surname": "Դարբինյան"}, "file": "Q2644893", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Վլադիմիր Դարբինյան"}
+{"composed": false, "fields": {"given": "Драгомир", "surname": "Јовановић"}, "file": "Q265772", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Драгомир Јовановић"}
+{"composed": false, "fields": {"given": "مها", "surname": "عامر"}, "file": "Q26664055", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "مها عامر"}
+{"composed": false, "fields": {"given": "Биљана", "surname": "Плавшић"}, "file": "Q26769", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Биљана Плавшић"}
+{"composed": false, "fields": {"given": "謙一郎", "surname": "佐々木"}, "file": "Q26776575", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "佐々木謙一郎"}
+{"composed": false, "fields": {"given": "Ֆելիքս", "surname": "Բախչինյան"}, "file": "Q26973541", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ֆելիքս Բախչինյան"}
+{"composed": false, "fields": {"given": "연경", "surname": "김"}, "file": "Q270135", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김연경"}
+{"composed": false, "fields": {"given": "अनिल", "surname": "जोशी"}, "file": "Q2722277", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "अनिल जोशी"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Γαλανός"}, "file": "Q27262754", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Γαλανός"}
+{"composed": false, "fields": {"given": "Մանուել", "surname": "Պետրոսյան"}, "file": "Q27529864", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Մանուել Պետրոսյան"}
+{"composed": false, "fields": {"given": "পঙ্কজ", "surname": "মিশ্র"}, "file": "Q277575", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "পঙ্কজ মিশ্র"}
+{"composed": false, "fields": {"given": "顺", "surname": "汪"}, "file": "Q2789989", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "汪顺"}
+{"composed": false, "fields": {"given": "نورس", "surname": "عبد الواحد"}, "file": "Q27914098", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "نورس عبد الواحد"}
+{"composed": false, "fields": {"given": "용완", "surname": "김"}, "file": "Q27919953", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김용완"}
+{"composed": false, "fields": {"given": "지수", "surname": "육"}, "file": "Q27953830", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "육지수"}
+{"composed": false, "fields": {"given": "浩", "surname": "湯浅"}, "file": "Q28068683", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "湯浅浩"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Καράμπελας"}, "file": "Q2814369", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Καράμπελας"}
+{"composed": false, "fields": {"given": "সুলতান", "surname": "মাহমুদ"}, "file": "Q28179433", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "সুলতান মাহমুদ"}
+{"composed": false, "fields": {"given": "曦", "surname": "魏"}, "file": "Q28355175", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "魏曦"}
+{"composed": false, "fields": {"given": "明忠", "surname": "陳"}, "file": "Q28417390", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "陳明忠"}
+{"composed": false, "fields": {"given": "תמיר", "surname": "כהן"}, "file": "Q284590", "label": "he-il", "order": "givenFirst", "shape": null, "text": "תמיר כהן"}
+{"composed": false, "fields": {"given": "Андрија", "surname": "Милошевић"}, "file": "Q2846579", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Андрија Милошевић"}
+{"composed": false, "fields": {"given": "Васил", "surname": "Янакиев"}, "file": "Q28480344", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Васил Янакиев"}
+{"composed": false, "fields": {"given": "Янко", "surname": "Павлов"}, "file": "Q28548236", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Янко Павлов"}
+{"composed": false, "fields": {"given": "Филип", "surname": "Ђуричић"}, "file": "Q285518", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Филип Ђуричић"}
+{"composed": false, "fields": {"given": "אהרן", "surname": "מונדשיין"}, "file": "Q28605098", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אהרן מונדשיין"}
+{"composed": false, "fields": {"given": "Татьяна", "patronymic": "Васильевна", "surname": "Костина"}, "file": "Q28664784", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Татьяна Васильевна Костина"}
+{"composed": false, "fields": {"given": "호연", "surname": "정"}, "file": "Q28699137", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "정호연"}
+{"composed": false, "fields": {"given": "진구", "surname": "박"}, "file": "Q28700409", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박진구"}
+{"composed": false, "fields": {"given": "Мирослав", "surname": "Радовановић"}, "file": "Q28760891", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Мирослав Радовановић"}
+{"composed": false, "fields": {"given": "Николай", "surname": "Кашев"}, "file": "Q28836262", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Николай Кашев"}
+{"composed": false, "fields": {"given": "Тијана", "surname": "Богићевић"}, "file": "Q28849470", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Тијана Богићевић"}
+{"composed": false, "fields": {"given": "Бранислав", "surname": "Блажић"}, "file": "Q28911753", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бранислав Блажић"}
+{"composed": false, "fields": {"given": "سامي", "surname": "الكيالي"}, "file": "Q28936497", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "سامي الكيالي"}
+{"composed": false, "fields": {"given": "경애", "surname": "김"}, "file": "Q28966728", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김경애"}
+{"composed": false, "fields": {"given": "עמוס", "surname": "הדר"}, "file": "Q2900487", "label": "he-il", "order": "givenFirst", "shape": null, "text": "עמוס הדר"}
+{"composed": false, "fields": {"given": "אברהם", "surname": "כץ"}, "file": "Q2901672", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אברהם כץ"}
+{"composed": false, "fields": {"given": "علیاصغر", "surname": "زارعی"}, "file": "Q29018353", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "علیاصغر زارعی"}
+{"composed": false, "fields": {"given": "ששון", "surname": "סומך"}, "file": "Q2903564", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ששון סומך"}
+{"composed": false, "fields": {"given": "Богдан", "surname": "Несторовић"}, "file": "Q2908636", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Богдан Несторовић"}
+{"composed": false, "fields": {"given": "אהרן", "surname": "מסקין"}, "file": "Q2909433", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אהרן מסקין"}
+{"composed": false, "fields": {"given": "אמה", "surname": "תלמי"}, "file": "Q2909759", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אמה תלמי"}
+{"composed": false, "fields": {"given": "דבורה", "surname": "עומר"}, "file": "Q2910028", "label": "he-il", "order": "givenFirst", "shape": null, "text": "דבורה עומר"}
+{"composed": false, "fields": {"given": "אמיר", "surname": "דרורי"}, "file": "Q2910092", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אמיר דרורי"}
+{"composed": false, "fields": {"given": "Синиша", "surname": "Михајловић"}, "file": "Q294351", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Синиша Михајловић"}
+{"composed": false, "fields": {"given": "بهروز", "surname": "بوچانی"}, "file": "Q29452528", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "بهروز بوچانی"}
+{"composed": false, "fields": {"given": "وداد", "surname": "أنطوان"}, "file": "Q29514393", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "وداد أنطوان"}
+{"composed": false, "fields": {"given": "Լորիս", "surname": "Ճգնավորյան"}, "file": "Q2984588", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Լորիս Ճգնավորյան"}
+{"composed": false, "fields": {"given": "मुकेश", "surname": "अंबानी"}, "file": "Q298547", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "मुकेश अंबानी"}
+{"composed": false, "fields": {"given": "Євген", "surname": "Гуцало"}, "file": "Q2993752", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Євген Гуцало"}
+{"composed": false, "fields": {"given": "Αθανάσιος", "surname": "Δροσόπουλος"}, "file": "Q30085506", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αθανάσιος Δροσόπουλος"}
+{"composed": false, "fields": {"given": "Լենա", "surname": "Նազարյան"}, "file": "Q30195988", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Լենա Նազարյան"}
+{"composed": false, "fields": {"given": "Κωνσταντίνος", "surname": "Πυλαρινός"}, "file": "Q30276264", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Κωνσταντίνος Πυλαρινός"}
+{"composed": false, "fields": {"given": "Παναγιώτης", "surname": "Καραλής"}, "file": "Q30302667", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Παναγιώτης Καραλής"}
+{"composed": false, "fields": {"given": "משה", "surname": "חלוץ"}, "file": "Q30527587", "label": "he-il", "order": "givenFirst", "shape": null, "text": "משה חלוץ"}
+{"composed": false, "fields": {"given": "صنع الله", "surname": "إبراهيم"}, "file": "Q3053937", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "صنع الله إبراهيم"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Νικολαΐδης"}, "file": "Q3107029", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Νικολαΐδης"}
+{"composed": false, "fields": {"given": "ნიკო", "surname": "ფიროსმანი"}, "file": "Q310896", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნიკო ფიროსმანი"}
+{"composed": false, "fields": {"given": "Коста", "surname": "Михаиловић"}, "file": "Q31184057", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Коста Михаиловић"}
+{"composed": false, "fields": {"given": "Анђелија", "surname": "Веснић"}, "file": "Q31185519", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Анђелија Веснић"}
+{"composed": false, "fields": {"given": "Константин", "surname": "Марков"}, "file": "Q31192684", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Константин Марков"}
+{"composed": false, "fields": {"given": "Тина", "surname": "Крајишник"}, "file": "Q31271087", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Тина Крајишник"}
+{"composed": false, "fields": {"given": "經國", "surname": "蔣"}, "file": "Q313598", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "蔣經國"}
+{"composed": false, "fields": {"given": "Дејан", "surname": "Бодирога"}, "file": "Q313622", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Дејан Бодирога"}
+{"composed": false, "fields": {"given": "عبد الرحمن", "surname": "السديس"}, "file": "Q317948", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد الرحمن السديس"}
+{"composed": false, "fields": {"given": "Δημήτρης", "surname": "Μητρόπουλος"}, "file": "Q319741", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Δημήτρης Μητρόπουλος"}
+{"composed": false, "fields": {"given": "성혜", "surname": "김"}, "file": "Q32059867", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김성혜"}
+{"composed": false, "fields": {"given": "栄二", "surname": "高田"}, "file": "Q3244756", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "高田栄二"}
+{"composed": false, "fields": {"given": "大介", "surname": "多田"}, "file": "Q3245427", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "多田大介"}
+{"composed": false, "fields": {"given": "কামাল", "surname": "হোসেন"}, "file": "Q327967", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "কামাল হোসেন"}
+{"composed": false, "fields": {"given": "Ранко", "surname": "Поповић"}, "file": "Q3301248", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Ранко Поповић"}
+{"composed": false, "fields": {"given": "Стеван", "surname": "Хорват"}, "file": "Q330152", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Стеван Хорват"}
+{"composed": false, "fields": {"given": "Бошко", "surname": "Јанковић"}, "file": "Q332675", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бошко Јанковић"}
+{"composed": false, "fields": {"given": "আকরাম", "surname": "খান"}, "file": "Q3345604", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "আকরাম খান"}
+{"composed": false, "fields": {"given": "সুভাষ", "surname": "মুখোপাধ্যায়"}, "file": "Q3347955", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "সুভাষ মুখোপাধ্যায়"}
+{"composed": false, "fields": {"given": "সেলিনা", "surname": "হোসেন"}, "file": "Q3348154", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "সেলিনা হোসেন"}
+{"composed": false, "fields": {"given": "Георги", "surname": "Богданов"}, "file": "Q3400984", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Георги Богданов"}
+{"composed": false, "fields": {"given": "יצחק", "surname": "רבין"}, "file": "Q34060", "label": "he-il", "order": "givenFirst", "shape": null, "text": "יצחק רבין"}
+{"composed": false, "fields": {"given": "경림", "surname": "신"}, "file": "Q3482149", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "신경림"}
+{"composed": false, "fields": {"given": "Николай", "surname": "Михайлов"}, "file": "Q350412", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Николай Михайлов"}
+{"composed": false, "fields": {"given": "रोहित", "surname": "शर्मा"}, "file": "Q3520045", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "रोहित शर्मा"}
+{"composed": false, "fields": {"given": "Վահագն", "surname": "Խաչատրյան"}, "file": "Q3553274", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Վահագն Խաչատրյան"}
+{"composed": false, "fields": {"given": "Σταύρος", "surname": "Κουγιουμτζής"}, "file": "Q3567196", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Σταύρος Κουγιουμτζής"}
+{"composed": false, "fields": {"given": "عدنان", "surname": "خاشقجي"}, "file": "Q359381", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عدنان خاشقجي"}
+{"composed": false, "fields": {"given": "জিমি", "surname": "জর্জ"}, "file": "Q3595581", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "জিমি জর্জ"}
+{"composed": false, "fields": {"given": "সুজাতা", "surname": "মহাপাত্র"}, "file": "Q3595802", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "সুজাতা মহাপাত্র"}
+{"composed": false, "fields": {"given": "기현", "surname": "설"}, "file": "Q359789", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "설기현"}
+{"composed": false, "fields": {"given": "عبد اللطيف", "surname": "عبد الحميد"}, "file": "Q3603413", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد اللطيف عبد الحميد"}
+{"composed": false, "fields": {"given": "暉", "surname": "謝"}, "file": "Q360402", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "謝暉"}
+{"composed": false, "fields": {"given": "عزتالله", "surname": "انتظامی"}, "file": "Q360665", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "عزتالله انتظامی"}
+{"composed": false, "fields": {"given": "Анђелија", "surname": "Арбутина"}, "file": "Q3620534", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Анђелија Арбутина"}
+{"composed": false, "fields": {"given": "Ιωάννης", "surname": "Παπαϊωάννου"}, "file": "Q3657177", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Ιωάννης Παπαϊωάννου"}
+{"composed": false, "fields": {"given": "효순", "surname": "신"}, "file": "Q36967357", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "신효순"}
+{"composed": false, "fields": {"given": "Ռոբերտ", "surname": "Արզումանյան"}, "file": "Q373390", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ռոբերտ Արզումանյան"}
+{"composed": false, "fields": {"given": "زكية", "surname": "إبراهيم"}, "file": "Q37530921", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "زكية إبراهيم"}
+{"composed": false, "fields": {"given": "דוד", "surname": "בן־גוריון"}, "file": "Q37610", "label": "he-il", "order": "givenFirst", "shape": null, "text": "דוד בן־גוריון"}
+{"composed": false, "fields": {"given": "दुर्गाबाई", "surname": "देशमुख"}, "file": "Q3763917", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "दुर्गाबाई देशमुख"}
+{"composed": false, "fields": {"given": "علیاکبر", "surname": "حیدری"}, "file": "Q377334", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "علیاکبر حیدری"}
+{"composed": false, "fields": {"given": "龍馬", "surname": "坂本"}, "file": "Q378450", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "坂本 龍馬"}
+{"composed": false, "fields": {"given": "景綱", "surname": "柴山"}, "file": "Q37878853", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "柴山景綱"}
+{"composed": false, "fields": {"given": "Јован", "surname": "Шајновић"}, "file": "Q3810649", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Јован Шајновић"}
+{"composed": false, "fields": {"given": "أكرم", "surname": "عجة"}, "file": "Q381574", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أكرم عجة"}
+{"composed": false, "fields": {"given": "Петко", "surname": "Петков"}, "file": "Q382172", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Петко Петков"}
+{"composed": false, "fields": {"given": "Τάκης", "surname": "Κανελλόπουλος"}, "file": "Q384122", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Τάκης Κανελλόπουλος"}
+{"composed": false, "fields": {"given": "영수", "surname": "육"}, "file": "Q390099", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "육영수"}
+{"composed": false, "fields": {"given": "楠", "surname": "华"}, "file": "Q39040747", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "华楠"}
+{"composed": false, "fields": {"given": "Велко", "surname": "Дачев"}, "file": "Q39357276", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Велко Дачев"}
+{"composed": false, "fields": {"given": "محمود", "surname": "جركس"}, "file": "Q39524743", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمود جركس"}
+{"composed": false, "fields": {"given": "Страхил", "surname": "Попов"}, "file": "Q3975764", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Страхил Попов"}
+{"composed": false, "fields": {"given": "婷", "surname": "陳"}, "file": "Q3991527", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "陳婷"}
+{"composed": false, "fields": {"given": "مصطفى", "surname": "خليل"}, "file": "Q403740", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "مصطفى خليل"}
+{"composed": false, "fields": {"given": "Միքայել", "surname": "Հարությունյան"}, "file": "Q4070523", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Միքայել Հարությունյան"}
+{"composed": false, "fields": {"given": "حاتم", "surname": "علي"}, "file": "Q4119326", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حاتم علي"}
+{"composed": false, "fields": {"given": "هشام", "surname": "حافظ"}, "file": "Q4119921", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "هشام حافظ"}
+{"composed": false, "fields": {"given": "დავით", "surname": "ბააზოვი"}, "file": "Q4128091", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "დავით ბააზოვი"}
+{"composed": false, "fields": {"given": "Ана", "surname": "Дабовић"}, "file": "Q4153527", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Ана Дабовић"}
+{"composed": false, "fields": {"given": "سميرة", "surname": "خاشقجي"}, "file": "Q4164708", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "سميرة خاشقجي"}
+{"composed": false, "fields": {"given": "هشام", "surname": "سليم"}, "file": "Q4165425", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "هشام سليم"}
+{"composed": false, "fields": {"given": "Камен", "surname": "Петков"}, "file": "Q41789800", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Камен Петков"}
+{"composed": false, "fields": {"given": "অনিল", "surname": "দে"}, "file": "Q41790847", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অনিল দে"}
+{"composed": false, "fields": {"given": "Հայկ", "surname": "Ղազարյան"}, "file": "Q4208031", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Հայկ Ղազարյան"}
+{"composed": false, "fields": {"given": "Әбіш", "surname": "Кекілбайұлы"}, "file": "Q4219024", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Әбіш Кекілбайұлы"}
+{"composed": false, "fields": {"given": "Христо", "surname": "Койчев"}, "file": "Q4227223", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Христо Койчев"}
+{"composed": false, "fields": {"given": "賢斗", "surname": "桃田"}, "file": "Q422959", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "桃田賢斗"}
+{"composed": false, "fields": {"given": "กุลวุฒิ", "surname": "วิทิตศานต์"}, "file": "Q42306393", "label": "th-th", "order": "givenFirst", "shape": null, "text": "กุลวุฒิ วิทิตศานต์"}
+{"composed": false, "fields": {"given": "Дмитро", "patronymic": "Олександрович", "surname": "Корчинський"}, "file": "Q4234503", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Дмитро Олександрович Корчинський"}
+{"composed": false, "fields": {"given": "Արամ", "surname": "Քոչարյան"}, "file": "Q4236635", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արամ Քոչարյան"}
+{"composed": false, "fields": {"given": "Αλέξανδρος", "surname": "Παπαδημητρίου"}, "file": "Q426030", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αλέξανδρος Παπαδημητρίου"}
+{"composed": false, "fields": {"given": "Святослав", "patronymic": "Ігорович", "surname": "Луньов"}, "file": "Q4269586", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Луньов Святослав Ігорович"}
+{"composed": false, "fields": {"given": "Володимир", "surname": "Максименко"}, "file": "Q4276114", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Володимир Максименко"}
+{"composed": false, "fields": {"given": "Էդուարդ", "surname": "Մնացականյան"}, "file": "Q4298775", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Էդուարդ Մնացականյան"}
+{"composed": false, "fields": {"given": "Олександр", "surname": "Музичко"}, "file": "Q4306709", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Олександр Музичко"}
+{"composed": false, "fields": {"given": "민호", "surname": "도"}, "file": "Q43088843", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "도민호"}
+{"composed": false, "fields": {"given": "유빈", "surname": "이"}, "file": "Q43142694", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이유빈"}
+{"composed": false, "fields": {"given": "রাণী", "surname": "হামিদ"}, "file": "Q432748", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "রাণী হামিদ"}
+{"composed": false, "fields": {"given": "Герман", "surname": "Германов"}, "file": "Q43358517", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Герман Германов"}
+{"composed": false, "fields": {"given": "جورج", "surname": "ميشيل"}, "file": "Q43380826", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جورج ميشيل"}
+{"composed": false, "fields": {"given": "Андрій", "patronymic": "Володимирович", "surname": "Портнов"}, "file": "Q4373277", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Андрій Володимирович Портнов"}
+{"composed": false, "fields": {"given": "ნიკოლოზ", "surname": "სანიშვილი"}, "file": "Q4407618", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ნიკოლოზ სანიშვილი"}
+{"composed": false, "fields": {"given": "Արամ", "surname": "Սարգսյան"}, "file": "Q4408661", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արամ Սարգսյան"}
+{"composed": false, "fields": {"given": "Григорій", "patronymic": "Кузьмич", "surname": "Середа"}, "file": "Q4417458", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Середа Григорій Кузьмич"}
+{"composed": false, "fields": {"given": "ლევან", "surname": "ყენია"}, "file": "Q442746", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლევან ყენია"}
+{"composed": false, "fields": {"given": "Станіслав", "surname": "Станкевич"}, "file": "Q4439452", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Станіслав Станкевич"}
+{"composed": false, "fields": {"given": "Небојша", "surname": "Стефановић"}, "file": "Q4442477", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Небојша Стефановић"}
+{"composed": false, "fields": {"given": "丹", "surname": "郭"}, "file": "Q445244", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "郭丹"}
+{"composed": false, "fields": {"given": "منال", "surname": "الشريف"}, "file": "Q445754", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "منال الشريف"}
+{"composed": false, "fields": {"given": "ทรัพย์สิรี", "surname": "แต้รัตนชัย"}, "file": "Q448045", "label": "th-th", "order": "givenFirst", "shape": null, "text": "ทรัพย์สิรี แต้รัตนชัย"}
+{"composed": false, "fields": {"given": "გივი", "surname": "წულაია"}, "file": "Q4506156", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გივი წულაია"}
+{"composed": false, "fields": {"given": "ლეო", "surname": "შერვაშიძე"}, "file": "Q4523035", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლეო შერვაშიძე"}
+{"composed": false, "fields": {"given": "Неда", "surname": "Украден"}, "file": "Q453228", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Неда Украден"}
+{"composed": false, "fields": {"given": "Սերգեյ", "surname": "Մովսեսյան"}, "file": "Q460020", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սերգեյ Մովսեսյան"}
+{"composed": false, "fields": {"given": "Հայկ", "surname": "Հակոբյան"}, "file": "Q460071", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Հայկ Հակոբյան"}
+{"composed": false, "fields": {"given": "相蓉", "surname": "刘"}, "file": "Q460899", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "刘相蓉"}
+{"composed": false, "fields": {"given": "Δημήτριος", "surname": "Ιωαννίδης"}, "file": "Q460912", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Δημήτριος Ιωαννίδης"}
+{"composed": false, "fields": {"given": "Владимир", "surname": "Седов"}, "file": "Q461051", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Владимир Седов"}
+{"composed": false, "fields": {"given": "红", "surname": "韩"}, "file": "Q463835", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "韩红"}
+{"composed": false, "fields": {"given": "মনিকা", "surname": "আলী"}, "file": "Q464960", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "মনিকা আলী"}
+{"composed": false, "fields": {"given": "অনুষ্কা", "surname": "শর্মা"}, "file": "Q465815", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অনুষ্কা শর্মা"}
+{"composed": false, "fields": {"given": "عباس", "surname": "شفیعی"}, "file": "Q4663791", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "عباس شفیعی"}
+{"composed": false, "fields": {"given": "Անի", "surname": "Խաչիկյան"}, "file": "Q467299", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Անի Խաչիկյան"}
+{"composed": false, "fields": {"given": "অজিত", "surname": "রায়"}, "file": "Q4699800", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "অজিত রায়"}
+{"composed": false, "fields": {"given": "旺", "surname": "刘"}, "file": "Q470059", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "刘旺"}
+{"composed": false, "fields": {"given": "旭", "surname": "藤井"}, "file": "Q4701131", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "藤井旭"}
+{"composed": false, "fields": {"given": "Александар", "surname": "Пантић"}, "file": "Q4714843", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Александар Пантић"}
+{"composed": false, "fields": {"given": "علیرضا", "surname": "بیرانوند"}, "file": "Q4726869", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "علیرضا بیرانوند"}
+{"composed": false, "fields": {"given": "晓桐", "surname": "崔"}, "file": "Q47462831", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "崔晓桐"}
+{"composed": false, "fields": {"given": "अंजलि", "surname": "देवी"}, "file": "Q4765733", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "अंजलि देवी"}
+{"composed": false, "fields": {"given": "अंजलि", "surname": "शर्मा"}, "file": "Q4765744", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "अंजलि शर्मा"}
+{"composed": false, "fields": {"given": "婉婷", "surname": "刘"}, "file": "Q4801752", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "刘婉婷"}
+{"composed": false, "fields": {"given": "অরুণ", "surname": "মিত্র"}, "file": "Q4802120", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "অরুণ মিত্র"}
+{"composed": false, "fields": {"given": "Константин", "surname": "Аврамов"}, "file": "Q48347979", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Константин Аврамов"}
+{"composed": false, "fields": {"given": "태현", "surname": "차"}, "file": "Q483704", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "차태현"}
+{"composed": false, "fields": {"given": "მერაბ", "surname": "დვალიშვილი"}, "file": "Q48471377", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "მერაბ დვალიშვილი"}
+{"composed": false, "fields": {"given": "효희", "surname": "장"}, "file": "Q485293", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "장효희"}
+{"composed": false, "fields": {"given": "병득", "surname": "조"}, "file": "Q485833", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "조병득"}
+{"composed": false, "fields": {"given": "시후", "surname": "박"}, "file": "Q486158", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박시후"}
+{"composed": false, "fields": {"given": "ברוך", "surname": "מודן"}, "file": "Q4865865", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ברוך מודן"}
+{"composed": false, "fields": {"given": "효영", "surname": "류"}, "file": "Q486594", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "류효영"}
+{"composed": false, "fields": {"given": "순철", "surname": "한"}, "file": "Q486987", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "한순철"}
+{"composed": false, "fields": {"given": "요시히로", "surname": "아키야마"}, "file": "Q487335", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "아키야마 요시히로"}
+{"composed": false, "fields": {"given": "정은", "surname": "김"}, "file": "Q489001", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김정은"}
+{"composed": false, "fields": {"given": "Бисерка", "surname": "Цвејић"}, "file": "Q4917296", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бисерка Цвејић"}
+{"composed": false, "fields": {"given": "מישאל", "surname": "חשין"}, "file": "Q4920714", "label": "he-il", "order": "givenFirst", "shape": null, "text": "מישאל חשין"}
+{"composed": false, "fields": {"given": "진영", "surname": "박"}, "file": "Q492313", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박진영"}
+{"composed": false, "fields": {"given": "정은", "surname": "임"}, "file": "Q493257", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "임정은"}
+{"composed": false, "fields": {"given": "대남", "surname": "송"}, "file": "Q493875", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "송대남"}
+{"composed": false, "fields": {"given": "기영", "surname": "김"}, "file": "Q494258", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김기영"}
+{"composed": false, "fields": {"given": "필모", "surname": "이"}, "file": "Q494987", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이필모"}
+{"composed": false, "fields": {"given": "소연", "surname": "이"}, "file": "Q496370", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이소연"}
+{"composed": false, "fields": {"given": "소은", "surname": "김"}, "file": "Q496433", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김소은"}
+{"composed": false, "fields": {"given": "Драган", "surname": "Томић"}, "file": "Q506587", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Драган Томић"}
+{"composed": false, "fields": {"given": "Նունե", "surname": "Սարգսյան"}, "file": "Q50818130", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Նունե Սարգսյան"}
+{"composed": false, "fields": {"given": "אריק", "surname": "איינשטיין"}, "file": "Q509660", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אריק איינשטיין"}
+{"composed": false, "fields": {"given": "세희", "surname": "조"}, "file": "Q5103384", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "조세희"}
+{"composed": false, "fields": {"given": "บุศนันทน์", "surname": "อึ๊งบำรุงพันธุ์"}, "file": "Q510884", "label": "th-th", "order": "givenFirst", "shape": null, "text": "บุศนันทน์ อึ๊งบำรุงพันธุ์"}
+{"composed": false, "fields": {"given": "悦", "surname": "孙"}, "file": "Q514117", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "孙悦"}
+{"composed": false, "fields": {"given": "Євгенія", "surname": "Казбекова"}, "file": "Q51712036", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Євгенія Казбекова"}
+{"composed": false, "fields": {"given": "Дејан", "surname": "Миловановић"}, "file": "Q517302", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Дејан Миловановић"}
+{"composed": false, "fields": {"given": "حمدان", "surname": "شلبي"}, "file": "Q51843930", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "حمدان شلبي"}
+{"composed": false, "fields": {"given": "Նորայր", "surname": "Ասլանյան"}, "file": "Q518501", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Նորայր Ասլանյան"}
+{"composed": false, "fields": {"given": "Велизар", "surname": "Димитров"}, "file": "Q519280", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Велизар Димитров"}
+{"composed": false, "fields": {"given": "พรทิพย์", "surname": "บูรณะประเสริฐสุข"}, "file": "Q524232", "label": "th-th", "order": "givenFirst", "shape": null, "text": "พรทิพย์ บูรณะประเสริฐสุข"}
+{"composed": false, "fields": {"given": "দেবী", "surname": "শর্মা"}, "file": "Q5266964", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "দেবী শর্মা"}
+{"composed": false, "fields": {"given": "Димитрије", "surname": "Нешић"}, "file": "Q5277558", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Димитрије Нешић"}
+{"composed": false, "fields": {"given": "Ангел", "surname": "Кънчев"}, "file": "Q531739", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Ангел Кънчев"}
+{"composed": false, "fields": {"given": "أنطونيوس", "surname": "نجيب"}, "file": "Q532882", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "أنطونيوس نجيب"}
+{"composed": false, "fields": {"given": "خالد", "surname": "عزيز"}, "file": "Q533525", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "خالد عزيز"}
+{"composed": false, "fields": {"given": "প্রকাশ", "surname": "মেহরা"}, "file": "Q535404", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "প্রকাশ মেহরা"}
+{"composed": false, "fields": {"given": "지수", "surname": "김"}, "file": "Q53764925", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김지수"}
+{"composed": false, "fields": {"given": "عبد العزيز", "surname": "الربيعي"}, "file": "Q54875231", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد العزيز الربيعي"}
+{"composed": false, "fields": {"given": "Валерій", "surname": "Залужний"}, "file": "Q54964679", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Валерій Залужний"}
+{"composed": false, "fields": {"given": "성숙", "surname": "한"}, "file": "Q55082182", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "한성숙"}
+{"composed": false, "fields": {"given": "Галина", "surname": "Савова"}, "file": "Q5518683", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Галина Савова"}
+{"composed": false, "fields": {"given": "貞昌", "surname": "蘇"}, "file": "Q551904", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "蘇貞昌"}
+{"composed": false, "fields": {"given": "सौंदर्या", "surname": "शर्मा"}, "file": "Q55231409", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "सौंदर्या शर्मा"}
+{"composed": false, "fields": {"given": "אהרן", "surname": "הלוי"}, "file": "Q55293464", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אהרן הלוי"}
+{"composed": false, "fields": {"given": "جمال", "surname": "محمد"}, "file": "Q55389628", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جمال محمد"}
+{"composed": false, "fields": {"given": "جورج", "surname": "إسحاق"}, "file": "Q5540966", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "جورج إسحاق"}
+{"composed": false, "fields": {"given": "محمدتقی", "surname": "شریعتی"}, "file": "Q5555662", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمدتقی شریعتی"}
+{"composed": false, "fields": {"given": "გიორგი", "surname": "ბაგრატიონი"}, "file": "Q5563405", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიორგი ბაგრატიონი"}
+{"composed": false, "fields": {"given": "მუხრან", "surname": "ვახტანგაძე"}, "file": "Q556656", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "მუხრან ვახტანგაძე"}
+{"composed": false, "fields": {"given": "지현", "surname": "박"}, "file": "Q55730087", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박지현"}
+{"composed": false, "fields": {"given": "도현", "surname": "신"}, "file": "Q55731330", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "신도현"}
+{"composed": false, "fields": {"given": "남표", "surname": "홍"}, "file": "Q55736063", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "홍남표"}
+{"composed": false, "fields": {"given": "উদয়", "surname": "চোপড়া"}, "file": "Q560094", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "উদয় চোপড়া"}
+{"composed": false, "fields": {"given": "만희", "surname": "이"}, "file": "Q562322", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이만희"}
+{"composed": false, "fields": {"given": "Νικόλαος", "surname": "Τρικούπης"}, "file": "Q563117", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νικόλαος Τρικούπης"}
+{"composed": false, "fields": {"given": "سیروس", "surname": "قهرمانی"}, "file": "Q56364577", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "سیروس قهرمانی"}
+{"composed": false, "fields": {"given": "حليم", "surname": "بركات"}, "file": "Q5642325", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "حليم بركات"}
+{"composed": false, "fields": {"given": "원영", "surname": "장"}, "file": "Q56476186", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "장원영"}
+{"composed": false, "fields": {"given": "혜원", "surname": "강"}, "file": "Q56506824", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "강혜원"}
+{"composed": false, "fields": {"given": "翰", "surname": "张"}, "file": "Q5650855", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "张翰"}
+{"composed": false, "fields": {"given": "Денис", "surname": "Попов"}, "file": "Q56524763", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Денис Попов"}
+{"composed": false, "fields": {"given": "정은", "surname": "김"}, "file": "Q56816418", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김정은"}
+{"composed": false, "fields": {"given": "محمود", "surname": "فروغی"}, "file": "Q5685124", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمود فروغی"}
+{"composed": false, "fields": {"given": "احمد", "surname": "گلشیری"}, "file": "Q5722569", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "احمد گلشیری"}
+{"composed": false, "fields": {"given": "诗沣", "surname": "李"}, "file": "Q57273226", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "李诗沣"}
+{"composed": false, "fields": {"given": "Αντώνης", "surname": "Σαμαράς"}, "file": "Q57806", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αντώνης Σαμαράς"}
+{"composed": false, "fields": {"given": "Αντίοχος", "surname": "Ευαγγελάτος"}, "file": "Q579624", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αντίοχος Ευαγγελάτος"}
+{"composed": false, "fields": {"given": "عبد الله", "surname": "الحقيل"}, "file": "Q58117337", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عبد الله الحقيل"}
+{"composed": false, "fields": {"given": "동권", "surname": "정"}, "file": "Q58476446", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "정동권"}
+{"composed": false, "fields": {"given": "明", "surname": "姚"}, "file": "Q58590", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "姚明"}
+{"composed": false, "fields": {"given": "حسین", "surname": "حسینی"}, "file": "Q5865783", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "حسین حسینی"}
+{"composed": false, "fields": {"given": "萍", "surname": "夏"}, "file": "Q589739", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "夏萍"}
+{"composed": false, "fields": {"given": "ফারহান", "surname": "আখতার"}, "file": "Q590853", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "ফারহান আখতার"}
+{"composed": false, "fields": {"given": "جلال", "surname": "همتی"}, "file": "Q5920016", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "جلال همتی"}
+{"composed": false, "fields": {"given": "পুরুষোত্তম", "surname": "লাল"}, "file": "Q5932306", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "পুরুষোত্তম লাল"}
+{"composed": false, "fields": {"given": "ლევან", "surname": "კაჭარავა"}, "file": "Q59348487", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლევან კაჭარავა"}
+{"composed": false, "fields": {"given": "پردیس", "surname": "افکاری"}, "file": "Q5936609", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "پردیس افکاری"}
+{"composed": false, "fields": {"given": "عباس", "surname": "کریمی"}, "file": "Q5955168", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "عباس کریمی"}
+{"composed": false, "fields": {"given": "სოსო", "surname": "ლიპარტელიანი"}, "file": "Q5959714", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "სოსო ლიპარტელიანი"}
+{"composed": false, "fields": {"given": "حسن", "surname": "دانشفر"}, "file": "Q5960213", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "حسن دانشفر"}
+{"composed": false, "fields": {"given": "محمدعلی", "surname": "حفیظی"}, "file": "Q5960923", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمدعلی حفیظی"}
+{"composed": false, "fields": {"given": "旭", "surname": "韩"}, "file": "Q59828188", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "韩旭"}
+{"composed": false, "fields": {"given": "رامي", "surname": "مخلوف"}, "file": "Q599233", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "رامي مخلوف"}
+{"composed": false, "fields": {"given": "Стоян", "surname": "Мурин"}, "file": "Q60155437", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Стоян Мурин"}
+{"composed": false, "fields": {"given": "محمد", "surname": "سليمان"}, "file": "Q60578283", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "محمد سليمان"}
+{"composed": false, "fields": {"given": "Μάνος", "surname": "Σταλάκης"}, "file": "Q60583087", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Μάνος Σταλάκης"}
+{"composed": false, "fields": {"given": "रवि", "surname": "राय"}, "file": "Q6064863", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "रवि राय"}
+{"composed": false, "fields": {"given": "상철", "surname": "김"}, "file": "Q60694327", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김상철"}
+{"composed": false, "fields": {"given": "Ντόρα", "surname": "Λελούδα"}, "file": "Q60752013", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Ντόρα Λελούδα"}
+{"composed": false, "fields": {"given": "আইভি", "surname": "রহমান"}, "file": "Q6099929", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "আইভি রহমান"}
+{"composed": false, "fields": {"given": "Стефка", "surname": "Георгиева"}, "file": "Q61315430", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Стефка Георгиева"}
+{"composed": false, "fields": {"given": "克強", "surname": "葉"}, "file": "Q6145892", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "葉克強"}
+{"composed": false, "fields": {"given": "文彦", "surname": "東郷"}, "file": "Q6147652", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "東郷文彦"}
+{"composed": false, "fields": {"given": "غسان", "surname": "جبري"}, "file": "Q61740872", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "غسان جبري"}
+{"composed": false, "fields": {"given": "ხვიჩა", "surname": "კვარაცხელია"}, "file": "Q61780902", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ხვიჩა კვარაცხელია"}
+{"composed": false, "fields": {"given": "رنا", "surname": "أحمد"}, "file": "Q61885794", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "رنا أحمد"}
+{"composed": false, "fields": {"given": "Դերենիկ", "surname": "Սաֆարյան"}, "file": "Q61985947", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Դերենիկ Սաֆարյան"}
+{"composed": false, "fields": {"given": "Θανάσης", "surname": "Παπαδόπουλος"}, "file": "Q61992018", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Θανάσης Παπαδόπουλος"}
+{"composed": false, "fields": {"given": "کیوان", "surname": "وحدانی"}, "file": "Q62116767", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "کیوان وحدانی"}
+{"composed": false, "fields": {"given": "Αγγελική", "surname": "Ελευθερίου"}, "file": "Q62121126", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Αγγελική Ελευθερίου"}
+{"composed": false, "fields": {"given": "현주", "surname": "손"}, "file": "Q624683", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "손현주"}
+{"composed": false, "fields": {"given": "상득", "surname": "이"}, "file": "Q625487", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이상득"}
+{"composed": false, "fields": {"given": "옥진", "surname": "공"}, "file": "Q626819", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "공옥진"}
+{"composed": false, "fields": {"given": "Леонід", "patronymic": "Данилович", "surname": "Кучма"}, "file": "Q629702", "label": "uk-ua", "order": "surnameFirst", "shape": 4, "text": "Кучма Леонід Данилович"}
+{"composed": false, "fields": {"given": "ირაკლი", "surname": "მწითური"}, "file": "Q63089630", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ირაკლი მწითური"}
+{"composed": false, "fields": {"given": "Գառնիկ", "surname": "Հովհաննիսյան"}, "file": "Q63213360", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Գառնիկ Հովհաննիսյան"}
+{"composed": false, "fields": {"given": "Ольга", "surname": "Рыпакова"}, "file": "Q6338", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Ольга Рыпакова"}
+{"composed": false, "fields": {"given": "Христо", "surname": "Бончев"}, "file": "Q63448778", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Христо Бончев"}
+{"composed": false, "fields": {"given": "지성", "surname": "한"}, "file": "Q63997686", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "한지성"}
+{"composed": false, "fields": {"given": "한민", "surname": "김"}, "file": "Q6408704", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김한민"}
+{"composed": false, "fields": {"given": "요한", "surname": "고"}, "file": "Q6424182", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "고요한"}
+{"composed": false, "fields": {"given": "রবিন", "surname": "ঘোষ"}, "file": "Q6435638", "label": "bn-bd", "order": "givenFirst", "shape": null, "text": "রবিন ঘোষ"}
+{"composed": false, "fields": {"given": "محمد", "surname": "البغدادي"}, "file": "Q64744436", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمد البغدادي"}
+{"composed": false, "fields": {"given": "תומר", "surname": "שחורי"}, "file": "Q65031190", "label": "he-il", "order": "givenFirst", "shape": null, "text": "תומר שחורי"}
+{"composed": false, "fields": {"given": "Андрій", "patronymic": "Володимирович", "surname": "Бондар"}, "file": "Q651264", "label": "uk-ua", "order": "givenFirst", "shape": null, "text": "Андрій Володимирович Бондар"}
+{"composed": false, "fields": {"given": "보나", "surname": "이"}, "file": "Q6513102", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "이보나"}
+{"composed": false, "fields": {"given": "თეიმურაზ", "surname": "გორდელაძე"}, "file": "Q65284773", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "თეიმურაზ გორდელაძე"}
+{"composed": false, "fields": {"given": "آمال", "surname": "فهمي"}, "file": "Q6536650", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "آمال فهمي"}
+{"composed": false, "fields": {"given": "博", "surname": "李"}, "file": "Q6538654", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "李博"}
+{"composed": false, "fields": {"given": "翔", "surname": "李"}, "file": "Q6539157", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "李翔"}
+{"composed": false, "fields": {"given": "محمدعلی", "surname": "ییلاقی اشرفی"}, "file": "Q65548699", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "محمدعلی ییلاقی اشرفی"}
+{"composed": false, "fields": {"given": "זאב", "surname": "מרגלית"}, "file": "Q6563391", "label": "he-il", "order": "givenFirst", "shape": null, "text": "זאב מרגלית"}
+{"composed": false, "fields": {"given": "מאיר", "surname": "ישראל"}, "file": "Q6572546", "label": "he-il", "order": "givenFirst", "shape": null, "text": "מאיר ישראל"}
+{"composed": false, "fields": {"given": "אבנר", "surname": "ברזני"}, "file": "Q6597500", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אבנר ברזני"}
+{"composed": false, "fields": {"given": "גיא", "surname": "וסרדם"}, "file": "Q6643335", "label": "he-il", "order": "givenFirst", "shape": null, "text": "גיא וסרדם"}
+{"composed": false, "fields": {"given": "Сергей", "surname": "Каримов"}, "file": "Q664728", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Сергей Каримов"}
+{"composed": false, "fields": {"given": "לולה", "surname": "פולמן"}, "file": "Q6668818", "label": "he-il", "order": "givenFirst", "shape": null, "text": "לולה פולמן"}
+{"composed": false, "fields": {"given": "רחל", "surname": "שור"}, "file": "Q6702967", "label": "he-il", "order": "givenFirst", "shape": null, "text": "רחל שור"}
+{"composed": false, "fields": {"given": "誠", "surname": "北野"}, "file": "Q6739942", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "北野誠"}
+{"composed": false, "fields": {"given": "মনোজ", "surname": "মিত্র"}, "file": "Q6751180", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "মনোজ মিত্র"}
+{"composed": false, "fields": {"given": "אסתר", "surname": "אלכסנדר"}, "file": "Q6776510", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אסתר אלכסנדר"}
+{"composed": false, "fields": {"given": "ברוך", "surname": "אורן"}, "file": "Q6808832", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ברוך אורן"}
+{"composed": false, "fields": {"given": "아정", "surname": "윤"}, "file": "Q6814532", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "윤아정"}
+{"composed": false, "fields": {"given": "فتحي", "surname": "قورة"}, "file": "Q6823735", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "فتحي قورة"}
+{"composed": false, "fields": {"given": "أمجد", "surname": "الطرابلسي"}, "file": "Q6827466", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "أمجد الطرابلسي"}
+{"composed": false, "fields": {"given": "মিমি", "surname": "চক্রবর্তী"}, "file": "Q6862116", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "মিমি চক্রবর্তী"}
+{"composed": false, "fields": {"given": "გია", "surname": "გულუა"}, "file": "Q68814638", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გია გულუა"}
+{"composed": false, "fields": {"given": "محمد", "surname": "دهمان"}, "file": "Q6893052", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "محمد دهمان"}
+{"composed": false, "fields": {"given": "אברהם", "surname": "מור"}, "file": "Q6976086", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אברהם מור"}
+{"composed": false, "fields": {"given": "ידידיה", "surname": "כהן"}, "file": "Q6986039", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ידידיה כהן"}
+{"composed": false, "fields": {"given": "לייב", "surname": "וייספיש"}, "file": "Q6993554", "label": "he-il", "order": "givenFirst", "shape": null, "text": "לייב וייספיש"}
+{"composed": false, "fields": {"given": "מנשה", "surname": "רז"}, "file": "Q6997275", "label": "he-il", "order": "givenFirst", "shape": null, "text": "מנשה רז"}
+{"composed": false, "fields": {"given": "韶涵", "surname": "張"}, "file": "Q702557", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "張韶涵"}
+{"composed": false, "fields": {"given": "Νικόλαος", "surname": "Κοντόπουλος"}, "file": "Q7036059", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νικόλαος Κοντόπουλος"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Γούναρης"}, "file": "Q7036608", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Γούναρης"}
+{"composed": false, "fields": {"given": "镇", "surname": "王"}, "file": "Q703861", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "王镇"}
+{"composed": false, "fields": {"given": "Ռոմեն", "surname": "Դավթյան"}, "file": "Q70429926", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ռոմեն Դավթյան"}
+{"composed": false, "fields": {"given": "חיים", "surname": "מולכו"}, "file": "Q7043178", "label": "he-il", "order": "givenFirst", "shape": null, "text": "חיים מולכו"}
+{"composed": false, "fields": {"given": "良一", "surname": "引地"}, "file": "Q70544716", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "引地良一"}
+{"composed": false, "fields": {"given": "רון", "surname": "פלר"}, "file": "Q7065151", "label": "he-il", "order": "givenFirst", "shape": null, "text": "רון פלר"}
+{"composed": false, "fields": {"given": "정숙", "surname": "오"}, "file": "Q7080586", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "오정숙"}
+{"composed": false, "fields": {"given": "Արթուր", "surname": "Բաղդասարյան"}, "file": "Q708540", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Արթուր Բաղդասարյան"}
+{"composed": false, "fields": {"given": "পঙ্কজ", "surname": "রায়"}, "file": "Q7131294", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "পঙ্কজ রায়"}
+{"composed": false, "fields": {"given": "민지", "surname": "박"}, "file": "Q7137905", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "박민지"}
+{"composed": false, "fields": {"given": "איתי", "surname": "שכטר"}, "file": "Q715963", "label": "he-il", "order": "givenFirst", "shape": null, "text": "איתי שכטר"}
+{"composed": false, "fields": {"given": "靜", "surname": "郭"}, "file": "Q716055", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "郭靜"}
+{"composed": false, "fields": {"given": "Вук", "surname": "Јеремић"}, "file": "Q722579", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Вук Јеремић"}
+{"composed": false, "fields": {"given": "Иван", "surname": "Радовановић"}, "file": "Q722916", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Иван Радовановић"}
+{"composed": false, "fields": {"given": "Νίκος", "surname": "Κούρκουλος"}, "file": "Q724724", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Νίκος Κούρκουλος"}
+{"composed": false, "fields": {"given": "ლევან", "surname": "გაჩეჩილაძე"}, "file": "Q728094", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ლევან გაჩეჩილაძე"}
+{"composed": false, "fields": {"given": "রেণুকা", "surname": "দাশগুপ্ত"}, "file": "Q7313582", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "রেণুকা দাশগুপ্ত"}
+{"composed": false, "fields": {"given": "يوسف", "surname": "إدريس"}, "file": "Q733393", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "يوسف إدريس"}
+{"composed": false, "fields": {"given": "حسن", "surname": "شحاتة"}, "file": "Q734006", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "حسن شحاتة"}
+{"composed": false, "fields": {"given": "Ռուբեն", "surname": "Վարդանյան"}, "file": "Q7376010", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Ռուբեն Վարդանյան"}
+{"composed": false, "fields": {"given": "Դավիթ", "surname": "Համբարձումյան"}, "file": "Q737852", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Դավիթ Համբարձումյան"}
+{"composed": false, "fields": {"given": "三郎", "surname": "亀井"}, "file": "Q7396492", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "亀井三郎"}
+{"composed": false, "fields": {"given": "صالح خالد", "surname": "الشهري"}, "file": "Q7403894", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "صالح خالد الشهري"}
+{"composed": false, "fields": {"given": "संजय", "surname": "ख़ान"}, "file": "Q7418443", "label": "hi-in", "order": "givenFirst", "shape": null, "text": "संजय ख़ान"}
+{"composed": false, "fields": {"given": "俊傑", "surname": "陳"}, "file": "Q75078779", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "陳俊傑"}
+{"composed": false, "fields": {"given": "Σταύρος", "surname": "Τσιώλης"}, "file": "Q7604867", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Σταύρος Τσιώλης"}
+{"composed": false, "fields": {"given": "Страшимир", "surname": "Димитров"}, "file": "Q7621704", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Страшимир Димитров"}
+{"composed": false, "fields": {"given": "সুবোধ", "surname": "সরকার"}, "file": "Q7631762", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "সুবোধ সরকার"}
+{"composed": false, "fields": {"given": "سلطان", "surname": "البرقان"}, "file": "Q7636629", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "سلطان البرقان"}
+{"composed": false, "fields": {"given": "Սուրեն", "surname": "Նազարյան"}, "file": "Q7645634", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Սուրեն Նազարյան"}
+{"composed": false, "fields": {"given": "Βασίλειος", "surname": "Ξυδάς"}, "file": "Q765694", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Βασίλειος Ξυδάς"}
+{"composed": false, "fields": {"given": "ريما", "surname": "الجفالي"}, "file": "Q76823843", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "ريما الجفالي"}
+{"composed": false, "fields": {"given": "Бобан", "surname": "Марковић"}, "file": "Q772645", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Бобан Марковић"}
+{"composed": false, "fields": {"given": "Александр", "surname": "Кучма"}, "file": "Q77450", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Александр Кучма"}
+{"composed": false, "fields": {"given": "بهيج", "surname": "الخطيب"}, "file": "Q780862", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "بهيج الخطيب"}
+{"composed": false, "fields": {"given": "Георги", "surname": "Георгиев"}, "file": "Q782926", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Георги Георгиев"}
+{"composed": false, "fields": {"given": "强", "surname": "文"}, "file": "Q7927961", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "文强"}
+{"composed": false, "fields": {"given": "إيهاب", "surname": "خورشيد"}, "file": "Q79351570", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "إيهاب خورشيد"}
+{"composed": false, "fields": {"given": "文正", "surname": "白"}, "file": "Q7976520", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "白文正"}
+{"composed": false, "fields": {"given": "بهمن", "surname": "جلالی"}, "file": "Q800254", "label": "fa-ir", "order": "givenFirst", "shape": null, "text": "بهمن جلالی"}
+{"composed": false, "fields": {"given": "Երվանդ", "surname": "Սուքիասյան"}, "file": "Q8052695", "label": "hy-am", "order": "givenFirst", "shape": null, "text": "Երվանդ Սուքիասյան"}
+{"composed": false, "fields": {"given": "ישעיהו", "surname": "פרס"}, "file": "Q8052802", "label": "he-il", "order": "givenFirst", "shape": null, "text": "ישעיהו פרס"}
+{"composed": false, "fields": {"given": "يوسف", "surname": "السالم"}, "file": "Q8059032", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "يوسف السالم"}
+{"composed": false, "fields": {"given": "ზაალ", "surname": "სამადაშვილი"}, "file": "Q8063398", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "ზაალ სამადაშვილი"}
+{"composed": false, "fields": {"given": "爽", "surname": "郑"}, "file": "Q8070736", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "郑爽"}
+{"composed": false, "fields": {"given": "旭", "surname": "朱"}, "file": "Q8071157", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "朱旭"}
+{"composed": false, "fields": {"given": "צבי", "surname": "ארד"}, "file": "Q8075532", "label": "he-il", "order": "givenFirst", "shape": null, "text": "צבי ארד"}
+{"composed": false, "fields": {"given": "אלישע", "surname": "פורת"}, "file": "Q8195632", "label": "he-il", "order": "givenFirst", "shape": null, "text": "אלישע פורת"}
+{"composed": false, "fields": {"given": "孟緝", "surname": "彭"}, "file": "Q8275740", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "彭孟緝"}
+{"composed": false, "fields": {"given": "逸凡", "surname": "邓"}, "file": "Q8318748", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "邓逸凡"}
+{"composed": false, "fields": {"given": "洋", "surname": "汪"}, "file": "Q8321539", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "汪洋"}
+{"composed": false, "fields": {"given": "瑞", "surname": "張"}, "file": "Q8325220", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "張瑞"}
+{"composed": false, "fields": {"given": "忠左衛門", "surname": "端山"}, "file": "Q84463020", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "端山 忠左衛門"}
+{"composed": false, "fields": {"given": "عالي", "surname": "القرشي"}, "file": "Q85202166", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عالي القرشي"}
+{"composed": false, "fields": {"given": "דן", "surname": "מורי"}, "file": "Q862940", "label": "he-il", "order": "givenFirst", "shape": null, "text": "דן מורי"}
+{"composed": false, "fields": {"given": "নেহা", "surname": "শর্মা"}, "file": "Q863745", "label": "bn-in", "order": "givenFirst", "shape": null, "text": "নেহা শর্মা"}
+{"composed": false, "fields": {"given": "Παντελής", "surname": "Πετρακάκης"}, "file": "Q89191445", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Παντελής Πετρακάκης"}
+{"composed": false, "fields": {"given": "บุญศักดิ์", "surname": "พลสนะ"}, "file": "Q893081", "label": "th-th", "order": "givenFirst", "shape": null, "text": "บุญศักดิ์ พลสนะ"}
+{"composed": false, "fields": {"given": "Борис", "surname": "Галчев"}, "file": "Q893657", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Борис Галчев"}
+{"composed": false, "fields": {"given": "定國", "surname": "馮"}, "file": "Q8966024", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "馮定國"}
+{"composed": false, "fields": {"given": "炅", "surname": "何"}, "file": "Q8969884", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "何炅"}
+{"composed": false, "fields": {"given": "正中", "surname": "李"}, "file": "Q8995497", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "李正中"}
+{"composed": false, "fields": {"given": "鑫", "surname": "王"}, "file": "Q9066967", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "王鑫"}
+{"composed": false, "fields": {"given": "國華", "surname": "林"}, "file": "Q9183343", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "林國華"}
+{"composed": false, "fields": {"given": "Миодраг", "surname": "Павловић"}, "file": "Q929359", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Миодраг Павловић"}
+{"composed": false, "fields": {"given": "国强", "surname": "蔡"}, "file": "Q930462", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "蔡国强"}
+{"composed": false, "fields": {"given": "英", "surname": "胡"}, "file": "Q9329762", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "胡英"}
+{"composed": false, "fields": {"given": "عثمان", "surname": "آل حميد"}, "file": "Q93766497", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "عثمان آل حميد"}
+{"composed": false, "fields": {"given": "Βασίλης", "surname": "Χατζηπαναγής"}, "file": "Q943558", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Βασίλης Χατζηπαναγής"}
+{"composed": false, "fields": {"given": "שלמה", "surname": "תמיר"}, "file": "Q94536900", "label": "he-il", "order": "givenFirst", "shape": null, "text": "שלמה תמיר"}
+{"composed": false, "fields": {"given": "潤", "surname": "草刈"}, "file": "Q95163244", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "草刈潤"}
+{"composed": false, "fields": {"given": "عبد الأكرم", "surname": "السقَّا"}, "file": "Q95373668", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الأكرم السقَّا"}
+{"composed": false, "fields": {"given": "გიგა", "surname": "ჭიკაძე"}, "file": "Q95453345", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "გიგა ჭიკაძე"}
+{"composed": false, "fields": {"given": "智勇", "surname": "石"}, "file": "Q954851", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "石智勇"}
+{"composed": false, "fields": {"given": "מיכאל", "surname": "אלמוג"}, "file": "Q95994375", "label": "he-il", "order": "givenFirst", "shape": null, "text": "מיכאל אלמוג"}
+{"composed": false, "fields": {"given": "مُحمَّد علي", "surname": "محجوب"}, "file": "Q96099631", "label": "ar-eg", "order": "givenFirst", "shape": null, "text": "مُحمَّد علي محجوب"}
+{"composed": false, "fields": {"given": "Γιάννης", "surname": "Γκούμας"}, "file": "Q96146719", "label": "el-gr", "order": "givenFirst", "shape": null, "text": "Γιάννης Γκούμας"}
+{"composed": false, "fields": {"given": "성훈", "surname": "김"}, "file": "Q96742497", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "김성훈"}
+{"composed": false, "fields": {"given": "عبد الجبار", "surname": "الضحاك"}, "file": "Q96788805", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "عبد الجبار الضحاك"}
+{"composed": false, "fields": {"given": "秀樹", "surname": "前田"}, "file": "Q970696", "label": "ja-jp", "order": "surnameFirst", "shape": null, "text": "前田秀樹"}
+{"composed": false, "fields": {"given": "종덕", "surname": "최"}, "file": "Q97198853", "label": "ko-kr", "order": "surnameFirst", "shape": null, "text": "최종덕"}
+{"composed": false, "fields": {"given": "文清", "surname": "谢"}, "file": "Q97202579", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "谢文清"}
+{"composed": false, "fields": {"given": "პაატა", "surname": "კოღუაშვილი"}, "file": "Q97231535", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "პაატა კოღუაშვილი"}
+{"composed": false, "fields": {"given": "დავით", "surname": "გოცირიძე"}, "file": "Q97244061", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "დავით გოცირიძე"}
+{"composed": false, "fields": {"given": "由之", "surname": "唐"}, "file": "Q97300636", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "唐由之"}
+{"composed": false, "fields": {"given": "სერგო", "surname": "რიგვავა"}, "file": "Q97359916", "label": "ka-ge", "order": "givenFirst", "shape": null, "text": "სერგო რიგვავა"}
+{"composed": false, "fields": {"given": "俊賢", "surname": "李"}, "file": "Q97588844", "label": "zh-tw", "order": "surnameFirst", "shape": null, "text": "李俊賢"}
+{"composed": false, "fields": {"given": "Стоян", "surname": "Александров"}, "file": "Q977718", "label": "bg-bg", "order": "givenFirst", "shape": null, "text": "Стоян Александров"}
+{"composed": false, "fields": {"given": "Дәулет", "patronymic": "Болатұлы", "surname": "Тұрлыханов"}, "file": "Q981187", "label": "kk-kz", "order": "givenFirst", "shape": null, "text": "Дәулет Болатұлы Тұрлыханов"}
+{"composed": false, "fields": {"given": "משה", "surname": "מזור"}, "file": "Q98320452", "label": "he-il", "order": "givenFirst", "shape": null, "text": "משה מזור"}
+{"composed": false, "fields": {"given": "يوسف", "surname": "مكي"}, "file": "Q98362001", "label": "ar-sa", "order": "givenFirst", "shape": null, "text": "يوسف مكي"}
+{"composed": false, "fields": {"given": "Драгомир", "surname": "Милошевић"}, "file": "Q984195", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Драгомир Милошевић"}
+{"composed": false, "fields": {"given": "Коста", "surname": "Алексић"}, "file": "Q99315136", "label": "sr-rs", "order": "givenFirst", "shape": null, "text": "Коста Алексић"}
+{"composed": false, "fields": {"given": "نور الدين", "surname": "عتر"}, "file": "Q99540872", "label": "ar-sy", "order": "givenFirst", "shape": null, "text": "نور الدين عتر"}
+{"composed": false, "fields": {"given": "浩", "surname": "黄"}, "file": "Q99630410", "label": "zh-cn", "order": "surnameFirst", "shape": null, "text": "黄浩"}