import json
import pywikibot
import re
import requests
import time
from pywikibot import pagegenerators

wikidata_site = pywikibot.Site('wikidata', 'wikidata')
repo = wikidata_site.data_repository()

inputdata = {
    "Q2965317" : { "event" : "Q17623680" , "srid" : "gu/christian-guilbert-1" , "name" : "Christian Guilbert" },
    "Q2489422" : { "event" : "Q7371987" , "srid" : "de/guy-defraigne-1" , "name" : "Guy Defraigne" },
    "Q2489422" : { "event" : "Q22964415" , "srid" : "de/guy-defraigne-1" , "name" : "Guy Defraigne" },
    "Q27063374" : { "event" : "Q7371986" , "srid" : "li/david-lindstrom-1" , "name" : "David Lindstrom" },
    "Q27063268" : { "event" : "Q7371986" , "srid" : "ni/chris-nilsson-1" , "name" : "Chris Nilsson" },
    "Q21197093" : { "event" : "Q16536275" , "srid" : "ma/tibor-mamusich-1" , "name" : "Tibor Mamusich" },
    "Q3435516" : { "event" : "Q16536280" , "srid" : "ja/robert-jacquet-1" , "name" : "Robert Jacquet" },
    "Q21197126" : { "event" : "Q16536275" , "srid" : "gy/karoly-gyory-1" , "name" : "Károly Győry" },
    "Q2186235" : { "event" : "Q18661273" , "srid" : "op/jan-op-den-velde-1" , "name" : "Jan op den Velde" },
    "Q12262521" : { "event" : "Q18661272" , "srid" : "om/luis-omedes-2" , "name" : "Luis Omedes" },
    "Q11854122" : { "event" : "Q7371984" , "srid" : "me/bernard-meynadier-1" , "name" : "Bernard Meynadier" },
    "Q11854122" : { "event" : "Q22968933" , "srid" : "me/bernard-meynadier-1" , "name" : "Bernard Meynadier" },
    "Q23926244" : { "event" : "Q22968933" , "srid" : "mo/joseph-moroni-1" , "name" : "Joseph Moroni" },
    "Q23926244" : { "event" : "Q7371984" , "srid" : "mo/joseph-moroni-1" , "name" : "Joseph Moroni" },
    "Q23681741" : { "event" : "Q22968933" , "srid" : "vi/michel-viaud-1" , "name" : "Michel Viaud" },
    "Q23681741" : { "event" : "Q7371984" , "srid" : "vi/michel-viaud-1" , "name" : "Michel Viaud" },
    "Q13471286" : { "event" : "Q16536293" , "srid" : "ba/hotse-bartlema-1" , "name" : "Hotse Bartlema" },
    "Q11995504" : { "event" : "Q12580052" , "srid" : "pa/petros-pavlidis-1" , "name" : "Petros Pavlidis" },
    "Q2208367" : { "event" : "Q16536293" , "srid" : "ha/gerard-hallie-1" , "name" : "Gerard Hallie" },
    "Q1123754" : { "event" : "Q21282698" , "srid" : "ka/zoltan-kavay-1" , "name" : "Zoltán Kávay" },
    "Q12017175" : { "event" : "Q16536288" , "srid" : "ko/frantisek-kobzik-1" , "name" : "František Kobzík" },
    "Q789480" : { "event" : "Q16536288" , "srid" : "ba/hugo-ballya-1" , "name" : "Hugó Ballya" },
    "Q2379778" : { "event" : "Q16536298" , "srid" : "de/simon-de-wit-1" , "name" : "Simon de Wit" },
    "Q6097512" : { "event" : "Q7371998" , "srid" : "sm/ivan-smiljanic-1" , "name" : "Ivan Smiljanić" },
    "Q12262521" : { "event" : "Q1005316" , "srid" : "om/luis-omedes-2" , "name" : "Luis Omedes" },
    "Q607402" : { "event" : "Q22964426" , "srid" : "ur/ibon-urbieta-1" , "name" : "Ibon Urbieta" },
    "Q607402" : { "event" : "Q22964444" , "srid" : "ur/ibon-urbieta-1" , "name" : "Ibon Urbieta" },
    "Q11872274" : { "event" : "Q21666211" , "srid" : "an/eduard-antoch-1" , "name" : "Eduard Antoch" },
    "Q18237734" : { "event" : "Q22964430" , "srid" : "vy/valery-vyrvich-1" , "name" : "Valery Vyrvich" },
    "Q18242514" : { "event" : "Q22964430" , "srid" : "zu/igor-zuborenko-1" , "name" : "Igor Zuborenko" },
    "Q26328555" : { "event" : "Q3655559" , "srid" : "zu/juan-zunzunegui-1" , "name" : "Juan Zunzunegui" },
    "Q26328555" : { "event" : "Q7372002" , "srid" : "zu/juan-zunzunegui-1" , "name" : "Juan Zunzunegui" },
    "Q4055711" : { "event" : "Q22964424" , "srid" : "av/lidiya-averyanova-1" , "name" : "Lidiya Averyanova" },
    "Q12743534" : { "event" : "Q22964424" , "srid" : "il/viorica-ilica-1" , "name" : "Viorica Ilica" },
    "Q27074142" : { "event" : "Q22964398" , "srid" : "si/david-simmons-1" , "name" : "David Simmons" },
    "Q11699215" : { "event" : "Q547331" , "srid" : "va/gabriela-varekova-1" , "name" : "Gabriela Vařeková" },
    "Q11859901" : { "event" : "Q22964400" , "srid" : "ro/francisco-rodriguez-5" , "name" : "Francisco Rodríguez" },
    "Q2097256" : { "event" : "Q22964414" , "srid" : "va/steven-van-groningen-1" , "name" : "Steven van Groningen" },
    "Q24007500" : { "event" : "Q17623693" , "srid" : "pu/anthony-purssell-1" , "name" : "Anthony Purssell" },
    "Q12260834" : { "event" : "Q22964427" , "srid" : "ag/jose-luis-aguirre-1" , "name" : "José Luis Aguirre" },
    "Q12260681" : { "event" : "Q22964427" , "srid" : "se/jose-maria-segurola-1" , "name" : "José María Segurola" },
    "Q16669299" : { "event" : "Q22964426" , "srid" : "ku/sigitas-kucinskas-1" , "name" : "Sigitas Kučinskas" },
    "Q12252874" : { "event" : "Q22964426" , "srid" : "al/agustin-alarcon-1" , "name" : "Agustín Alarcón" },
    "Q21019603" : { "event" : "Q4059152" , "srid" : "do/milan-dolecek-1" , "name" : "Milan Doleček" },
    "Q21019603" : { "event" : "Q22964426" , "srid" : "do/milan-dolecek-1" , "name" : "Milan Doleček" },
    "Q12254807" : { "event" : "Q22964427" , "srid" : "al/bartolome-alarcon-1" , "name" : "Bartolomé Alarcón" },
    "Q12793104" : { "event" : "Q7371988" , "srid" : "po/jure-potocnik-1" , "name" : "Jure Potočnik" },
    "Q11902254" : { "event" : "Q7371988" , "srid" : "st/walter-steiner-1" , "name" : "Walter Steiner" },
    "Q18242391" : { "event" : "Q22964428" , "srid" : "ze/yury-zelikovich-1" , "name" : "Yury Zelikovich" },
    "Q4688615" : { "event" : "Q7371969" , "srid" : "gu/bert-gunther-1" , "name" : "Bert Gunther" },
    "Q16476571" : { "event" : "Q22964438" , "srid" : "la/violeta-lastakauskaite-1" , "name" : "Violeta Lastakauskaitė" },
    "Q11875217" : { "event" : "Q22964438" , "srid" : "le/lee-jae-nam-1" , "name" : "Lee Jae-Nam" },
    "Q23652677" : { "event" : "Q22964438" , "srid" : "sa/liene-sastapa-1" , "name" : "Liene Sastapa" },
    "Q5633732" : { "event" : "Q22964453" , "srid" : "da/hana-dariusova-1" , "name" : "Hana Dariusová" },
    "Q5633732" : { "event" : "Q22964439" , "srid" : "da/hana-dariusova-1" , "name" : "Hana Dariusová" },
    "Q16476566" : { "event" : "Q22964438" , "srid" : "be/violeta-bernotaite-1" , "name" : "Violeta Bernotaitė" },
    "Q28094832" : { "event" : "Q22964439" , "srid" : "fr/fiona-freckleton-1" , "name" : "Fiona Freckleton" },
    "Q5751143" : { "event" : "Q22964418" , "srid" : "ne/carlos-neyra-1" , "name" : "Carlos Neyra" },
    "Q2643689" : { "event" : "Q22964415" , "srid" : "de/william-defraigne-1" , "name" : "William Defraigne" },
    "Q2191462" : { "event" : "Q18127634" , "srid" : "re/lex-redele-1" , "name" : "Lex Redelé" },
    "Q20966668" : { "event" : "Q22964403" , "srid" : "fe/david-fellows-1" , "name" : "David Fellows" },
    "Q11869846" : { "event" : "Q22964403" , "srid" : "me/karel-mejta-jr-1" , "name" : "Karel Mejta, Jr." },
    "Q12257688" : { "event" : "Q3655558" , "srid" : "mi/eva-mirones-1" , "name" : "Eva Mirones" },
    "Q9147307" : { "event" : "Q9375319" , "srid" : "ro/alexandru-rotaru-1" , "name" : "Alexandru Rotaru" },
    "Q2940645" : { "event" : "Q22964432" , "srid" : "de/marie-jose-de-groot-1" , "name" : "Marie-José de Groot" },
    "Q5520461" : { "event" : "Q22964435" , "srid" : "me/anita-meiland-1" , "name" : "Anita Meiland" },
    "Q16548781" : { "event" : "Q1046530" , "srid" : "du/divie-duffield-1" , "name" : "Divie Duffield" },
    "Q27074050" : { "event" : "Q3655567" , "srid" : "sm/matt-smith-1" , "name" : "Matt Smith" },
    "Q18244446" : { "event" : "Q22964428" , "srid" : "kr/pavel-krupko-1" , "name" : "Pavel Krupko" },
    "Q2644071" : { "event" : "Q7371968" , "srid" : "hu/jan-huges-1" , "name" : "Jan Huges" },
    "Q16567918" : { "event" : "Q1186547" , "srid" : "fo/jose-formica-1" , "name" : "José Fórmica" },
    "Q3990228" : { "event" : "Q1185048" , "srid" : "la/theodor-laurezzari-1" , "name" : "Theodor Laurezzari" },
    "Q3610755" : { "event" : "Q1185048" , "srid" : "gl/alexander-gleichmann-von-oven-jr-1" , "name" : "Alexander Gleichmann von Oven, Jr." },
    "Q3624325" : { "event" : "Q1185048" , "srid" : "wa/arthur-warncke-1" , "name" : "Arthur Warncke" },
    "Q16567992" : { "event" : "Q1186547" , "srid" : "ca/juan-camps-1" , "name" : "Juan Camps" },
    "Q3719054" : { "event" : "Q1185048" , "srid" : "ka/edgar-katzenstein-1" , "name" : "Edgar Katzenstein" },
    "Q3732401" : { "event" : "Q1185048" , "srid" : "je/ernst-jencquel-1" , "name" : "Ernst Jencquel" },
    "Q16596231" : { "event" : "Q1186547" , "srid" : "ma/ricardo-margarit-1" , "name" : "Ricardo Margarit" },
    "Q17544378" : { "event" : "Q7371947" , "srid" : "ve/alcides-veira-1" , "name" : "Alcides Veira" },
    "Q3903443" : { "event" : "Q1186556" , "srid" : "fe/pierre-ferlin-1" , "name" : "Pierre Ferlin" },
    "Q3930676" : { "event" : "Q1186556" , "srid" : "be/raymond-benoit-1" , "name" : "Raymond Benoit" },
    "Q17362377" : { "event" : "Q7371947" , "srid" : "sa/abrahao-saliture-1" , "name" : "Abrahão Saliture" },
    "Q17544375" : { "event" : "Q7371947" , "srid" : "lo/guilherme-lorena-1" , "name" : "Guilherme Lorena" },
    "Q17544372" : { "event" : "Q7371947" , "srid" : "jo/joao-jorio-1" , "name" : "João Jório" },
    "Q17544371" : { "event" : "Q7371947" , "srid" : "fl/ernesto-flores-filho-1" , "name" : "Ernesto Flores Filho" },
    "Q18012806" : { "event" : "Q7371950" , "srid" : "vi/guillaume-visser-1" , "name" : "Guillaume Visser" },
    "Q18012806" : { "event" : "Q7371945" , "srid" : "vi/guillaume-visser-1" , "name" : "Guillaume Visser" },
    "Q2045604" : { "event" : "Q7371968" , "srid" : "ja/tjallie-james-1" , "name" : "Tjallie James" },
    "Q13134651" : { "event" : "Q7371968" , "srid" : "oo/appel-ooiman-1" , "name" : "Appel Ooiman" },
    "Q2088983" : { "event" : "Q7371968" , "srid" : "kr/hans-kruyt-1" , "name" : "Hans Kruyt" },
    "Q12260792" : { "event" : "Q22964446" , "srid" : "an/josu-andueza-1" , "name" : "Josu Andueza" },
    "Q21197059" : { "event" : "Q4059147" , "srid" : "wa/imre-wampetich-1" , "name" : "Imre Wampetich" },
    "Q1948441" : { "event" : "Q7371962" , "srid" : "cr/ted-cremer-1" , "name" : "Ted Cremer" },
    "Q21197035" : { "event" : "Q4059147" , "srid" : "ed/robert-eder-1" , "name" : "Róbert Éder" },
    "Q21196832" : { "event" : "Q4059147" , "srid" : "va/jeno-varady-1" , "name" : "Jenő Várady" },
    "Q21196743" : { "event" : "Q4059147" , "srid" : "ki/ferenc-kirchknopf-1" , "name" : "Ferenc Kirchknopf" },
    "Q2228111" : { "event" : "Q7371961" , "srid" : "pi/constant-pieterse-1" , "name" : "Constant Pieterse" },
    "Q2228111" : { "event" : "Q7371966" , "srid" : "pi/constant-pieterse-1" , "name" : "Constant Pieterse" },
    "Q13137677" : { "event" : "Q7371962" , "srid" : "ho/roelof-hommema-1" , "name" : "Roelof Hommema" },
    "Q21196824" : { "event" : "Q4059147" , "srid" : "ha/lajos-haraszthy-1" , "name" : "Lajos Haraszthy" },
    "Q12258211" : { "event" : "Q22964446" , "srid" : "az/garikoitz-azkue-1" , "name" : "Garikoitz Azkue" },
    "Q15290582" : { "event" : "Q1186547" , "srid" : "qu/orestes-quintana-1" , "name" : "Orestes Quintana" },
    "Q16471297" : { "event" : "Q22964445" , "srid" : "bu/ricardas-bukys-1" , "name" : "Ričardas Bukys" },
    "Q16477462" : { "event" : "Q22964445" , "srid" : "gu/zigmas-gudauskas-1" , "name" : "Zigmas Gudauskas" },
    "Q4384499" : { "event" : "Q22964424" , "srid" : "pu/olena-pukhaieva-1" , "name" : "Olena Pukhaieva" },
    "Q2189317" : { "event" : "Q22964442" , "srid" : "pe/bart-peters-1" , "name" : "Bart Peters" },
    "Q3571797" : { "event" : "Q22964441" , "srid" : "sc/yannick-schulte-1" , "name" : "Yannick Schulte" },
    "Q27074113" : { "event" : "Q7371986" , "srid" : "cl/john-clark-2" , "name" : "John Clark" },
    "Q6015150" : { "event" : "Q22968937" , "srid" : "so/miguel-solano-1" , "name" : "Miguel Solano" },
    "Q21196968" : { "event" : "Q7371948" , "srid" : "sz/istvan-szebeny-1" , "name" : "István Szebeny" },
    "Q21196996" : { "event" : "Q7371948" , "srid" : "ba/artur-bajan-1" , "name" : "Artúr Baján" },
    "Q21196820" : { "event" : "Q4059147" , "srid" : "sz/antal-szebeny-1" , "name" : "Antal Szebeny" },
    "Q21196820" : { "event" : "Q7371948" , "srid" : "sz/antal-szebeny-1" , "name" : "Antal Szebeny" },
    "Q12260283" : { "event" : "Q7371948" , "srid" : "ar/jean-arne-1" , "name" : "Jean Arné" },
    "Q12262629" : { "event" : "Q7371948" , "srid" : "la/louis-lafite-1" , "name" : "Louis Lafite" },
    "Q12260779" : { "event" : "Q7371948" , "srid" : "ca/joseph-campot-1" , "name" : "Joseph Campot" },
    "Q21196840" : { "event" : "Q7371948" , "srid" : "va/kalman-vasko-1" , "name" : "Kálmán Vaskó" },
    "Q21196840" : { "event" : "Q4059147" , "srid" : "va/kalman-vasko-1" , "name" : "Kálmán Vaskó" },
    "Q21196868" : { "event" : "Q7371948" , "srid" : "gr/lajos-graf-1" , "name" : "Lajos Gráf" },
    "Q2288315" : { "event" : "Q7371951" , "srid" : "de/koos-de-haas-1" , "name" : "Koos de Haas" },
    "Q2227896" : { "event" : "Q7371953" , "srid" : "hu/willem-hudig-1" , "name" : "Willem Hudig" },
    "Q1928983" : { "event" : "Q7371953" , "srid" : "ko/frederik-koopman-1" , "name" : "Frederik Koopman" },
    "Q12269541" : { "event" : "Q7371948" , "srid" : "le/etienne-lesbats-1" , "name" : "Étienne Lesbats" },
    "Q21196923" : { "event" : "Q7371948" , "srid" : "sz/miklos-szebeny-1" , "name" : "Miklós Szebeny" },
    "Q2242972" : { "event" : "Q7371953" , "srid" : "bl/robbert-blaisse-1" , "name" : "Robbert Blaisse" },
    "Q2940661" : { "event" : "Q7371953" , "srid" : "si/liong-siang-sie-1" , "name" : "Liong Siang Sie" },
    "Q12265943" : { "event" : "Q7371948" , "srid" : "al/pierre-alvarez-1" , "name" : "Pierre Alvarez" },
    "Q16522905" : { "event" : "Q7371948" , "srid" : "sz/gyorgy-szebeny-1" , "name" : "György Szebeny" },
    "Q21196895" : { "event" : "Q7371948" , "srid" : "je/istvan-jeney-1" , "name" : "István Jeney" },
    "Q2257352" : { "event" : "Q7371951" , "srid" : "ve/bastiaan-veth-1" , "name" : "Bastiaan Veth" },
    "Q12258082" : { "event" : "Q7371948" , "srid" : "st/gabriel-st-laurent-1" , "name" : "Gabriel St. Laurent" },
    "Q2027965" : { "event" : "Q7371953" , "srid" : "va/johannes-van-der-vegte-1" , "name" : "Johannes van der Vegte" },
    "Q12260235" : { "event" : "Q22964444" , "srid" : "ca/javier-cano-1" , "name" : "Javier Cano" },
    "Q12263364" : { "event" : "Q22964455" , "srid" : "ve/melquiades-verduras-1" , "name" : "Melquiades Verduras" },
    "Q12263364" : { "event" : "Q22964443" , "srid" : "ve/melquiades-verduras-1" , "name" : "Melquiades Verduras" },
    "Q3188614" : { "event" : "Q7371956" , "srid" : "ge/jules-georges-1" , "name" : "Jules Georges" },
    "Q2332177" : { "event" : "Q7371956" , "srid" : "fo/dirk-fortuin-1" , "name" : "Dirk Fortuin" },
    "Q2740445" : { "event" : "Q7371956" , "srid" : "de/louis-dekker-1" , "name" : "Louis Dekker" },
    "Q9381699" : { "event" : "Q4059152" , "srid" : "be/wladyslaw-beszterda-1" , "name" : "Władysław Beszterda" },
    "Q5503696" : { "event" : "Q7371956" , "srid" : "br/jo-brandsma-1" , "name" : "Jo Brandsma" },
    "Q2203188" : { "event" : "Q7371956" , "srid" : "br/jacob-brandsma-1" , "name" : "Jacob Brandsma" },
    "Q2451451" : { "event" : "Q7371953" , "srid" : "jo/philip-jongeneel-1" , "name" : "Philip Jongeneel" },
    "Q2737550" : { "event" : "Q7371953" , "srid" : "ha/johannes-haasnoot-1" , "name" : "Johannes Haasnoot" },
    "Q3160686" : { "event" : "Q3655566" , "srid" : "ma/jakub-makovicka-1" , "name" : "Jakub Makovička" },
    "Q3160686" : { "event" : "Q2455198" , "srid" : "ma/jakub-makovicka-1" , "name" : "Jakub Makovička" },
    "Q11813960" : { "event" : "Q4059152" , "srid" : "bo/pawel-borkowski-1" , "name" : "Paweł Borkowski" },
    "Q16527778" : { "event" : "Q1186556" , "srid" : "ve/antonio-vela-1" , "name" : "Antonio Vela" },
    "Q20533871" : { "event" : "Q3655567" , "srid" : "lo/carlos-loriente-1" , "name" : "Carlos Loriente" },
    "Q12269538" : { "event" : "Q22968937" , "srid" : "ur/angel-urrutia-1" , "name" : "Ángel Urrutia" },
    "Q11725928" : { "event" : "Q3655567" , "srid" : "go/jesus-gonzalez-3" , "name" : "Jesús González" },
    "Q11718946" : { "event" : "Q3655566" , "srid" : "sc/jan-schindler-1" , "name" : "Jan Schindler" },
    "Q12263096" : { "event" : "Q3655567" , "srid" : "ar/mario-arranz-1" , "name" : "Mario Arranz" }
    }

