<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInfoboxBiography</id>
	<title>Modul:InfoboxBiography - Revizia istoricului</title>
	<link rel="self" type="application/atom+xml" href="https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3AInfoboxBiography"/>
	<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:InfoboxBiography&amp;action=history"/>
	<updated>2026-06-06T04:57:10Z</updated>
	<subtitle>Istoricul versiunilor pentru această pagină din wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://enciclopedia.md/index.php?title=Modul:InfoboxBiography&amp;diff=334&amp;oldid=prev</id>
		<title>Sergiu: Pagină nouă: local p = {} local getArgs = require(&#039;Modul:Arguments&#039;).getArgs local wikidata = require(&#039;Modul:Wikidata&#039;) local lc = require(&#039;Modul:LocationAndCountry&#039;) local bda = require(&#039;Modul:BirthDateAndAge&#039;) local infobox = require(&#039;Modul:Infobox&#039;) local infoboxImage = require(&#039;Modul:InfoboxImage&#039;).InfoboxImage local join = require(&#039;Modul:Separated entries&#039;)._main local StringUtils = require(&#039;Modul:StringUtils&#039;) local DateUtils = require(&#039;Modul:DateUtils&#039;) local Lang = require(&#039;Modul:...</title>
		<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:InfoboxBiography&amp;diff=334&amp;oldid=prev"/>
		<updated>2024-07-14T19:52:30Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: local p = {} local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;) local lc = require(&amp;#039;Modul:LocationAndCountry&amp;#039;) local bda = require(&amp;#039;Modul:BirthDateAndAge&amp;#039;) local infobox = require(&amp;#039;Modul:Infobox&amp;#039;) local infoboxImage = require(&amp;#039;Modul:InfoboxImage&amp;#039;).InfoboxImage local join = require(&amp;#039;Modul:Separated entries&amp;#039;)._main local StringUtils = require(&amp;#039;Modul:StringUtils&amp;#039;) local DateUtils = require(&amp;#039;Modul:DateUtils&amp;#039;) local Lang = require(&amp;#039;Modul:...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pagină nouă&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs&lt;br /&gt;
local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;)&lt;br /&gt;
local lc = require(&amp;#039;Modul:LocationAndCountry&amp;#039;)&lt;br /&gt;
local bda = require(&amp;#039;Modul:BirthDateAndAge&amp;#039;)&lt;br /&gt;
local infobox = require(&amp;#039;Modul:Infobox&amp;#039;)&lt;br /&gt;
local infoboxImage = require(&amp;#039;Modul:InfoboxImage&amp;#039;).InfoboxImage&lt;br /&gt;
local join = require(&amp;#039;Modul:Separated entries&amp;#039;)._main&lt;br /&gt;
local StringUtils = require(&amp;#039;Modul:StringUtils&amp;#039;)&lt;br /&gt;
local DateUtils = require(&amp;#039;Modul:DateUtils&amp;#039;)&lt;br /&gt;
local Lang = require(&amp;#039;Modul:Lang&amp;#039;)&lt;br /&gt;
local TableTools = require(&amp;#039;Modul:TableTools&amp;#039;)&lt;br /&gt;
local toWdLinkGenerator = require(&amp;#039;Modul:EditAtWikidata&amp;#039;)&lt;br /&gt;
local NameAndImage = require(&amp;#039;Modul:NameAndImage&amp;#039;)&lt;br /&gt;
local libraryUtil = require( &amp;#039;libraryUtil&amp;#039; )&lt;br /&gt;
local plural = require(&amp;#039;Modul:Plural&amp;#039;)&lt;br /&gt;
local wdu_b = require(&amp;#039;Modul:WikidataUtils/Biography&amp;#039;)&lt;br /&gt;
local Transliteration = require(&amp;#039;Modul:Transliteration&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local MIN_YEAR_TO_DISPLAY_CITIZENSHIP = 1800&lt;br /&gt;
&lt;br /&gt;
local _br_ = tostring(mw.html.create(&amp;#039;br&amp;#039;))&lt;br /&gt;
local appendToString = StringUtils._appendToString&lt;br /&gt;
local prependToString = StringUtils._prependToString&lt;br /&gt;
local encloseString = StringUtils._encloseString&lt;br /&gt;
&lt;br /&gt;
local function extractDedicatedArgFromInputArgs(retainedInputArgs, args, argNames, wikidataCallback)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;extractDedicatedArgFromInputArgs&amp;#039;, 1, retainedInputArgs, &amp;#039;table&amp;#039;, true)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;extractDedicatedArgFromInputArgs&amp;#039;, 2, args, &amp;#039;table&amp;#039;, false)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;extractDedicatedArgFromInputArgs&amp;#039;, 3, argNames, &amp;#039;table&amp;#039;, true)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;extractDedicatedArgFromInputArgs&amp;#039;, 4, wikidataCallback, &amp;#039;function&amp;#039;, true)&lt;br /&gt;
	&lt;br /&gt;
	if argNames == nil then return nil end&lt;br /&gt;
	local foundValue = nil&lt;br /&gt;
	for argNameIdx,argName in pairs(argNames) do&lt;br /&gt;
		local argv = args[argName]&lt;br /&gt;
		if argv and foundValue == nil then&lt;br /&gt;
			foundValue = argv&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if foundValue then&lt;br /&gt;
		for argNameIdx,argName in pairs(argNames) do&lt;br /&gt;
			table.insert(retainedInputArgs, argName)&lt;br /&gt;
		end&lt;br /&gt;
		return foundValue&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;#039;embed&amp;#039;] ~= &amp;#039;yes&amp;#039; and args[&amp;#039;embed&amp;#039;] ~= &amp;#039;y&amp;#039; and args[&amp;#039;embed&amp;#039;] ~= &amp;#039;da&amp;#039; then&lt;br /&gt;
		local wikidataValue, wikidataId, wikidataEntId = wikidataCallback()&lt;br /&gt;
		if wikidataValue and mw.ustring.len(mw.text.trim(wikidataValue)) &amp;gt; 0 then return wikidataValue .. toWdLinkGenerator.displayMessage(wikidataId, wikidataEntId) end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function copyProperty(outputTable, inputTable, propName)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;copyProperty&amp;#039;, 1, outputTable, &amp;#039;table&amp;#039;, false)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;copyProperty&amp;#039;, 2, inputTable, &amp;#039;table&amp;#039;, false)&lt;br /&gt;
	libraryUtil.checkTypeMulti(&amp;#039;copyProperty&amp;#039;, 3, propName, {&amp;#039;string&amp;#039;, &amp;#039;number&amp;#039;})&lt;br /&gt;
	outputTable[propName] = inputTable[propName]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tableContains(haystackTable, needle)&lt;br /&gt;
	libraryUtil.checkType(&amp;#039;tableContains&amp;#039;, 1, haystackTable, &amp;#039;table&amp;#039;, true)&lt;br /&gt;
	if haystackTable == nil or needle == nil then return false end&lt;br /&gt;
	for k, v in pairs(haystackTable) do&lt;br /&gt;
		if v == needle then return true end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function processArgs(args)&lt;br /&gt;
	local processedArgs = {}&lt;br /&gt;
	local retainedInputArgs = {}&lt;br /&gt;
	local labeldatacount = 2&lt;br /&gt;
	&lt;br /&gt;
	processedArgs[&amp;#039;child&amp;#039;] = (args[&amp;#039;embed&amp;#039;] == &amp;#039;yes&amp;#039; or args[&amp;#039;embed&amp;#039;] == &amp;#039;da&amp;#039; or args[&amp;#039;embed&amp;#039;] == &amp;#039;y&amp;#039;) and &amp;#039;yes&amp;#039; or nil&lt;br /&gt;
	if args[&amp;#039;culoare cadru&amp;#039;] then processedArgs[&amp;#039;culoare cadru&amp;#039;] = args[&amp;#039;culoare cadru&amp;#039;] end&lt;br /&gt;
	if args[&amp;#039;culoare text&amp;#039;] then processedArgs[&amp;#039;culoare text&amp;#039;] = args[&amp;#039;culoare text&amp;#039;] end&lt;br /&gt;
	copyProperty(processedArgs, args, &amp;#039;aboveclass&amp;#039;)&lt;br /&gt;
	processedArgs[&amp;#039;navbar&amp;#039;] = &amp;#039;false&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if (processedArgs[&amp;#039;child&amp;#039;] == nil) then&lt;br /&gt;
		processedArgs[&amp;#039;header1&amp;#039;] = &amp;#039;Date personale&amp;#039;&lt;br /&gt;
		local genderSuffix = wdu_b.isFemale() and &amp;#039;ă&amp;#039; or &amp;#039;&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		local imageName = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;image&amp;#039;, &amp;#039;Imagine&amp;#039;, &amp;#039;imagine&amp;#039;, &amp;#039;foto&amp;#039;}, function() return nil, nil, nil end)&lt;br /&gt;
		if imageName then&lt;br /&gt;
			if StringUtils._startsWithAny({mw.text.trim(imageName), &amp;#039;[[&amp;#039;}) then&lt;br /&gt;
				imageName = StringUtils._substringBefore({mw.text.trim(imageName), &amp;#039;]]&amp;#039;, &amp;#039;|&amp;#039;})&lt;br /&gt;
				imageName = StringUtils._removeStart({imageName, &amp;#039;[[&amp;#039;})&lt;br /&gt;
			end&lt;br /&gt;
			imageName = StringUtils._removeStart({mw.text.trim(imageName), &amp;#039;File:&amp;#039;})&lt;br /&gt;
			imageName = StringUtils._removeStart({imageName, &amp;#039;Fișier:&amp;#039;})&lt;br /&gt;
			imageName = StringUtils._removeStart({imageName, &amp;#039;Fişier:&amp;#039;})&lt;br /&gt;
			imageName = StringUtils._removeStart({imageName, &amp;#039;Image:&amp;#039;})&lt;br /&gt;
			imageName = StringUtils._removeStart({imageName, &amp;#039;Imagine:&amp;#039;})&lt;br /&gt;
			imageName = StringUtils._removeStart({imageName, &amp;#039;Media:&amp;#039;})&lt;br /&gt;
			local imgTitle = mw.title.new(imageName, 6)&lt;br /&gt;
			if not imgTitle or not imgTitle.file or not imgTitle.file.exists then&lt;br /&gt;
				imageName = nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local imageCaption = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;caption&amp;#039;, &amp;#039;descriere&amp;#039;, &amp;#039;comentariu&amp;#039;, &amp;#039;Descriere&amp;#039;}, function() return nil, nil, nil end)&lt;br /&gt;
		&lt;br /&gt;
		local wdImageName, wdImageCaption&lt;br /&gt;
		if imageName == nil then&lt;br /&gt;
			wdImageName, wdImageCaption = wikidata.findImageAndCaption()&lt;br /&gt;
			imageName = wdImageName&lt;br /&gt;
			imageCaption = wdImageCaption&lt;br /&gt;
		end&lt;br /&gt;
		if imageName and mw.ustring.len(imageName) &amp;gt; 0 then&lt;br /&gt;
			local imageSize = args[&amp;#039;imagesize&amp;#039;] or args[&amp;#039;image_size&amp;#039;] or args[&amp;#039;Lățime&amp;#039;]&lt;br /&gt;
			processedArgs[&amp;#039;image&amp;#039;] = infoboxImage{image=imageName, size=imageSize, sizedefault=&amp;#039;frameless&amp;#039;, upright=&amp;#039;1&amp;#039;, suppressplaceholder=&amp;#039;yes&amp;#039;}&lt;br /&gt;
			processedArgs[&amp;#039;caption&amp;#039;] = imageCaption&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local birthName = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;nume_naștere&amp;#039;, &amp;#039;birth_name&amp;#039;}, function() &lt;br /&gt;
			local birthNameClaims = wikidata.findClaimsForProperty(nil, &amp;#039;P1477&amp;#039;)&lt;br /&gt;
			local roVal = nil&lt;br /&gt;
			local otherLangVals = {}&lt;br /&gt;
			if birthNameClaims then for _,eachBirthNameClaim in ipairs(birthNameClaims) do&lt;br /&gt;
				if wikidata.isClaimTrue(eachBirthNameClaim) and wikidata.hasValueSnak(eachBirthNameClaim) then&lt;br /&gt;
					if eachBirthNameClaim.mainsnak.datavalue.value.language == &amp;#039;ro&amp;#039; then&lt;br /&gt;
						roVal = eachBirthNameClaim.mainsnak.datavalue.value.text&lt;br /&gt;
					else&lt;br /&gt;
						local thisName = nil&lt;br /&gt;
						if Transliteration.isTransliterationSupported(eachBirthNameClaim.mainsnak.datavalue.value.language) then&lt;br /&gt;
							thisName = Lang.fromArgs(eachBirthNameClaim.mainsnak.datavalue.value.language .. &amp;#039;-Latn&amp;#039;, nil, Transliteration.transliterate(eachBirthNameClaim.mainsnak.datavalue.value.text, eachBirthNameClaim.mainsnak.datavalue.value.language), false)&lt;br /&gt;
						else&lt;br /&gt;
							thisName = Lang.fromArgs(eachBirthNameClaim.mainsnak.datavalue.value.language, nil, eachBirthNameClaim.mainsnak.datavalue.value.text, false)&lt;br /&gt;
						end&lt;br /&gt;
						table.insert(otherLangVals, thisName)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end end&lt;br /&gt;
			if roVal then return roVal, &amp;#039;P1477&amp;#039;, nil&lt;br /&gt;
			elseif #otherLangVals then return mw.text.listToText(otherLangVals, tostring(mw.html.create(&amp;#039;br&amp;#039;))), &amp;#039;P1449&amp;#039;, nil&lt;br /&gt;
			else return nil&lt;br /&gt;
			end&lt;br /&gt;
		end)&lt;br /&gt;
		if birthName and mw.ustring.len(birthName) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Nume la naștere&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = birthName&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local nickname = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;porecla&amp;#039;, &amp;#039;poreclă&amp;#039;, &amp;#039;nickname&amp;#039;}, function() &lt;br /&gt;
			local birthNameClaims = wikidata.findClaimsForProperty(nil, &amp;#039;P1449&amp;#039;)&lt;br /&gt;
			local roVals = {}&lt;br /&gt;
			local otherLangVals = {}&lt;br /&gt;
			if birthNameClaims then for _,eachBirthNameClaim in ipairs(birthNameClaims) do&lt;br /&gt;
				if wikidata.hasValueSnak(eachBirthNameClaim) and wikidata.claimHasRankAtLeastNormal(eachBirthNameClaim) then&lt;br /&gt;
					if eachBirthNameClaim.mainsnak.datavalue.value.language == &amp;#039;ro&amp;#039; then&lt;br /&gt;
						table.insert(roVals, eachBirthNameClaim.mainsnak.datavalue.value.text)&lt;br /&gt;
					else&lt;br /&gt;
						table.insert(otherLangVals, Lang.fromArgs(eachBirthNameClaim.mainsnak.datavalue.value.language, nil, eachBirthNameClaim.mainsnak.datavalue.value.text, false))&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end end&lt;br /&gt;
			if #roVals == 0 and #otherLangVals == 0 then return nil end&lt;br /&gt;
			return mw.text.listToText(#roVals &amp;gt; 0 and roVals or otherLangVals, &amp;#039;, &amp;#039;, &amp;#039;, &amp;#039;), &amp;#039;P1449&amp;#039;, nil&lt;br /&gt;
		end)&lt;br /&gt;
		if nickname and mw.ustring.len(nickname) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Poreclă&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = nickname&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local birthDate = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;data_nașterii&amp;#039;, &amp;#039;data_nasterii&amp;#039;, &amp;#039;birth_date&amp;#039;, &amp;#039;Născut&amp;#039;}, function() return bda._getBdaByWikidata{link = &amp;#039;yes&amp;#039;}, &amp;#039;P569&amp;#039;, nil end)&lt;br /&gt;
		local birthPlace = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;locul_nașterii&amp;#039;, &amp;#039;locul_nasterii&amp;#039;, &amp;#039;birth_place&amp;#039;, &amp;#039;Loc naștere&amp;#039;}, function() return lc.displayFromParams(&amp;#039;P19&amp;#039;, nil, &amp;#039;P569&amp;#039;, 1, &amp;#039;; &amp;#039;, true), &amp;#039;P19&amp;#039;, nil end)&lt;br /&gt;
		if birthDate and mw.ustring.len(birthDate) &amp;gt; 0 or birthPlace and mw.ustring.len(birthPlace) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Născut&amp;#039; .. genderSuffix&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = join({birthDate, birthPlace, separator = _br_})&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local deathDate = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;data_deces&amp;#039;, &amp;#039;data_decesului&amp;#039;, &amp;#039;death_date&amp;#039;, &amp;#039;Decedat&amp;#039;}, function() return bda._getDdaByWikidata{link = &amp;#039;yes&amp;#039;}, &amp;#039;P570&amp;#039;, nil end)&lt;br /&gt;
		local deathPlace = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;locul_decesului&amp;#039;, &amp;#039;death_place&amp;#039;, &amp;#039;Loc deces&amp;#039;	}, function() return lc.displayFromParams(&amp;#039;P20&amp;#039;, nil, &amp;#039;P570&amp;#039;, 1, &amp;#039;; &amp;#039;, true), &amp;#039;P20&amp;#039;, nil end)&lt;br /&gt;
		if deathDate and mw.ustring.len(deathDate) &amp;gt; 0 or deathPlace and mw.ustring.len(deathPlace) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Decedat&amp;#039; .. genderSuffix&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = join({deathDate, deathPlace, separator = _br_})&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local burialSite = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;loc_odihna&amp;#039;, &amp;#039;locodihna&amp;#039;, &amp;#039;burial_place&amp;#039;, &amp;#039;final_resting_place&amp;#039;}, function() return table.concat(wikidata.findValueListWithDecoratedQualifiers(nil, &amp;#039;P119&amp;#039;, false, {&amp;#039;$P580&amp;#039;, &amp;#039;$P582&amp;#039;}, {&amp;#039;–&amp;#039;}) or {}, tostring(mw.html.create(&amp;#039;br&amp;#039;))), &amp;#039;P119&amp;#039;, nil end)&lt;br /&gt;
		if burialSite and mw.ustring.len(mw.text.trim(burialSite)) &amp;gt; 0 or args[&amp;#039;burial_date&amp;#039;] then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Înmormântat&amp;#039; .. genderSuffix&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = table.concat(TableTools.compressSparseArray({args[&amp;#039;burial_date&amp;#039;], burialSite}), tostring(mw.html.create(&amp;#039;br&amp;#039;)))&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local causeOfDeath = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;cauza_decesului&amp;#039;, &amp;#039;death cause&amp;#039;, &amp;#039;death_cause&amp;#039;}, function()&lt;br /&gt;
				local mOD = wikidata.findOneValue(&amp;#039;P1196&amp;#039;)&lt;br /&gt;
				local cOD = wikidata.findOneValue(&amp;#039;P509&amp;#039;)&lt;br /&gt;
				local cODTbl = {}&lt;br /&gt;
				local cODPropTbl = {}&lt;br /&gt;
				if mOD then&lt;br /&gt;
					table.insert(cODTbl, mOD)&lt;br /&gt;
					table.insert(cODPropTbl, &amp;#039;P1196&amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
				if cOD then&lt;br /&gt;
					table.insert(cODTbl, cOD)&lt;br /&gt;
					table.insert(cODPropTbl, &amp;#039;P509&amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
				if #cODTbl == 2 then&lt;br /&gt;
					return appendToString({cODTbl[1], prependToString({encloseString({cODTbl[2], &amp;#039;(&amp;#039;, &amp;#039;)&amp;#039;}), &amp;#039; &amp;#039;})}), &amp;#039;P509&amp;#039;, nil&lt;br /&gt;
				elseif #cODTbl == 1 then&lt;br /&gt;
					return cODTbl[1], cODPropTbl[1], nil&lt;br /&gt;
				end&lt;br /&gt;
			return nil&lt;br /&gt;
		end)&lt;br /&gt;
		&lt;br /&gt;
		if causeOfDeath and mw.ustring.len(mw.text.trim(causeOfDeath)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Cauza decesului&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = causeOfDeath&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local parents = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;părinți&amp;#039;, &amp;#039;parents&amp;#039;, &amp;#039;parinti&amp;#039;}, function() return join({wikidata.findOneValue(&amp;#039;P22&amp;#039;), wikidata.findOneValue(&amp;#039;P25&amp;#039;), separator = _br_}), &amp;#039;P22&amp;#039;, nil end)&lt;br /&gt;
		if parents and mw.ustring.len(mw.text.trim(parents)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Părinți&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = parents&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local siblings = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;frați&amp;#039;, &amp;#039;frati&amp;#039;, &amp;#039;siblings&amp;#039;}, function()&lt;br /&gt;
			local tbl = {}&lt;br /&gt;
			local props = {&amp;#039;P7&amp;#039;, &amp;#039;P9&amp;#039;, &amp;#039;P3373&amp;#039;}&lt;br /&gt;
			local actualProp = nil&lt;br /&gt;
			local wdTbl = {wikidata.getValueList(nil, &amp;#039;P7&amp;#039;), wikidata.getValueList(nil, &amp;#039;P9&amp;#039;), wikidata.getValueList(nil, &amp;#039;P3373&amp;#039;)}&lt;br /&gt;
			for _i,lst in ipairs(wdTbl) do&lt;br /&gt;
				for _i1,v in ipairs(lst or {}) do &lt;br /&gt;
					table.insert(tbl, v)&lt;br /&gt;
					actualProp = props[_i]&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			tbl.separator = _br_&lt;br /&gt;
			return join(tbl), actualProp, nil&lt;br /&gt;
		end)&lt;br /&gt;
		if siblings and mw.ustring.len(mw.text.trim(siblings)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Frați și surori&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = siblings&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local partners = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;partener&amp;#039;, &amp;#039;partners&amp;#039;}, function() return nil, nil, nil end)&lt;br /&gt;
		if partners and mw.ustring.len(mw.text.trim(partners)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Partener(i)&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = partners&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local spouse = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;soț&amp;#039;, &amp;#039;soție&amp;#039;, &amp;#039;sot&amp;#039;, &amp;#039;sotie&amp;#039;, &amp;#039;spouse&amp;#039;, &amp;#039;căsătorit&amp;#039;}, function() return wikidata._getTimestampedValueListWithSeparator({_br_, &amp;#039;P26&amp;#039;}), &amp;#039;P26&amp;#039;, nil end)&lt;br /&gt;
		if spouse and mw.ustring.len(mw.text.trim(spouse)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = args[&amp;#039;spouse-type&amp;#039;] or (&amp;#039;Căsătorit&amp;#039; .. genderSuffix .. &amp;#039; cu&amp;#039;)&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = spouse&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local numberChildren = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;număr_copii&amp;#039;, &amp;#039;numărcopii&amp;#039;, &amp;#039;number_children&amp;#039;, &amp;#039;childrennumber&amp;#039;}, function() return wikidata._getValueListWithSeparator({_br_, &amp;#039;P1971&amp;#039;}), &amp;#039;P1971&amp;#039;, nil end)&lt;br /&gt;
		if numberChildren and mw.ustring.len(mw.text.trim(numberChildren)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Număr de copii&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = numberChildren&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local children = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;copii&amp;#039;, &amp;#039;children&amp;#039;}, function() return wikidata._getValueListWithSeparator({_br_, &amp;#039;P40&amp;#039;, nil, &amp;#039;10&amp;#039;}), &amp;#039;P40&amp;#039;, nil end)&lt;br /&gt;
		if children and mw.ustring.len(mw.text.trim(children)) &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Copii&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = children&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local rude = processedArgs[&amp;#039;rude&amp;#039;] or processedArgs[&amp;#039;relations&amp;#039;]&lt;br /&gt;
		if rude then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(crtLineIndex)] = &amp;#039;Rude&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(crtLineIndex)] = rude&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local citizenship = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;cetatenie&amp;#039;, &amp;#039;cetățenie&amp;#039;, &amp;#039;citizenship&amp;#039;}, function() &lt;br /&gt;
			if wdu_b.isDead() then&lt;br /&gt;
				local dateOfDeathClaims = wikidata.findBestClaimsForProperty(nil, &amp;#039;P570&amp;#039;)&lt;br /&gt;
				for _,eachDateOfDeathClaim in ipairs(dateOfDeathClaims) do&lt;br /&gt;
					local dateOfDeath = DateUtils.extractDateFromWikidataSnak(eachDateOfDeathClaim.mainsnak)&lt;br /&gt;
					if dateOfDeath and dateOfDeath.year &amp;lt; MIN_YEAR_TO_DISPLAY_CITIZENSHIP then return nil end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			local endOfCitizenship = wikidata.loadOneValueInChain({&amp;#039;P27&amp;#039;, &amp;#039;_P582&amp;#039;})&lt;br /&gt;
			if not endOfCitizenship or endOfCitizenship == &amp;#039;&amp;#039; then endOfCitizenship = wikidata.loadOneValueInChain({&amp;#039;P570&amp;#039;, &amp;#039;raw&amp;#039;}) end&lt;br /&gt;
			local list = wikidata.findValueListWithDecoratedQualifiers(nil, &amp;#039;P27&amp;#039;, false, {&amp;#039;$P580–$P582&amp;#039;}, {}, &amp;#039;P41&amp;#039;, &amp;#039;20px&amp;#039;)&lt;br /&gt;
			if list then return mw.text.listToText(list, _br_, _br_) else return nil end&lt;br /&gt;
			--return NameAndImage._nameAndFlagFromPropOfEntity(&amp;#039;P27&amp;#039;, nil, DateUtils.parseWikidataDate(endOfCitizenship))&lt;br /&gt;
		end)&lt;br /&gt;
		if citizenship then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Cetățenie&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = citizenship&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local ethnicityWdRetriever = function(entity)&lt;br /&gt;
			local ethnicityClaims = wikidata.findBestClaimsForProperty(entity, &amp;#039;P172&amp;#039;) -- ethnic group&lt;br /&gt;
			local retList = {}&lt;br /&gt;
			local female = wdu_b.isFemale(entity)&lt;br /&gt;
			&lt;br /&gt;
			if ethnicityClaims then&lt;br /&gt;
				for _,eachEthnicityClaim in pairs(ethnicityClaims) do&lt;br /&gt;
					if wikidata.hasValueSnak(eachEthnicityClaim) then&lt;br /&gt;
						local callFunction = function(objectId, female)&lt;br /&gt;
							local returnValue = nil&lt;br /&gt;
							if objectId then&lt;br /&gt;
								local demonymClaims = wikidata.findClaimsForProperty(objectId, &amp;#039;P1549&amp;#039;)&lt;br /&gt;
								for eachClaimIdx, eachClaim in pairs(demonymClaims) do&lt;br /&gt;
									if wikidata.isClaimTrue(eachClaim) and wikidata.hasValueSnak(eachClaim) then&lt;br /&gt;
										if eachClaim.mainsnak.datavalue.value.language == &amp;#039;ro&amp;#039; then&lt;br /&gt;
											local qualifierIsFeminine = eachClaim.qualifiers and ( ( eachClaim.qualifiers[&amp;#039;P21&amp;#039;] and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1] and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1].snaktype == &amp;#039;value&amp;#039; and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1].datavalue.value[&amp;#039;numeric-id&amp;#039;] == 1775415 )&lt;br /&gt;
																					or ( eachClaim.qualifiers[&amp;#039;P21&amp;#039;] and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1] and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1].snaktype == &amp;#039;value&amp;#039; and eachClaim.qualifiers[&amp;#039;P21&amp;#039;][1].datavalue.value[&amp;#039;numeric-id&amp;#039;] == 6581072 )&lt;br /&gt;
																					or (eachClaim.qualifiers[&amp;#039;P518&amp;#039;] and eachClaim.qualifiers[&amp;#039;P518&amp;#039;][1] and eachClaim.qualifiers[&amp;#039;P518&amp;#039;][1].snaktype == &amp;#039;value&amp;#039; and eachClaim.qualifiers[&amp;#039;P518&amp;#039;][1].datavalue.value[&amp;#039;numeric-id&amp;#039;] == 1775415) )&lt;br /&gt;
											if (qualifierIsFeminine and female) or (not qualifierIsFeminine and not female) then&lt;br /&gt;
												returnValue = eachClaim.mainsnak.datavalue.value.text&lt;br /&gt;
											end&lt;br /&gt;
										end&lt;br /&gt;
									end&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
							return returnValue&lt;br /&gt;
						end&lt;br /&gt;
						local callFunctionWithGender = function(object) return callFunction(object, false) end&lt;br /&gt;
						&lt;br /&gt;
						if female then callFunctionWithGender = function(object) return callFunction(object, true) end end&lt;br /&gt;
						table.insert(retList, wikidata.findLinkToItemWithCallback(eachEthnicityClaim.mainsnak.datavalue.value[&amp;#039;numeric-id&amp;#039;], false, nil, callFunctionWithGender))&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if #retList &amp;gt; 0 then&lt;br /&gt;
				retList.separator = tostring(mw.html.create(&amp;#039;br&amp;#039;))&lt;br /&gt;
				return join(retList), &amp;#039;P172&amp;#039;, nil&lt;br /&gt;
			end&lt;br /&gt;
			return nil, nil, nil&lt;br /&gt;
		end&lt;br /&gt;
		local ethnicity = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;etnie&amp;#039;, &amp;#039;ethnicity&amp;#039;}, ethnicityWdRetriever)&lt;br /&gt;
		if ethnicity then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Etnie&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = ethnicity&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local nationality = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;nationalitate&amp;#039;, &amp;#039;nationality&amp;#039;, &amp;#039;naționalitate&amp;#039;, &amp;#039;Naționalitate&amp;#039;}, function() return nil end)&lt;br /&gt;
		if not ethnicity and not citizenship and nationality then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Naționalitate&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = nationality&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local religion = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;religie&amp;#039;, &amp;#039;religion&amp;#039;, &amp;#039;confesiune&amp;#039;}, function() return wikidata._getValueListWithSeparator({_br_, &amp;#039;P140&amp;#039;}), &amp;#039;P140&amp;#039;, nil end)&lt;br /&gt;
		if religion then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Religie&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = religion&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local occupation = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;ocupație&amp;#039;, &amp;#039;occupation&amp;#039;, &amp;#039;ocupatie&amp;#039;, &amp;#039;profesiune&amp;#039;, &amp;#039;profesie&amp;#039;}, function() &lt;br /&gt;
			local occupationClaims = wikidata.findBestClaimsForProperty(nil, &amp;#039;P106&amp;#039;)&lt;br /&gt;
			local fem = wdu_b.isFemale()&lt;br /&gt;
			local occupationList = {}&lt;br /&gt;
			if occupationClaims then for _,eachOccupationClaim in ipairs(occupationClaims) do&lt;br /&gt;
				if eachOccupationClaim.mainsnak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
					table.insert(occupationList, wikidata.findLinkToItem(eachOccupationClaim.mainsnak.datavalue.value[&amp;#039;numeric-id&amp;#039;], false, fem))&lt;br /&gt;
				end&lt;br /&gt;
			end end&lt;br /&gt;
			return table.concat(occupationList, tostring(mw.html.create(&amp;#039;br&amp;#039;))), &amp;#039;P106&amp;#039;, nil&lt;br /&gt;
		end)&lt;br /&gt;
		&lt;br /&gt;
		if occupation then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Ocupație&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = occupation&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local work_location = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;loc_activitate&amp;#039;, &amp;#039;work_location&amp;#039;}, function() &lt;br /&gt;
			local workLocations = wikidata.findValueListWithQualifiersInBrackets(nil, &amp;#039;P937&amp;#039;, false, {&amp;#039;$P580&amp;#039;, &amp;#039;$P582&amp;#039;}, {&amp;#039;–&amp;#039;})&lt;br /&gt;
			if workLocations then return mw.text.listToText(workLocations, _br_, _br_), &amp;#039;P937&amp;#039;, nil end&lt;br /&gt;
		end)&lt;br /&gt;
		if work_location then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Locul desfășurării activității&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = work_location&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local spoken_langs = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;limbi_vorbite&amp;#039;, &amp;#039;limba_vorbita&amp;#039;}, function() &lt;br /&gt;
			local spokenLangs = wikidata.findValueListWithQualifiersInBrackets(nil, &amp;#039;P1412&amp;#039;, false, {&amp;#039;$P3831&amp;#039;}, {&amp;#039;, &amp;#039;})&lt;br /&gt;
			if spokenLangs then return mw.text.listToText(spokenLangs, _br_, _br_), &amp;#039;P1412&amp;#039;, nil end&lt;br /&gt;
		end)&lt;br /&gt;
		if spoken_langs then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Limbi vorbite&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = spoken_langs&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
			&lt;br /&gt;
		local net_worth = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;avere&amp;#039;, &amp;#039;net_worth&amp;#039;}, function() &lt;br /&gt;
			return wikidata.findOneValue(&amp;#039;P2218&amp;#039;)&lt;br /&gt;
		end)&lt;br /&gt;
		if net_worth then&lt;br /&gt;
			processedArgs[&amp;#039;label&amp;#039; .. tostring(labeldatacount)] = &amp;#039;Avere&amp;#039;&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(labeldatacount)] = net_worth&lt;br /&gt;
			labeldatacount = labeldatacount + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		index = 1&lt;br /&gt;
		processedArgs[&amp;#039;subheaderstyle&amp;#039;] = args[&amp;#039;stilsubtitlu&amp;#039;] or args[&amp;#039;subheaderstyle&amp;#039;] or &amp;#039;font-weight: bold; font-size: 110%&amp;#039;&lt;br /&gt;
		if args[&amp;#039;aniversare_naștere&amp;#039;] then&lt;br /&gt;
			local by = wikidata.findAnniversary(&amp;#039;P569&amp;#039;, mw.wikibase.getEntityIdForCurrentPage(), args[&amp;#039;aniversare_naștere&amp;#039;])&lt;br /&gt;
			if by and by &amp;gt; 0 then&lt;br /&gt;
				processedArgs[&amp;#039;subheader&amp;#039; .. tostring(index)] = plural.build_plural(by, &amp;quot;an&amp;quot;, &amp;quot;ani&amp;quot;) .. &amp;#039; de la naștere&amp;#039;&lt;br /&gt;
				index = index + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if args[&amp;#039;aniversare_deces&amp;#039;] then&lt;br /&gt;
			local dy = wikidata.findAnniversary(&amp;#039;P570&amp;#039;, mw.wikibase.getEntityIdForCurrentPage(), args[&amp;#039;aniversare_deces&amp;#039;])&lt;br /&gt;
			if dy and dy &amp;gt; 0 then&lt;br /&gt;
				processedArgs[&amp;#039;subheader&amp;#039; .. tostring(index)] = plural.build_plural(dy, &amp;quot;an&amp;quot;, &amp;quot;ani&amp;quot;) .. &amp;#039; de la moarte&amp;#039;&lt;br /&gt;
				index = index + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		processedArgs[&amp;#039;title&amp;#039;] = args[&amp;#039;Nume&amp;#039;] or args[&amp;#039;nume&amp;#039;] or args[&amp;#039;name&amp;#039;] or wikidata.findRoLabel() or wikidata.findNativeOrEnglishLabel()&lt;br /&gt;
		processedArgs[&amp;#039;doc&amp;#039;] = args[&amp;#039;doc&amp;#039;]&lt;br /&gt;
		processedArgs[&amp;#039;wikidata&amp;#039;] = args[&amp;#039;wikidata&amp;#039;]&lt;br /&gt;
	else&lt;br /&gt;
		processedArgs[&amp;#039;title&amp;#039;] = args[&amp;#039;default_title&amp;#039;]&lt;br /&gt;
		processedArgs[&amp;#039;parent_colspan&amp;#039;] = args[&amp;#039;parent_colspan&amp;#039;] or &amp;#039;2&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(retainedInputArgs, &amp;#039;title&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	labeldatacount = labeldatacount + 1&lt;br /&gt;
&lt;br /&gt;
	local earliestHeaderNumberAfterGeneralLabels = 0&lt;br /&gt;
	local earliestDataNumberAfterGeneralLabels = 0&lt;br /&gt;
&lt;br /&gt;
	local largestIndex = labeldatacount&lt;br /&gt;
&lt;br /&gt;
	for argN, argV in pairs(args) do&lt;br /&gt;
		local headerStart&lt;br /&gt;
		local headerEnd&lt;br /&gt;
		local labelStart&lt;br /&gt;
		local labelEnd&lt;br /&gt;
		local dataStart&lt;br /&gt;
		local dataEnd&lt;br /&gt;
		headerStart, headerEnd = mw.ustring.find(argN, &amp;quot;header&amp;quot;)&lt;br /&gt;
		labelStart, labelEnd = mw.ustring.find(argN, &amp;quot;label&amp;quot;)&lt;br /&gt;
		dataStart, dataEnd = mw.ustring.find(argN, &amp;quot;data&amp;quot;)&lt;br /&gt;
		styleStart, styleEnd = mw.ustring.find(argN, &amp;quot;style&amp;quot;)&lt;br /&gt;
		classStart, classEnd = mw.ustring.find(argN, &amp;quot;class&amp;quot;)&lt;br /&gt;
		&lt;br /&gt;
		local nr = &amp;quot;&amp;quot;&lt;br /&gt;
		local argumentName = nil&lt;br /&gt;
		if dataStart == 1 then&lt;br /&gt;
			nr = mw.ustring.sub(argN, 1 + dataEnd, mw.ustring.len(argN))&lt;br /&gt;
			argumentName = &amp;#039;data&amp;#039;&lt;br /&gt;
			if argV and mw.ustring.len(mw.text.trim(argV)) &amp;gt; 0 and nr ~= nil and mw.ustring.match(nr, &amp;#039;%d+&amp;#039;) then&lt;br /&gt;
				if earliestDataNumberAfterGeneralLabels == 0 or earliestDataNumberAfterGeneralLabels &amp;lt; tonumber(nr) then&lt;br /&gt;
					earliestDataNumberAfterGeneralLabels = tonumber(nr)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif labelStart == 1 then&lt;br /&gt;
			nr = mw.ustring.sub(argN, 1 + labelEnd, mw.ustring.len(argN))&lt;br /&gt;
			argumentName = &amp;#039;label&amp;#039;&lt;br /&gt;
		elseif headerStart == 1 then&lt;br /&gt;
			nr = mw.ustring.sub(argN, 1 + headerEnd, mw.ustring.len(argN))&lt;br /&gt;
			argumentName = &amp;#039;header&amp;#039;&lt;br /&gt;
			if argV and mw.ustring.len(mw.text.trim(argV)) &amp;gt; 0 and nr ~= nil and mw.ustring.match(nr, &amp;#039;%d+&amp;#039;) then&lt;br /&gt;
				if earliestHeaderNumberAfterGeneralLabels == 0 or earliestHeaderNumberAfterGeneralLabels &amp;lt; tonumber(nr) then&lt;br /&gt;
					earliestHeaderNumberAfterGeneralLabels = tonumber(nr)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif styleStart == 1 then&lt;br /&gt;
			nr = mw.ustring.sub(argN, 1 + styleEnd, mw.ustring.len(argN))&lt;br /&gt;
			argumentName = &amp;#039;style&amp;#039;&lt;br /&gt;
		elseif classStart == 1 then&lt;br /&gt;
			nr = mw.ustring.sub(argN, 1 + classEnd, mw.ustring.len(argN))&lt;br /&gt;
			argumentName = &amp;#039;class&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if argumentName and nr and mw.ustring.len(mw.text.trim(nr)) &amp;gt; 0 and mw.ustring.gsub(nr, &amp;#039;%d+&amp;#039;, &amp;#039;&amp;#039;) == &amp;#039;&amp;#039; then&lt;br /&gt;
			local argumentidx = labeldatacount + tonumber(nr)&lt;br /&gt;
			processedArgs[argumentName .. tostring(argumentidx)] = argV&lt;br /&gt;
			largestIndex = math.max(largestIndex, argumentidx)&lt;br /&gt;
		elseif not tableContains(retainedInputArgs, argN) then&lt;br /&gt;
			processedArgs[argN] = argV&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if earliestDataNumberAfterGeneralLabels &amp;gt; 0 and (earliestHeaderNumberAfterGeneralLabels &amp;gt; earliestDataNumberAfterGeneralLabels or earliestHeaderNumberAfterGeneralLabels == 0) then&lt;br /&gt;
		processedArgs[&amp;#039;header&amp;#039; .. tostring(labeldatacount - 1)] = args[&amp;#039;bio_header&amp;#039;] or &amp;#039;Activitate&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not processedArgs[&amp;#039;child&amp;#039;] then	&lt;br /&gt;
		local crtLineIndex = largestIndex + 1&lt;br /&gt;
		local signature = args[&amp;#039;semnătură&amp;#039;] or args[&amp;#039;semnatura&amp;#039;] or args[&amp;#039;signature&amp;#039;] or wikidata.findOneValueNoRef(&amp;#039;P109&amp;#039;, nil)&lt;br /&gt;
		if signature and signature ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			processedArgs[&amp;#039;header&amp;#039; .. tostring(crtLineIndex)] = &amp;#039;Semnătură&amp;#039;&lt;br /&gt;
			crtLineIndex = crtLineIndex + 1&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(crtLineIndex)] = infoboxImage{image=signature, size=&amp;#039;150&amp;#039;, sizedefault=&amp;#039;frameless&amp;#039;, suppressplaceholder=&amp;#039;yes&amp;#039;}&lt;br /&gt;
			crtLineIndex = crtLineIndex + 1&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local onlinelinks = {}&lt;br /&gt;
		local linkstopullfromwd = {&amp;#039;P2013&amp;#039;, &amp;#039;P2002&amp;#039;, &amp;#039;P2035&amp;#039;, &amp;#039;P2847&amp;#039;, &amp;#039;P345&amp;#039;, &amp;#039;P3265&amp;#039;, &amp;#039;P3579&amp;#039;, &amp;#039;P3435&amp;#039;, &amp;#039;P2003&amp;#039;, &amp;#039;P2471&amp;#039;, &amp;#039;P2397&amp;#039;, &amp;#039;P6634&amp;#039;, &amp;#039;P2572&amp;#039;, &amp;#039;P7085&amp;#039;, &amp;#039;P3789&amp;#039;}&lt;br /&gt;
		local webaddr = extractDedicatedArgFromInputArgs(retainedInputArgs, args, {&amp;#039;sit&amp;#039;, &amp;#039;site&amp;#039;, &amp;#039;web&amp;#039;, &amp;#039;website&amp;#039;, &amp;#039;sit-web&amp;#039;, &amp;#039;site-web&amp;#039;, &amp;#039;sit-adresă&amp;#039;, &amp;#039;URL&amp;#039;, &amp;#039;url&amp;#039;}, function() return nil end)&lt;br /&gt;
		if webaddr then&lt;br /&gt;
			if mw.ustring.find(webaddr, &amp;#039;[&amp;#039;, 1, true) then&lt;br /&gt;
				webaddr = StringUtils._substringBefore({StringUtils._substringAfter({webaddr, &amp;#039;[&amp;#039;}), &amp;#039; &amp;#039;})&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if webaddr and mw.ustring.len(mw.text.trim(webaddr)) &amp;gt; 0 then&lt;br /&gt;
			table.insert(onlinelinks, &amp;#039;[&amp;#039; .. webaddr .. &amp;#039; Site web]&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(linkstopullfromwd, 1, &amp;#039;P856&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local wdonlinelinks = wikidata.findOnlineLinks(linkstopullfromwd)&lt;br /&gt;
		for _,eachWdOnlineLink in ipairs(wdonlinelinks) do&lt;br /&gt;
			table.insert(onlinelinks, eachWdOnlineLink)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if #onlinelinks &amp;gt; 0 then&lt;br /&gt;
			processedArgs[&amp;#039;header&amp;#039; .. tostring(crtLineIndex)] = &amp;#039;Prezență online&amp;#039;&lt;br /&gt;
			crtLineIndex = crtLineIndex + 1&lt;br /&gt;
			processedArgs[&amp;#039;data&amp;#039; .. tostring(crtLineIndex)] = tostring(&lt;br /&gt;
				mw.html.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
					:wikitext(table.concat(onlinelinks, tostring(mw.html.create(&amp;#039;br&amp;#039;))))&lt;br /&gt;
			)&lt;br /&gt;
			crtLineIndex = crtLineIndex + 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return processedArgs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.displayInfoboxFromArgs = function(args)&lt;br /&gt;
	local processedArgs = processArgs(args)&lt;br /&gt;
	local outtext = infobox._infobox(processedArgs)&lt;br /&gt;
	local maintcats = {}&lt;br /&gt;
	if not processedArgs.image then&lt;br /&gt;
		table.insert(maintcats, &amp;#039;Articole biografice fără fotografii&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _,eachMaintCat in ipairs(maintcats) do&lt;br /&gt;
		outtext = outtext .. &amp;#039;[[Categorie:&amp;#039; .. eachMaintCat .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return outtext&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.displayInfobox = function(frame)&lt;br /&gt;
	local args = getArgs(frame, {parentFirst = true})&lt;br /&gt;
	return p.displayInfoboxFromArgs(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Sergiu</name></author>
	</entry>
</feed>