for i, itemkey in enumerate(inputdata):
    Qitem = pywikibot.ItemPage(repo, itemkey)
    Qitem.get()
    if not Qitem.claims: # item does not have any claims
        continue
        
    if 'P1344' not in Qitem.claims:
        continue
    
    commands = {} # define a command structure to be filled; this is the "data" parameter of the API at https://www.mediawiki.org/wiki/Wikibase/API#wbeditentity
    commands['claims'] = [] # we only work on claims in this script; this list takes all claim commands

    for claim in Qitem.claims['P1344']:
        claimValue = claim.getTarget()
        if claimValue.title() != inputdata[itemkey]['event']:
            continue

        claimHasChanged = False
        fromClaimJSON = claim.toJSON()
        if 'references' not in fromClaimJSON: # no references found
            continue 

        for i, reference in enumerate(fromClaimJSON['references']):
            if 'P248' not in fromClaimJSON['references'][i]['snaks'] or 'P1447' not in fromClaimJSON['references'][i]['snaks'] or 'P813' not in fromClaimJSON['references'][i]['snaks']:
                continue
            if len(fromClaimJSON['references'][i]['snaks-order']) != 3:
                continue
            if 'P1476' in fromClaimJSON['references'][i]['snaks']:
                continue
            if fromClaimJSON['references'][i]['snaks']['P1447'][0]['datavalue']['value'] != inputdata[itemkey]['srid']:
                continue
            
            claimHasChanged = True
            fromClaimJSON['references'][i]['snaks']['P1476'] = [ { 'snaktype': 'value', 'property': 'P1476', 'datatype': 'monolingualtext', 'datavalue': { 'value' : { 'text' : inputdata[itemkey]['name'], 'language' : 'en' }, 'type': 'monolingualtext' } } ]
            fromClaimJSON['references'][i]['snaks-order'].append('P1476')    

        if claimHasChanged==True:
            commands['claims'].append({'id': fromClaimJSON['id'], 'remove':''}) # add first command: removal of the old claim, identified by statement ID
            fromClaimJSON.pop('id', None) # drop statement ID from the old claim, since a new one needs to be generated for the new claim
            commands['claims'].append(fromClaimJSON) # add second command: addition of the new (modified) claim, with data from the old claim (old ID was removed, new property identifier set)
            
    if len(commands['claims']) > 0: # all commands are executed here
        try:
            print('{}: update {} with ref {} to "{}"'.format(itemkey, inputdata[itemkey]['event'], inputdata[itemkey]['srid'], inputdata[itemkey]['name']))
            Qitem.editEntity(commands)
            time.sleep(5)
            pass
        except Exception as e:
            print(e)
            time.sleep(60) # take a 1 minute break, in order to drastically reduce load in case something goes wrong

print('all done, job finished')
Q2965317: update Q17623680 with ref gu/christian-guilbert-1 to "Christian Guilbert"
Q2489422: update Q22964415 with ref de/guy-defraigne-1 to "Guy Defraigne"
Q27063374: update Q7371986 with ref li/david-lindstrom-1 to "David Lindstrom"
Q27063268: update Q7371986 with ref ni/chris-nilsson-1 to "Chris Nilsson"
Q21197093: update Q16536275 with ref ma/tibor-mamusich-1 to "Tibor Mamusich"
Q3435516: update Q16536280 with ref ja/robert-jacquet-1 to "Robert Jacquet"
Q21197126: update Q16536275 with ref gy/karoly-gyory-1 to "Károly Győry"
Q2186235: update Q18661273 with ref op/jan-op-den-velde-1 to "Jan op den Velde"
Q12262521: update Q1005316 with ref om/luis-omedes-2 to "Luis Omedes"
Q11854122: update Q22968933 with ref me/bernard-meynadier-1 to "Bernard Meynadier"
Q23926244: update Q7371984 with ref mo/joseph-moroni-1 to "Joseph Moroni"
Q23681741: update Q7371984 with ref vi/michel-viaud-1 to "Michel Viaud"
Q13471286: update Q16536293 with ref ba/hotse-bartlema-1 to "Hotse Bartlema"
Q11995504: update Q12580052 with ref pa/petros-pavlidis-1 to "Petros Pavlidis"
Q2208367: update Q16536293 with ref ha/gerard-hallie-1 to "Gerard Hallie"
Q1123754: update Q21282698 with ref ka/zoltan-kavay-1 to "Zoltán Kávay"
Q12017175: update Q16536288 with ref ko/frantisek-kobzik-1 to "František Kobzík"
Q789480: update Q16536288 with ref ba/hugo-ballya-1 to "Hugó Ballya"
Q2379778: update Q16536298 with ref de/simon-de-wit-1 to "Simon de Wit"
Q6097512: update Q7371998 with ref sm/ivan-smiljanic-1 to "Ivan Smiljanić"
Q607402: update Q22964444 with ref ur/ibon-urbieta-1 to "Ibon Urbieta"
Q11872274: update Q21666211 with ref an/eduard-antoch-1 to "Eduard Antoch"
Q18237734: update Q22964430 with ref vy/valery-vyrvich-1 to "Valery Vyrvich"
Q18242514: update Q22964430 with ref zu/igor-zuborenko-1 to "Igor Zuborenko"
Q26328555: update Q7372002 with ref zu/juan-zunzunegui-1 to "Juan Zunzunegui"
Q4055711: update Q22964424 with ref av/lidiya-averyanova-1 to "Lidiya Averyanova"
Q12743534: update Q22964424 with ref il/viorica-ilica-1 to "Viorica Ilica"
Q27074142: update Q22964398 with ref si/david-simmons-1 to "David Simmons"
Q11699215: update Q547331 with ref va/gabriela-varekova-1 to "Gabriela Vařeková"
Q11859901: update Q22964400 with ref ro/francisco-rodriguez-5 to "Francisco Rodríguez"
Q2097256: update Q22964414 with ref va/steven-van-groningen-1 to "Steven van Groningen"
Q24007500: update Q17623693 with ref pu/anthony-purssell-1 to "Anthony Purssell"
Q12260834: update Q22964427 with ref ag/jose-luis-aguirre-1 to "José Luis Aguirre"
Q12260681: update Q22964427 with ref se/jose-maria-segurola-1 to "José María Segurola"
Q16669299: update Q22964426 with ref ku/sigitas-kucinskas-1 to "Sigitas Kučinskas"
Q12252874: update Q22964426 with ref al/agustin-alarcon-1 to "Agustín Alarcón"
Q21019603: update Q22964426 with ref do/milan-dolecek-1 to "Milan Doleček"
Q12254807: update Q22964427 with ref al/bartolome-alarcon-1 to "Bartolomé Alarcón"
Q12793104: update Q7371988 with ref po/jure-potocnik-1 to "Jure Potočnik"
Q11902254: update Q7371988 with ref st/walter-steiner-1 to "Walter Steiner"
Q18242391: update Q22964428 with ref ze/yury-zelikovich-1 to "Yury Zelikovich"
Q4688615: update Q7371969 with ref gu/bert-gunther-1 to "Bert Gunther"
Q16476571: update Q22964438 with ref la/violeta-lastakauskaite-1 to "Violeta Lastakauskaitė"
Q11875217: update Q22964438 with ref le/lee-jae-nam-1 to "Lee Jae-Nam"
Q23652677: update Q22964438 with ref sa/liene-sastapa-1 to "Liene Sastapa"
Q5633732: update Q22964439 with ref da/hana-dariusova-1 to "Hana Dariusová"
Q16476566: update Q22964438 with ref be/violeta-bernotaite-1 to "Violeta Bernotaitė"
Q28094832: update Q22964439 with ref fr/fiona-freckleton-1 to "Fiona Freckleton"
Q5751143: update Q22964418 with ref ne/carlos-neyra-1 to "Carlos Neyra"
Q2643689: update Q22964415 with ref de/william-defraigne-1 to "William Defraigne"
Q2191462: update Q18127634 with ref re/lex-redele-1 to "Lex Redelé"
Q20966668: update Q22964403 with ref fe/david-fellows-1 to "David Fellows"
Q11869846: update Q22964403 with ref me/karel-mejta-jr-1 to "Karel Mejta, Jr."
Q12257688: update Q3655558 with ref mi/eva-mirones-1 to "Eva Mirones"
Q9147307: update Q9375319 with ref ro/alexandru-rotaru-1 to "Alexandru Rotaru"
Q2940645: update Q22964432 with ref de/marie-jose-de-groot-1 to "Marie-José de Groot"
Q5520461: update Q22964435 with ref me/anita-meiland-1 to "Anita Meiland"
Q16548781: update Q1046530 with ref du/divie-duffield-1 to "Divie Duffield"
Q27074050: update Q3655567 with ref sm/matt-smith-1 to "Matt Smith"
Q18244446: update Q22964428 with ref kr/pavel-krupko-1 to "Pavel Krupko"
Q2644071: update Q7371968 with ref hu/jan-huges-1 to "Jan Huges"
Q16567918: update Q1186547 with ref fo/jose-formica-1 to "José Fórmica"
Q3990228: update Q1185048 with ref la/theodor-laurezzari-1 to "Theodor Laurezzari"
Q3610755: update Q1185048 with ref gl/alexander-gleichmann-von-oven-jr-1 to "Alexander Gleichmann von Oven, Jr."
Q3624325: update Q1185048 with ref wa/arthur-warncke-1 to "Arthur Warncke"
Q16567992: update Q1186547 with ref ca/juan-camps-1 to "Juan Camps"
Q3719054: update Q1185048 with ref ka/edgar-katzenstein-1 to "Edgar Katzenstein"
Q3732401: update Q1185048 with ref je/ernst-jencquel-1 to "Ernst Jencquel"
Q16596231: update Q1186547 with ref ma/ricardo-margarit-1 to "Ricardo Margarit"
Q17544378: update Q7371947 with ref ve/alcides-veira-1 to "Alcides Veira"
Q3903443: update Q1186556 with ref fe/pierre-ferlin-1 to "Pierre Ferlin"
Q3930676: update Q1186556 with ref be/raymond-benoit-1 to "Raymond Benoit"
Q17362377: update Q7371947 with ref sa/abrahao-saliture-1 to "Abrahão Saliture"
Q17544375: update Q7371947 with ref lo/guilherme-lorena-1 to "Guilherme Lorena"
Q17544372: update Q7371947 with ref jo/joao-jorio-1 to "João Jório"
Q17544371: update Q7371947 with ref fl/ernesto-flores-filho-1 to "Ernesto Flores Filho"
Q18012806: update Q7371945 with ref vi/guillaume-visser-1 to "Guillaume Visser"
Q2045604: update Q7371968 with ref ja/tjallie-james-1 to "Tjallie James"
Q13134651: update Q7371968 with ref oo/appel-ooiman-1 to "Appel Ooiman"
Q2088983: update Q7371968 with ref kr/hans-kruyt-1 to "Hans Kruyt"
Q12260792: update Q22964446 with ref an/josu-andueza-1 to "Josu Andueza"
Q21197059: update Q4059147 with ref wa/imre-wampetich-1 to "Imre Wampetich"
Q1948441: update Q7371962 with ref cr/ted-cremer-1 to "Ted Cremer"
Q21197035: update Q4059147 with ref ed/robert-eder-1 to "Róbert Éder"
Q21196832: update Q4059147 with ref va/jeno-varady-1 to "Jenő Várady"
Q21196743: update Q4059147 with ref ki/ferenc-kirchknopf-1 to "Ferenc Kirchknopf"
Q2228111: update Q7371966 with ref pi/constant-pieterse-1 to "Constant Pieterse"
Q13137677: update Q7371962 with ref ho/roelof-hommema-1 to "Roelof Hommema"
Q21196824: update Q4059147 with ref ha/lajos-haraszthy-1 to "Lajos Haraszthy"
Q12258211: update Q22964446 with ref az/garikoitz-azkue-1 to "Garikoitz Azkue"
Q15290582: update Q1186547 with ref qu/orestes-quintana-1 to "Orestes Quintana"
Q16471297: update Q22964445 with ref bu/ricardas-bukys-1 to "Ričardas Bukys"
Q16477462: update Q22964445 with ref gu/zigmas-gudauskas-1 to "Zigmas Gudauskas"
Q4384499: update Q22964424 with ref pu/olena-pukhaieva-1 to "Olena Pukhaieva"
Q2189317: update Q22964442 with ref pe/bart-peters-1 to "Bart Peters"
Q3571797: update Q22964441 with ref sc/yannick-schulte-1 to "Yannick Schulte"
Q27074113: update Q7371986 with ref cl/john-clark-2 to "John Clark"
Q6015150: update Q22968937 with ref so/miguel-solano-1 to "Miguel Solano"
Q21196968: update Q7371948 with ref sz/istvan-szebeny-1 to "István Szebeny"
Q21196996: update Q7371948 with ref ba/artur-bajan-1 to "Artúr Baján"
Q21196820: update Q7371948 with ref sz/antal-szebeny-1 to "Antal Szebeny"
Q12260283: update Q7371948 with ref ar/jean-arne-1 to "Jean Arné"
Q12262629: update Q7371948 with ref la/louis-lafite-1 to "Louis Lafite"
Q12260779: update Q7371948 with ref ca/joseph-campot-1 to "Joseph Campot"
Q21196840: update Q4059147 with ref va/kalman-vasko-1 to "Kálmán Vaskó"
Q21196868: update Q7371948 with ref gr/lajos-graf-1 to "Lajos Gráf"
Q2288315: update Q7371951 with ref de/koos-de-haas-1 to "Koos de Haas"
Q2227896: update Q7371953 with ref hu/willem-hudig-1 to "Willem Hudig"
Q1928983: update Q7371953 with ref ko/frederik-koopman-1 to "Frederik Koopman"
Q12269541: update Q7371948 with ref le/etienne-lesbats-1 to "Étienne Lesbats"
Q21196923: update Q7371948 with ref sz/miklos-szebeny-1 to "Miklós Szebeny"
Q2242972: update Q7371953 with ref bl/robbert-blaisse-1 to "Robbert Blaisse"
Q2940661: update Q7371953 with ref si/liong-siang-sie-1 to "Liong Siang Sie"
Q12265943: update Q7371948 with ref al/pierre-alvarez-1 to "Pierre Alvarez"
Q16522905: update Q7371948 with ref sz/gyorgy-szebeny-1 to "György Szebeny"
Q21196895: update Q7371948 with ref je/istvan-jeney-1 to "István Jeney"
Q2257352: update Q7371951 with ref ve/bastiaan-veth-1 to "Bastiaan Veth"
Q12258082: update Q7371948 with ref st/gabriel-st-laurent-1 to "Gabriel St. Laurent"
Q2027965: update Q7371953 with ref va/johannes-van-der-vegte-1 to "Johannes van der Vegte"
Q12260235: update Q22964444 with ref ca/javier-cano-1 to "Javier Cano"
Q12263364: update Q22964443 with ref ve/melquiades-verduras-1 to "Melquiades Verduras"
Q3188614: update Q7371956 with ref ge/jules-georges-1 to "Jules Georges"
Q2332177: update Q7371956 with ref fo/dirk-fortuin-1 to "Dirk Fortuin"
Q2740445: update Q7371956 with ref de/louis-dekker-1 to "Louis Dekker"
Q9381699: update Q4059152 with ref be/wladyslaw-beszterda-1 to "Władysław Beszterda"
Q5503696: update Q7371956 with ref br/jo-brandsma-1 to "Jo Brandsma"
Q2203188: update Q7371956 with ref br/jacob-brandsma-1 to "Jacob Brandsma"
Q2451451: update Q7371953 with ref jo/philip-jongeneel-1 to "Philip Jongeneel"
Q2737550: update Q7371953 with ref ha/johannes-haasnoot-1 to "Johannes Haasnoot"
Q3160686: update Q2455198 with ref ma/jakub-makovicka-1 to "Jakub Makovička"
Q11813960: update Q4059152 with ref bo/pawel-borkowski-1 to "Paweł Borkowski"
Q16527778: update Q1186556 with ref ve/antonio-vela-1 to "Antonio Vela"
Q20533871: update Q3655567 with ref lo/carlos-loriente-1 to "Carlos Loriente"
Q12269538: update Q22968937 with ref ur/angel-urrutia-1 to "Ángel Urrutia"
Q11725928: update Q3655567 with ref go/jesus-gonzalez-3 to "Jesús González"
Q11718946: update Q3655566 with ref sc/jan-schindler-1 to "Jan Schindler"
Q12263096: update Q3655567 with ref ar/mario-arranz-1 to "Mario Arranz"
all done, job finished