<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.czzzz.work/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Santorsia</id>
	<title>悠日計画 維基百科 ～ Yuuni Wiki - 用户贡献 [zh-cn]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.czzzz.work/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Santorsia"/>
	<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/Santorsia"/>
	<updated>2026-04-29T15:54:09Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4850</id>
		<title>模板:悠日铁道动力客车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4850"/>
		<updated>2022-12-05T13:10:07Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|name = 悠日铁道所用客车&lt;br /&gt;
|state = autocollapse&lt;br /&gt;
|titlestyle = border-left:solid 3em #F1C232; border-right:solid 3em #F1C232; background-color:#1F1E1E;&lt;br /&gt;
|title = [[File:yuunitetsu.png|15px]]  {{ font color | #F1C232 | 悠日鉄道 车辆列表 }}&lt;br /&gt;
|bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
|list1 = 现役车辆&lt;br /&gt;
|list1style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group2 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list2 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group2 = 悠喵号特急车&lt;br /&gt;
|list2 =  &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(1000番台)]](JE)&lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group3 = 境内直通(凛凛花号、安巽号)&lt;br /&gt;
|list3 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group4 = 跨境直通(花海号)&lt;br /&gt;
|list4 = &lt;br /&gt;
*[[悠日铁道 701 系电车]](JE)&lt;br /&gt;
*[[悠日铁道 720 系电车]](JE*)&lt;br /&gt;
|group5 = 悠日高铁(uDays 方)&lt;br /&gt;
|list5 = &lt;br /&gt;
*悠日高铁 700Y 系电车(JE)&lt;br /&gt;
}}&lt;br /&gt;
|group3 = 内燃机车形(柴联车/DMU/DR)&lt;br /&gt;
|list3 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*常磐工作室制 KIHA11 (BE,JE)(非标准车体)&lt;br /&gt;
}}&lt;br /&gt;
|group4 = 特殊用车&lt;br /&gt;
|list4 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*悠日铁道 65 系牵引车(BE,JE)&lt;br /&gt;
*悠日铁道 51 系蒸汽机车(牵引车)(BE,JE)&lt;br /&gt;
|group2 = 行政客车(花车/Saloon)&lt;br /&gt;
|list2 =&lt;br /&gt;
*悠日铁道 201 系客车(BE,JE)&lt;br /&gt;
}}&lt;br /&gt;
|list5 = 引退车辆&lt;br /&gt;
|list5style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group6 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list6 = {{Navbox subgroup&lt;br /&gt;
|group1 = 标准车体&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(原始型号)]](BE)&lt;br /&gt;
*悠日铁道 100 系电车(BE)&lt;br /&gt;
*悠日铁道 700 系电车 (BE)&lt;br /&gt;
*悠日铁道 500 系电车 (BE)&lt;br /&gt;
*[[悠日铁道 510(501) 系电车]] (BE)&lt;br /&gt;
*[[悠日铁道 400 系电车]] (BE)&lt;br /&gt;
|group2 = 非标准车体 (MCA 时期)&lt;br /&gt;
|list2 = &lt;br /&gt;
*北宫制 107 系电车&lt;br /&gt;
*凛雪重工 5100 系电车&lt;br /&gt;
*凛雪重工 1 型电车&lt;br /&gt;
*悠日电铁 401 形电车&lt;br /&gt;
*羽田铁道(佐浦重工) 7100 系电车&lt;br /&gt;
*常磐工作室制 3106 系电车&lt;br /&gt;
|group3 = 非标准车体 (uDays RTM BE 时期)&lt;br /&gt;
|list3 = &lt;br /&gt;
*悠日电铁 UR3 形电车&lt;br /&gt;
*悠日电铁 UR1000L 形电车&lt;br /&gt;
*悠日电铁 1000 形电车&lt;br /&gt;
*悠日电铁 UR3000 形电车&lt;br /&gt;
*悠日电铁 UR2000 形电车&lt;br /&gt;
*RTMworldfactory 制 EMU900 电车&lt;br /&gt;
*RTMworldfactory 制 EMU800 电车&lt;br /&gt;
*RTMworldfactory 制 TEMU1000 电车&lt;br /&gt;
*RTMworldfacotry 制 TEMU2000 电车&lt;br /&gt;
|group4 = 非标准车体 (RWA 时期)&lt;br /&gt;
|list4 = &lt;br /&gt;
*IKT Mono 500 形电车&lt;br /&gt;
*IKT TLR 600 形电车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 特殊用车&lt;br /&gt;
|list7 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*创野铁道制 200 系牵引车&lt;br /&gt;
|group2 = 行政客车&lt;br /&gt;
|list2 = &lt;br /&gt;
*凛雪重工 200 系客车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 旧端点市货运线路&lt;br /&gt;
|list7 = &lt;br /&gt;
*创野铁道制 15 系牵引车组&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:悠日铁道车辆列表模板]]&lt;br /&gt;
[[Category:悠日铁道动力客车|*]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4849</id>
		<title>模板:悠日铁道动力客车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4849"/>
		<updated>2022-12-05T13:08:04Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|name = 悠日铁道所用客车&lt;br /&gt;
|state = autocollapse&lt;br /&gt;
|titlestyle = border-left:solid 3em #F1C232; border-right:solid 3em #F1C232; background-color:#1F1E1E;&lt;br /&gt;
|title = [[File:yuunitetsu.png|15px]]  {{ font color | #F1C232 | 悠日鉄道 车辆列表 }}&lt;br /&gt;
|bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
|list1 = 现役车辆&lt;br /&gt;
|list1style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group2 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list2 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group2 = 悠喵号特急车&lt;br /&gt;
|list2 =  &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(1000番台)]](JE)&lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group3 = 境内直通(凛凛花号、安巽号)&lt;br /&gt;
|list3 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group4 = 跨境直通(花海号)&lt;br /&gt;
|list4 = &lt;br /&gt;
*[[悠日铁道 701 系电车]](JE)&lt;br /&gt;
*[[悠日铁道 720 系电车]](JE*)&lt;br /&gt;
|group5 = 悠日高铁&lt;br /&gt;
|list5 = &lt;br /&gt;
*[[悠日高铁 700Y 系电车]](JE)&lt;br /&gt;
}}&lt;br /&gt;
|group3 = 内燃机车形(柴联车/DMU/DR)&lt;br /&gt;
|list3 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*常磐工作室制 KIHA11 (BE,JE)(非标准车体)&lt;br /&gt;
}}&lt;br /&gt;
|group4 = 特殊用车&lt;br /&gt;
|list4 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*悠日铁道 65 系牵引车(BE,JE)&lt;br /&gt;
*悠日铁道 51 系蒸汽机车(牵引车)(BE,JE)&lt;br /&gt;
|group2 = 行政客车(花车/Saloon)&lt;br /&gt;
|list2 =&lt;br /&gt;
*悠日铁道 201 系客车(BE,JE)&lt;br /&gt;
}}&lt;br /&gt;
|list5 = 引退车辆&lt;br /&gt;
|list5style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group6 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list6 = {{Navbox subgroup&lt;br /&gt;
|group1 = 标准车体&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(原始型号)]](BE)&lt;br /&gt;
*悠日铁道 100 系电车(BE)&lt;br /&gt;
*悠日铁道 700 系电车 (BE)&lt;br /&gt;
*悠日铁道 500 系电车 (BE)&lt;br /&gt;
*[[悠日铁道 510(501) 系电车]] (BE)&lt;br /&gt;
*[[悠日铁道 400 系电车]] (BE)&lt;br /&gt;
|group2 = 非标准车体 (MCA 时期)&lt;br /&gt;
|list2 = &lt;br /&gt;
*北宫制 107 系电车&lt;br /&gt;
*凛雪重工 5100 系电车&lt;br /&gt;
*凛雪重工 1 型电车&lt;br /&gt;
*悠日电铁 401 形电车&lt;br /&gt;
*羽田铁道(佐浦重工) 7100 系电车&lt;br /&gt;
*常磐工作室制 3106 系电车&lt;br /&gt;
|group3 = 非标准车体 (uDays RTM BE 时期)&lt;br /&gt;
|list3 = &lt;br /&gt;
*悠日电铁 UR3 形电车&lt;br /&gt;
*悠日电铁 UR1000L 形电车&lt;br /&gt;
*悠日电铁 1000 形电车&lt;br /&gt;
*悠日电铁 UR3000 形电车&lt;br /&gt;
*悠日电铁 UR2000 形电车&lt;br /&gt;
*RTMworldfactory 制 EMU900 电车&lt;br /&gt;
*RTMworldfactory 制 EMU800 电车&lt;br /&gt;
*RTMworldfactory 制 TEMU1000 电车&lt;br /&gt;
*RTMworldfacotry 制 TEMU2000 电车&lt;br /&gt;
|group4 = 非标准车体 (RWA 时期)&lt;br /&gt;
|list4 = &lt;br /&gt;
*IKT Mono 500 形电车&lt;br /&gt;
*IKT TLR 600 形电车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 特殊用车&lt;br /&gt;
|list7 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*创野铁道制 200 系牵引车&lt;br /&gt;
|group2 = 行政客车&lt;br /&gt;
|list2 = &lt;br /&gt;
*凛雪重工 200 系客车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 旧端点市货运线路&lt;br /&gt;
|list7 = &lt;br /&gt;
*创野铁道制 15 系牵引车组&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:悠日铁道车辆列表模板]]&lt;br /&gt;
[[Category:悠日铁道动力客车|*]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4848</id>
		<title>悠日铁道 402 系电车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4848"/>
		<updated>2022-12-05T11:53:27Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{caution|&#039;&#039;&#039;402 系原始番台在仅在悠日计画 BE 中可用，402 系 1000 番台仅在悠日计画 JE 中可用&#039;&#039;&#039;}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox train&lt;br /&gt;
|車輛名稱 = 悠日铁道 402 系电车&lt;br /&gt;
|公司色 = #5E2028&lt;br /&gt;
|標題色 = #C2A279&lt;br /&gt;
|圖像 = Yuunitetsu_402_Series_JE.jpg&lt;br /&gt;
|圖像替代文字 = &lt;br /&gt;
|圖像說明 = 停靠在花都车站的 402 系原始车体梅花编组(JE)。&lt;br /&gt;
|外形設計 = 悠日铁道 标准 4 系车体设计&lt;br /&gt;
|製造 = SantorsiaWorks&lt;br /&gt;
|改造 =&lt;br /&gt;
|組裝 = &lt;br /&gt;
|產量 = 29(BE), JE(6)&lt;br /&gt;
|車輛總數 = 13 组合 27 辆(原始番台,BE) 2 组合 6 辆(1000 番台,JE)&lt;br /&gt;
|投產年份 = 2022.4&lt;br /&gt;
|停產年份 = &lt;br /&gt;
|投入服務 = 2022.4&lt;br /&gt;
|退出服務 = &lt;br /&gt;
|報廢 = &lt;br /&gt;
|用戶 = 悠日铁道、佐浦重工&lt;br /&gt;
|路線 = [[File:yuunitetsu.png|15px]] 端巽线、[[File:yuunitetsu.png|15px]] 高原线&lt;br /&gt;
|車輛基地 = 南岐车辆段、赤岸车辆段&lt;br /&gt;
|暱稱 = San车&lt;br /&gt;
|編組長度 = 42.4&lt;br /&gt;
|車輛長度 = 21200&lt;br /&gt;
|車輛寬度 = 2350&lt;br /&gt;
|車輛高度 = &lt;br /&gt;
|月台高度 = 1000&lt;br /&gt;
|軌距 = 1067&lt;br /&gt;
|轉向架 = DT402(BE)、YuuniDT 乙型(1067, JE)&lt;br /&gt;
|車門 = 单节单面 4 门&lt;br /&gt;
|載客量 = 单节 28 人&lt;br /&gt;
|營運最高速度 = 73&lt;br /&gt;
|設計最高速度 = 100&lt;br /&gt;
|試驗最高速度 = 140&lt;br /&gt;
|起動加速度 = 2.28&lt;br /&gt;
|常用減速度 = 3.0&lt;br /&gt;
|控制裝置 = MTR 模组控制器、MCA 实体控制器、uDays 实体检测红石计算机&lt;br /&gt;
|驅動裝置 = MTR 模组控制器、MCA 实体控制器&lt;br /&gt;
|保安裝置 = &lt;br /&gt;
|備註 = &lt;br /&gt;
|全寬備註 = &lt;br /&gt;
|取代了 = [[悠日铁道 400 系电车]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;悠日铁道 402 系电车&#039;&#039;&#039;(Yuunitetsu 402 Series)是 SantorsiaWorks 设计、悠日铁道所使用的一款复古风格的中短途通勤用车体模型，因由 402 系设计为 2M 编组，不具备 UT 无动力车，因此 402 系曾经通常被用其开发代号 &#039;&#039;&#039;UD-402&#039;&#039;&#039; 作为代称，但现在被统一称为 &#039;&#039;&#039;402 系&#039;&#039;&#039;。悠日铁道 402 系电车通常被认为是悠日铁道(SantorsiaWorks)在基岩平台的代表性车辆，其最初从 2022 年 4 月开始交付，基岩平台一共生产了 29 节原始车体（UD 402-1 至 402-29)用于自用或交付其他工作室，这些车辆均在 2022 年 12 月 5 日报废除籍，由适用于 JE 平台的 402 系 1000 番台改型取代， 402 系 1000 番台目前一共生产了 6 节车体，并较之原始 402 系的 2M 编组额外具有一节中间车 UT 402-1000 (2M1T)，因其依赖 NTE 扩展运行，考量优化状况，在悠日计画 JE 平台，402 系 1000 番台仅投入悠喵特急车营运。&lt;br /&gt;
&lt;br /&gt;
==概要==&lt;br /&gt;
402 系电车是悠日铁道在 2022 年初启用“标准车体化”后的第一款标准车体。其完全由带有厚度的块面制造，并通过堆砌较之同类者更多的块面以实现”平滑的曲面&amp;quot;效果。因此其单节车体块数达到了 8200(动力车)，从而导致了部分玩家在乘搭列车时的性能问题，因此目前普遍观点认为 402 系电车是 SantorsiaWorks 的“炫技产物”而非“真正出于玩家通勤需求”的车辆。&lt;br /&gt;
&lt;br /&gt;
402 系电车相承了[[悠日铁道 400 系电车]](旧称 UR4000)的配色与主要构成因素，但更强调“优雅与复古”。在 402 系电车设计时，正逢悠日铁道将其自身定位由“捷运通勤系统”转变为“强调氛围感的人文乘车体验”之际([[5.2204 uDays Hana|5.2204 期间]]，因此设计上完全为观感优化并融入了彼时悠日铁道所重新更换的一系列新标准车站“黑金”装潢风格。因此402 系电车的外形上其类似于现实中 1930 年至 1970 年常见的通勤车辆。车身采用“暗红——浅棕”色系构成，以在配合车站“黑金”装潢风格下凸显车辆的视觉效果，外蒙皮覆盖有装饰性的铆钉并配有翻页钟风格的导向指示器及可自动旋转的电风扇，但这些电风扇一经开启后即无法关闭，因此被批“占用设备性能资源”。&lt;br /&gt;
&lt;br /&gt;
402 系电车基本配置大致遵循了前级的 400 系电车。单节单面 4 门设计，宽为 2350 mm (47 格块)，长为 21.2 m。最高设计速度为 100 km/h，但受端巽线机能限制，因此营运最高速度是 73 km/h。截至 2022 年 10 月，悠日铁道在端巽线运营 7 编组共 14 节车厢(基岩平台)。402 系电车在悠日计画主体迁移 JE 后一度有废弃开发适用于 Java 平台的 403 系计划，但因车辆细节传承迭代性“无法取得与 402 系一致的水平”因此被长期搁置。在 2022 年 12 月，因由 MTR 模组扩展模组 NTE 模型支持了调用 OBJ 模型格式，因此 402 系原始车体被修改为 402 系 1000 番台改型以 OBJ 形式得以在悠日计画 JE 中继续营运，此外，也增加了中间无动力车 UT 402-1000&lt;br /&gt;
&lt;br /&gt;
==命名==&lt;br /&gt;
402 系电车归属于悠日铁道标准车体中的“4 系”车辆，即“复古风格的中短途通勤车体”。是悠日铁道标准车体化后所开发并使用的第一款车体，也是悠日铁道的第三款自造车体，原型车使用 401 系作为命名，但最终发现 2021 年已经存在同样命名且已占用注册值的车体，因此最终量产的电车被命名为 402 系。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
===开发过程===&lt;br /&gt;
====悠日铁道命名系统及使用车体的混乱====&lt;br /&gt;
在悠日铁道标准车体化前，运行于端巽线及高原线的车辆及车辆运营方混乱不堪。在短短 6 公里的端巽线上竟同时存在多达 12 种不同车体，其各自使用的实体控制器核心也完全不同，彼时端巽线及高原线的车站完全无法准确处理不同车辆的不同实体控制器从而给予不同的启动参数，因此许多车辆往往被滞留在车站站台上而无法被自动启动。在这种情况下，悠日铁道的总体运量与准时性亦受打击，因由而生悠日铁道“标准化”的计画。&lt;br /&gt;
&lt;br /&gt;
====新型氛围列车的概念====&lt;br /&gt;
[[File:leavefield_railway_Station6.jpg|200px|thumb|捷运化时期(2021.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
[[File:leavefield_railway_Station4.jpg|200px|thumb|氛围化后(2022.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
&lt;br /&gt;
由于服务器负载问题，端巽线的最高速度已经达至极限水平 75km/h，且预留空间无法增设复线，实际上无法通过任何方式来对日后的通勤需求进行有效的增备。且出于对悠日铁道的实际玩家乘搭量研究，因此 uDays 管理组、SantorsiaWorks 在 2022 年 3 月初总结了“悠日铁道取消捷运通勤化&amp;quot;方案，试图将悠日铁道转变为“更强调氛围感辅以通勤效能”的常规铁道系统。在 3 月中旬至 4 月初，基于这一新方案而生的悠日铁道 2022 年统一装潢设计系统(5.22)被开发应用至端巽线的所有车站中。而全新设计，能“代表 uDays 水准”的新型列车车体也被提上了计画。&lt;br /&gt;
&lt;br /&gt;
====设计标准通勤列车====&lt;br /&gt;
2022 年 4 月初，针对原有 RTM BE 实体控制器容错能力低，无法更改加速度的问题。新型标准通勤列车被设计为依靠第三方 MCA 实体控制器实现动力系统，而非依靠 uDays 自行制造的 RTM BE 实体控制器，因此遭到了一些玩家的不满。402 系电车初始加速度被设计为 2.28 km/h，高于于 400 系电车的 2.0 km/h。SantorsiaWorks 试图利用列车以更快的速度通过车站封闭区间来降低车站车次间的间隔。&lt;br /&gt;
&lt;br /&gt;
为了防止列车相互碰撞，uDays 工程组使用了基于原先 RTM BE 下的实体控制红石计算机进行修改以适配新的 MCA 核心基准。该系统迫使后车若距前车不到 50 格半径内则令后车停止运行并在 30 秒内重新开始运行，在修改为 MCA 核心基准后，启停间隔被缩短至 5 秒。因此端巽线最高发车密度间隔可压缩至 5 分钟。&lt;br /&gt;
&lt;br /&gt;
在 402 系外形设计时，其广泛参考了现实中的旧式电车设计，但形制上更接近于 1930 年常见的欧式风格电车，而配色上却更接近于 JR 的旧式特急电车。&lt;br /&gt;
&lt;br /&gt;
====前期车辆制造====&lt;br /&gt;
=====原型车第一阶段=====&lt;br /&gt;
[[File:ud401-prototype1.jpg|200px|thumb|第一阶段的原型车于南岐车辆段]]&lt;br /&gt;
2022 年（悠日 5 年) 4 月 15 日，2 辆先行原型车(UD 401-1 及 UD401-2)落成，相比于最终量产的 402 系，先行原型车在外形上有完全不同的风格，更接近于原始 400 系电车。采用方形进气口、等高车窗、更大的乘务员室展望窗与更细长的红色装饰线条。&lt;br /&gt;
&lt;br /&gt;
=====原型车第二阶段=====&lt;br /&gt;
[[File:ud401-prototype2.jpg|200px|thumb|第二阶段的原型车于南岐车辆段]]&lt;br /&gt;
[[File:ud401-prototype3.jpg|200px|thumb|量产的 402 系，但此时仍称 UD 401]]&lt;br /&gt;
4 月 22 日，402 系电车经过了一阶段验收，开始进入评估阶段，同样制造了用于评估的车辆(UD 401-3 及 UD 401-4)，相对于原型车，UD 401-3 及 UD 401-4 采用了更为一体化的涂装，并进行了一些细节改进，此外调整了乘务员室展望窗的比例，并将进气口修改为原型，每个车窗都增大了 15%，改进了气动门的显示效果与装饰线条，此外添加了块构成的吊环。&lt;br /&gt;
&lt;br /&gt;
====量产车辆====&lt;br /&gt;
4 月 30 日，402 系电车商业运营化评估通过。但最终量产车辆与评估阶段设计也有相当巨大的差异，车体结构被重新调整，尾车中提供了横向座椅以是用“指定席”需求。乘务员室展望窗修改为圆角矩形弧度，并更换了集电弓的细节使之更为“细长”。首组 402 系电车(UD 402-1 及 UD 402-2)自 5 月 1 日起于端巽线上开始营运。&lt;br /&gt;
&lt;br /&gt;
==设计==&lt;br /&gt;
===车身===&lt;br /&gt;
402 系电车车身大体编排类似于 400 系电车，单侧四门。提供了“铁皮”风格的外蒙皮，也有装饰性的铆钉覆盖在车身处(出于性能考虑，uDays 工程组在 2022 年 5 月 25 日移除了全系 402 车头部分外的所有铆钉)。随着制造的进展，不同时期制造的 402 系电车的设计变化略有修改，例如最初的 UD 402-1 与当下最新的 UD 402-29 车顶曲线、车辆灯光亮度、车内地板都有不同。&lt;br /&gt;
&lt;br /&gt;
最初的 UD 402-1 及 UD 402-2 使用了灰色油毡风格的地板，从 UD 402-10 开始，开始使用木纹风格的地板取代之。&lt;br /&gt;
&lt;br /&gt;
===乘务员室===&lt;br /&gt;
乘务员室展望窗是圆角矩形弧度的三分窗口，类似于 400 系电车，因美学要求，实际大小远小于前者，从 UD 402-15 开始，为了使车辆所有窗口平齐以取得视觉平衡，因此展望窗高度略有降低。&lt;br /&gt;
&lt;br /&gt;
乘务员室是基于《互通计画》引用的 not 制 103 系设备，但有一定修正。仪表盘主要由速度显示器、压力显示器、构成。速度控制被集成在制动手柄中，车辆加减速的时候制动手柄会进行旋转以匹配驾驶者的需求。在自动运营时，制动手柄会被锁死在 Auto 挡。&lt;br /&gt;
&lt;br /&gt;
===转向架===&lt;br /&gt;
402 系电车使用了 400 系电车的 DT400 型转向架的迭代版本，被称为 DT402，相对于 DT400 型转向架最大的不同是将许多棱形结构修改为圆形。&lt;br /&gt;
&lt;br /&gt;
====目的地表示====&lt;br /&gt;
402 系电车内部使用了“电子墨水”屏风格的导向指示器，外部设计为翻页钟风格的牌匾式导向指示器。虽因端巽线取消了快速车种因此担任的是“普通区间车”，但依然写有“特快”字样。&lt;br /&gt;
&lt;br /&gt;
==形式编成==&lt;br /&gt;
===基岩平台悠云号区间车各编成(全数废止)===&lt;br /&gt;
运营于端巽线的悠云号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 6 组编组，一共 12 节车厢。在2022 年 12 月 5 日全数废止。&lt;br /&gt;
====梅花编组 (永久)====&lt;br /&gt;
2组利用 uDays “梅花标”为涂装的永久彩绘车辆编组，即 UD 402-1 至 UD 402-4，是 402 系的标准车体。被广泛用于 uDays 对外宣传中。&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-1.jpg|200px|thumb|最初的 UD402 量产车辆(UD 402-1 及 UD 402-2，22 年 8 月 29 日于[[吧村车站]]]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|第一组||UD 402-1&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-2&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|-&lt;br /&gt;
|第二组||UD 402-3&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-4&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====樱花编组 (永久)====&lt;br /&gt;
基于《互通计画》用于同时出口至佐浦重工工作室的一组永久彩绘车辆编组，即 UD 402-5 与 UD 402-6，有别于其他 402 系电车，该车组使用了粉色-水系棕色系而非深红色-褐色色系，其他和普通 402 相差不大。此外使用了樱花为主题元素的涂装。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-5-2210.jpg|200px|thumb|402 系樱花编组车辆于大田区间，22 年 10 月]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-5&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-6&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====兰花编组 (永久)====&lt;br /&gt;
1组实际由花都市公营地下铁系统拥有的车体，即 UD 402-7 及 UD402-8，前身是 Orangal(オレンジオ)编组，八三零事件后原彩绘被清除，改为花都“兰花标”彩绘，车内贴纸均为花都旅行推介。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-7&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-8&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====白玉兰编组 (永久)====&lt;br /&gt;
一组实际由 Yukikaze EV 拥有的车体，即 UD 402-9 及 UD 402-10，有别于其他 402 系，该车组更接近于 402 第二原型阶段的非圆角矩形乘务员室窗，此外采用了木纹地板及灰白风格的座椅涂装。车内旅客信息系统亦被移除，同时两节车辆均为横向座椅而非传统 402 的一纵一横座椅布置。&lt;br /&gt;
&lt;br /&gt;
该车的彩绘是 Yukikaze 自己的像素头像。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-9&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-10&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====桃箱编组  (永久)====&lt;br /&gt;
一组实际由 Hakowwwww 拥有的车体，即 UD 402-11 及 UD 402-12，拥有 uDays 主题粉色的线条彩绘涂装，其他地方与传统 402 类似，但从 UD 402-11 开始，车内的地板都被换成了木纹风格(桦木风格而非 UD 402-9 及 UD402-10 的黑橡木风格)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-11&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-12&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====抹茶编组 (报废)====&lt;br /&gt;
一组原先由端点市拥有的车体，即 UD 402-13 及 402-14，有别于其他 402 系电车，该车组使用了浅绿色-白色系而非深红色-褐色色系，其他和普通 402 相差不大。&lt;br /&gt;
&lt;br /&gt;
在 2022 年 7 月前后，因实体检测计算机工作失误，该车辆编组在越过江南车站区间后坠入海底，直至 8 月 16 日才被发现。至 8 月 20 日方被 uDays 工程组处理，因被部分玩家记录了截图，该车辆编组最终被废止。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-13&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-14&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===悠远号区间车各编成===&lt;br /&gt;
运营于高原的悠远号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 2 组编组，一共 4 节车厢。&lt;br /&gt;
&lt;br /&gt;
====赤岸编组 (永久)====&lt;br /&gt;
一组实际由 DX_Lin 拥有的车体，即 UD 402-17 及 UD 402-18，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-17&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-18&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====沙荫编组 (永久)====&lt;br /&gt;
一组实际由端点市沙荫镇拥有的车体，即 UD 402-25 及 UD 402-26，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-25&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-26&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{悠日铁道动力客车}}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4847</id>
		<title>模板:悠日铁道动力客车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4847"/>
		<updated>2022-12-05T11:51:51Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|name = 悠日铁道所用客车&lt;br /&gt;
|state = autocollapse&lt;br /&gt;
|titlestyle = border-left:solid 3em #F1C232; border-right:solid 3em #F1C232; background-color:#1F1E1E;&lt;br /&gt;
|title = [[File:yuunitetsu.png|15px]]  {{ font color | #F1C232 | 悠日鉄道 车辆列表 (不含高铁) }}&lt;br /&gt;
|bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
|list1 = 现役车辆&lt;br /&gt;
|list1style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group2 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list2 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group2 = 悠喵号特急车&lt;br /&gt;
|list2 =  &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(1000番台)]](JE)&lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group3 = 境内直通(凛凛花号、安巽号)&lt;br /&gt;
|list3 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group4 = 跨境直通(花海号)&lt;br /&gt;
|list4 = &lt;br /&gt;
*[[悠日铁道 701 系电车]](JE)&lt;br /&gt;
*[[悠日铁道 720 系电车]](JE*)&lt;br /&gt;
}}&lt;br /&gt;
|group3 = 内燃机车形(柴联车/DMU/DR)&lt;br /&gt;
|list3 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*常磐工作室制 KIHA11 (BE)(非标准车体)&lt;br /&gt;
}}&lt;br /&gt;
|group4 = 特殊用车&lt;br /&gt;
|list4 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*悠日铁道 65 型牵引车(BE)&lt;br /&gt;
*悠日铁道 51 型蒸汽机车(牵引车)(JE*)&lt;br /&gt;
|group2 = 行政客车(花车/Saloon)&lt;br /&gt;
|list2 =&lt;br /&gt;
*悠日铁道 201 系客车(BE)&lt;br /&gt;
}}&lt;br /&gt;
|list5 = 引退车辆&lt;br /&gt;
|list5style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group6 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list6 = {{Navbox subgroup&lt;br /&gt;
|group1 = 标准车体&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 402 系电车|悠日铁道 402 系电车(原始型号)]](BE)&lt;br /&gt;
*悠日铁道 100 系电车(BE)&lt;br /&gt;
*悠日铁道 700 系电车 (BE)&lt;br /&gt;
*悠日铁道 500 系电车 (BE)&lt;br /&gt;
*[[悠日铁道 510(501) 系电车]] (BE)&lt;br /&gt;
*[[悠日铁道 400 系电车]] (BE)&lt;br /&gt;
|group2 = 非标准车体 (MCA 时期)&lt;br /&gt;
|list2 = &lt;br /&gt;
*北宫制 107 系电车&lt;br /&gt;
*凛雪重工 5100 系电车&lt;br /&gt;
*凛雪重工 1 型电车&lt;br /&gt;
*悠日电铁 401 形电车&lt;br /&gt;
*羽田铁道(佐浦重工) 7100 系电车&lt;br /&gt;
*常磐工作室制 3106 系电车&lt;br /&gt;
|group3 = 非标准车体 (uDays RTM BE 时期)&lt;br /&gt;
|list3 = &lt;br /&gt;
*悠日电铁 UR3 形电车&lt;br /&gt;
*悠日电铁 UR1000L 形电车&lt;br /&gt;
*悠日电铁 1000 形电车&lt;br /&gt;
*悠日电铁 UR3000 形电车&lt;br /&gt;
*悠日电铁 UR2000 形电车&lt;br /&gt;
*RTMworldfactory 制 EMU900 电车&lt;br /&gt;
*RTMworldfactory 制 EMU800 电车&lt;br /&gt;
*RTMworldfactory 制 TEMU1000 电车&lt;br /&gt;
*RTMworldfacotry 制 TEMU2000 电车&lt;br /&gt;
|group4 = 非标准车体 (RWA 时期)&lt;br /&gt;
|list4 = &lt;br /&gt;
*IKT Mono 500 形电车&lt;br /&gt;
*IKT TLR 600 形电车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 特殊用车&lt;br /&gt;
|list7 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*创野铁道制 200 系牵引车&lt;br /&gt;
|group2 = 行政客车&lt;br /&gt;
|list2 = &lt;br /&gt;
*凛雪重工 200 系客车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 旧端点市货运线路&lt;br /&gt;
|list7 = &lt;br /&gt;
*创野铁道制 15 系牵引车组&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:悠日铁道车辆列表模板]]&lt;br /&gt;
[[Category:悠日铁道动力客车|*]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4846</id>
		<title>悠日铁道 402 系电车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4846"/>
		<updated>2022-12-05T11:51:22Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{caution|&#039;&#039;&#039;402 系原始番台在仅在悠日计画 BE 中可用，402 系 1000 番台仅在悠日计画 JE 中可用&#039;&#039;&#039;}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox train&lt;br /&gt;
|車輛名稱 = 悠日铁道 402 系电车&lt;br /&gt;
|公司色 = #5E2028&lt;br /&gt;
|標題色 = #C2A279&lt;br /&gt;
|圖像 = Yuunitetsu_402_Series_JE.jpg&lt;br /&gt;
|圖像替代文字 = &lt;br /&gt;
|圖像說明 = 停靠在花都车站的 402 系原始车体梅花编组(JE)。&lt;br /&gt;
|外形設計 = 悠日铁道 标准 4 系车体设计&lt;br /&gt;
|製造 = SantorsiaWorks&lt;br /&gt;
|改造 =&lt;br /&gt;
|組裝 = &lt;br /&gt;
|產量 = 29(BE), JE(6)&lt;br /&gt;
|車輛總數 = 13 组合 27 辆(原始番台,BE) 2 组合 6 辆(1000 番台,JE)&lt;br /&gt;
|投產年份 = 2022.4&lt;br /&gt;
|停產年份 = &lt;br /&gt;
|投入服務 = 2022.4&lt;br /&gt;
|退出服務 = &lt;br /&gt;
|報廢 = &lt;br /&gt;
|用戶 = 悠日铁道、佐浦重工&lt;br /&gt;
|路線 = [[File:yuunitetsu.png|15px]] 端巽线、[[File:yuunitetsu.png|15px]] 高原线&lt;br /&gt;
|車輛基地 = 南岐车辆段、赤岸车辆段&lt;br /&gt;
|暱稱 = San车&lt;br /&gt;
|編組長度 = 42.4&lt;br /&gt;
|車輛長度 = 21200&lt;br /&gt;
|車輛寬度 = 2350&lt;br /&gt;
|車輛高度 = &lt;br /&gt;
|月台高度 = 1000&lt;br /&gt;
|軌距 = 1067&lt;br /&gt;
|轉向架 = DT402(BE)、YuuniDT 乙型(1067, JE)&lt;br /&gt;
|車門 = 单节单面 4 门&lt;br /&gt;
|載客量 = 单节 28 人&lt;br /&gt;
|營運最高速度 = 73&lt;br /&gt;
|設計最高速度 = 100&lt;br /&gt;
|試驗最高速度 = 140&lt;br /&gt;
|起動加速度 = 2.28&lt;br /&gt;
|常用減速度 = 3.0&lt;br /&gt;
|控制裝置 = MTR 模组控制器、MCA 实体控制器、uDays 实体检测红石计算机&lt;br /&gt;
|驅動裝置 = MTR 模组控制器、MCA 实体控制器&lt;br /&gt;
|保安裝置 = &lt;br /&gt;
|備註 = &lt;br /&gt;
|全寬備註 = &lt;br /&gt;
|取代了 = [[悠日铁道 400 系电车]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;悠日铁道 402 系电车&#039;&#039;&#039;(Yuunitetsu 402 Series)是 SantorsiaWorks 设计、悠日铁道所使用的一款复古风格的中短途通勤用车体模型，因由 402 系设计为 2M 编组，不具备 UT 无动力车，因此 402 系曾经通常被用其开发代号 &#039;&#039;&#039;UD-402&#039;&#039;&#039; 作为代称，但现在被统一称为 &#039;&#039;&#039;402 系&#039;&#039;&#039;。悠日铁道 402 系电车通常被认为是悠日铁道(SantorsiaWorks)在基岩平台的代表性车辆，其最初从 2022 年 4 月开始交付，基岩平台一共生产了 29 节原始车体（UD 402-1 至 402-29)用于自用或交付其他工作室，这些车辆均在 2022 年 12 月 5 日报废除籍，由适用于 JE 平台的 402 系 1000 番台改型取代， 402 系 1000 番台目前一共生产了 6 节车体，并较之原始 402 系具有中间车 UT 402-1000，因由其依赖 NTE 扩展运行，考量优化状况，因此在悠日计画 JE 平台，402 系仅仅用于悠喵特急车。&lt;br /&gt;
&lt;br /&gt;
==概要==&lt;br /&gt;
402 系电车是悠日铁道在 2022 年初启用“标准车体化”后的第一款标准车体。其完全由带有厚度的块面制造，并通过堆砌较之同类者更多的块面以实现”平滑的曲面&amp;quot;效果。因此其单节车体块数达到了 8200(动力车)，从而导致了部分玩家在乘搭列车时的性能问题，因此目前普遍观点认为 402 系电车是 SantorsiaWorks 的“炫技产物”而非“真正出于玩家通勤需求”的车辆。&lt;br /&gt;
&lt;br /&gt;
402 系电车相承了[[悠日铁道 400 系电车]](旧称 UR4000)的配色与主要构成因素，但更强调“优雅与复古”。在 402 系电车设计时，正逢悠日铁道将其自身定位由“捷运通勤系统”转变为“强调氛围感的人文乘车体验”之际([[5.2204 uDays Hana|5.2204 期间]]，因此设计上完全为观感优化并融入了彼时悠日铁道所重新更换的一系列新标准车站“黑金”装潢风格。因此402 系电车的外形上其类似于现实中 1930 年至 1970 年常见的通勤车辆。车身采用“暗红——浅棕”色系构成，以在配合车站“黑金”装潢风格下凸显车辆的视觉效果，外蒙皮覆盖有装饰性的铆钉并配有翻页钟风格的导向指示器及可自动旋转的电风扇，但这些电风扇一经开启后即无法关闭，因此被批“占用设备性能资源”。&lt;br /&gt;
&lt;br /&gt;
402 系电车基本配置大致遵循了前级的 400 系电车。单节单面 4 门设计，宽为 2350 mm (47 格块)，长为 21.2 m。最高设计速度为 100 km/h，但受端巽线机能限制，因此营运最高速度是 73 km/h。截至 2022 年 10 月，悠日铁道在端巽线运营 7 编组共 14 节车厢(基岩平台)。402 系电车在悠日计画主体迁移 JE 后一度有废弃开发适用于 Java 平台的 403 系计划，但因车辆细节传承迭代性“无法取得与 402 系一致的水平”因此被长期搁置。在 2022 年 12 月，因由 MTR 模组扩展模组 NTE 模型支持了调用 OBJ 模型格式，因此 402 系原始车体被修改为 402 系 1000 番台改型以 OBJ 形式得以在悠日计画 JE 中继续营运，此外，也增加了中间无动力车 UT 402-1000&lt;br /&gt;
&lt;br /&gt;
==命名==&lt;br /&gt;
402 系电车归属于悠日铁道标准车体中的“4 系”车辆，即“复古风格的中短途通勤车体”。是悠日铁道标准车体化后所开发并使用的第一款车体，也是悠日铁道的第三款自造车体，原型车使用 401 系作为命名，但最终发现 2021 年已经存在同样命名且已占用注册值的车体，因此最终量产的电车被命名为 402 系。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
===开发过程===&lt;br /&gt;
====悠日铁道命名系统及使用车体的混乱====&lt;br /&gt;
在悠日铁道标准车体化前，运行于端巽线及高原线的车辆及车辆运营方混乱不堪。在短短 6 公里的端巽线上竟同时存在多达 12 种不同车体，其各自使用的实体控制器核心也完全不同，彼时端巽线及高原线的车站完全无法准确处理不同车辆的不同实体控制器从而给予不同的启动参数，因此许多车辆往往被滞留在车站站台上而无法被自动启动。在这种情况下，悠日铁道的总体运量与准时性亦受打击，因由而生悠日铁道“标准化”的计画。&lt;br /&gt;
&lt;br /&gt;
====新型氛围列车的概念====&lt;br /&gt;
[[File:leavefield_railway_Station6.jpg|200px|thumb|捷运化时期(2021.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
[[File:leavefield_railway_Station4.jpg|200px|thumb|氛围化后(2022.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
&lt;br /&gt;
由于服务器负载问题，端巽线的最高速度已经达至极限水平 75km/h，且预留空间无法增设复线，实际上无法通过任何方式来对日后的通勤需求进行有效的增备。且出于对悠日铁道的实际玩家乘搭量研究，因此 uDays 管理组、SantorsiaWorks 在 2022 年 3 月初总结了“悠日铁道取消捷运通勤化&amp;quot;方案，试图将悠日铁道转变为“更强调氛围感辅以通勤效能”的常规铁道系统。在 3 月中旬至 4 月初，基于这一新方案而生的悠日铁道 2022 年统一装潢设计系统(5.22)被开发应用至端巽线的所有车站中。而全新设计，能“代表 uDays 水准”的新型列车车体也被提上了计画。&lt;br /&gt;
&lt;br /&gt;
====设计标准通勤列车====&lt;br /&gt;
2022 年 4 月初，针对原有 RTM BE 实体控制器容错能力低，无法更改加速度的问题。新型标准通勤列车被设计为依靠第三方 MCA 实体控制器实现动力系统，而非依靠 uDays 自行制造的 RTM BE 实体控制器，因此遭到了一些玩家的不满。402 系电车初始加速度被设计为 2.28 km/h，高于于 400 系电车的 2.0 km/h。SantorsiaWorks 试图利用列车以更快的速度通过车站封闭区间来降低车站车次间的间隔。&lt;br /&gt;
&lt;br /&gt;
为了防止列车相互碰撞，uDays 工程组使用了基于原先 RTM BE 下的实体控制红石计算机进行修改以适配新的 MCA 核心基准。该系统迫使后车若距前车不到 50 格半径内则令后车停止运行并在 30 秒内重新开始运行，在修改为 MCA 核心基准后，启停间隔被缩短至 5 秒。因此端巽线最高发车密度间隔可压缩至 5 分钟。&lt;br /&gt;
&lt;br /&gt;
在 402 系外形设计时，其广泛参考了现实中的旧式电车设计，但形制上更接近于 1930 年常见的欧式风格电车，而配色上却更接近于 JR 的旧式特急电车。&lt;br /&gt;
&lt;br /&gt;
====前期车辆制造====&lt;br /&gt;
=====原型车第一阶段=====&lt;br /&gt;
[[File:ud401-prototype1.jpg|200px|thumb|第一阶段的原型车于南岐车辆段]]&lt;br /&gt;
2022 年（悠日 5 年) 4 月 15 日，2 辆先行原型车(UD 401-1 及 UD401-2)落成，相比于最终量产的 402 系，先行原型车在外形上有完全不同的风格，更接近于原始 400 系电车。采用方形进气口、等高车窗、更大的乘务员室展望窗与更细长的红色装饰线条。&lt;br /&gt;
&lt;br /&gt;
=====原型车第二阶段=====&lt;br /&gt;
[[File:ud401-prototype2.jpg|200px|thumb|第二阶段的原型车于南岐车辆段]]&lt;br /&gt;
[[File:ud401-prototype3.jpg|200px|thumb|量产的 402 系，但此时仍称 UD 401]]&lt;br /&gt;
4 月 22 日，402 系电车经过了一阶段验收，开始进入评估阶段，同样制造了用于评估的车辆(UD 401-3 及 UD 401-4)，相对于原型车，UD 401-3 及 UD 401-4 采用了更为一体化的涂装，并进行了一些细节改进，此外调整了乘务员室展望窗的比例，并将进气口修改为原型，每个车窗都增大了 15%，改进了气动门的显示效果与装饰线条，此外添加了块构成的吊环。&lt;br /&gt;
&lt;br /&gt;
====量产车辆====&lt;br /&gt;
4 月 30 日，402 系电车商业运营化评估通过。但最终量产车辆与评估阶段设计也有相当巨大的差异，车体结构被重新调整，尾车中提供了横向座椅以是用“指定席”需求。乘务员室展望窗修改为圆角矩形弧度，并更换了集电弓的细节使之更为“细长”。首组 402 系电车(UD 402-1 及 UD 402-2)自 5 月 1 日起于端巽线上开始营运。&lt;br /&gt;
&lt;br /&gt;
==设计==&lt;br /&gt;
===车身===&lt;br /&gt;
402 系电车车身大体编排类似于 400 系电车，单侧四门。提供了“铁皮”风格的外蒙皮，也有装饰性的铆钉覆盖在车身处(出于性能考虑，uDays 工程组在 2022 年 5 月 25 日移除了全系 402 车头部分外的所有铆钉)。随着制造的进展，不同时期制造的 402 系电车的设计变化略有修改，例如最初的 UD 402-1 与当下最新的 UD 402-29 车顶曲线、车辆灯光亮度、车内地板都有不同。&lt;br /&gt;
&lt;br /&gt;
最初的 UD 402-1 及 UD 402-2 使用了灰色油毡风格的地板，从 UD 402-10 开始，开始使用木纹风格的地板取代之。&lt;br /&gt;
&lt;br /&gt;
===乘务员室===&lt;br /&gt;
乘务员室展望窗是圆角矩形弧度的三分窗口，类似于 400 系电车，因美学要求，实际大小远小于前者，从 UD 402-15 开始，为了使车辆所有窗口平齐以取得视觉平衡，因此展望窗高度略有降低。&lt;br /&gt;
&lt;br /&gt;
乘务员室是基于《互通计画》引用的 not 制 103 系设备，但有一定修正。仪表盘主要由速度显示器、压力显示器、构成。速度控制被集成在制动手柄中，车辆加减速的时候制动手柄会进行旋转以匹配驾驶者的需求。在自动运营时，制动手柄会被锁死在 Auto 挡。&lt;br /&gt;
&lt;br /&gt;
===转向架===&lt;br /&gt;
402 系电车使用了 400 系电车的 DT400 型转向架的迭代版本，被称为 DT402，相对于 DT400 型转向架最大的不同是将许多棱形结构修改为圆形。&lt;br /&gt;
&lt;br /&gt;
====目的地表示====&lt;br /&gt;
402 系电车内部使用了“电子墨水”屏风格的导向指示器，外部设计为翻页钟风格的牌匾式导向指示器。虽因端巽线取消了快速车种因此担任的是“普通区间车”，但依然写有“特快”字样。&lt;br /&gt;
&lt;br /&gt;
==形式编成==&lt;br /&gt;
===基岩平台悠云号区间车各编成(全数废止)===&lt;br /&gt;
运营于端巽线的悠云号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 6 组编组，一共 12 节车厢。在2022 年 12 月 5 日全数废止。&lt;br /&gt;
====梅花编组 (永久)====&lt;br /&gt;
2组利用 uDays “梅花标”为涂装的永久彩绘车辆编组，即 UD 402-1 至 UD 402-4，是 402 系的标准车体。被广泛用于 uDays 对外宣传中。&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-1.jpg|200px|thumb|最初的 UD402 量产车辆(UD 402-1 及 UD 402-2，22 年 8 月 29 日于[[吧村车站]]]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|第一组||UD 402-1&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-2&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|-&lt;br /&gt;
|第二组||UD 402-3&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-4&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====樱花编组 (永久)====&lt;br /&gt;
基于《互通计画》用于同时出口至佐浦重工工作室的一组永久彩绘车辆编组，即 UD 402-5 与 UD 402-6，有别于其他 402 系电车，该车组使用了粉色-水系棕色系而非深红色-褐色色系，其他和普通 402 相差不大。此外使用了樱花为主题元素的涂装。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-5-2210.jpg|200px|thumb|402 系樱花编组车辆于大田区间，22 年 10 月]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-5&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-6&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====兰花编组 (永久)====&lt;br /&gt;
1组实际由花都市公营地下铁系统拥有的车体，即 UD 402-7 及 UD402-8，前身是 Orangal(オレンジオ)编组，八三零事件后原彩绘被清除，改为花都“兰花标”彩绘，车内贴纸均为花都旅行推介。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-7&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-8&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====白玉兰编组 (永久)====&lt;br /&gt;
一组实际由 Yukikaze EV 拥有的车体，即 UD 402-9 及 UD 402-10，有别于其他 402 系，该车组更接近于 402 第二原型阶段的非圆角矩形乘务员室窗，此外采用了木纹地板及灰白风格的座椅涂装。车内旅客信息系统亦被移除，同时两节车辆均为横向座椅而非传统 402 的一纵一横座椅布置。&lt;br /&gt;
&lt;br /&gt;
该车的彩绘是 Yukikaze 自己的像素头像。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-9&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-10&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====桃箱编组  (永久)====&lt;br /&gt;
一组实际由 Hakowwwww 拥有的车体，即 UD 402-11 及 UD 402-12，拥有 uDays 主题粉色的线条彩绘涂装，其他地方与传统 402 类似，但从 UD 402-11 开始，车内的地板都被换成了木纹风格(桦木风格而非 UD 402-9 及 UD402-10 的黑橡木风格)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-11&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-12&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====抹茶编组 (报废)====&lt;br /&gt;
一组原先由端点市拥有的车体，即 UD 402-13 及 402-14，有别于其他 402 系电车，该车组使用了浅绿色-白色系而非深红色-褐色色系，其他和普通 402 相差不大。&lt;br /&gt;
&lt;br /&gt;
在 2022 年 7 月前后，因实体检测计算机工作失误，该车辆编组在越过江南车站区间后坠入海底，直至 8 月 16 日才被发现。至 8 月 20 日方被 uDays 工程组处理，因被部分玩家记录了截图，该车辆编组最终被废止。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-13&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-14&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===悠远号区间车各编成===&lt;br /&gt;
运营于高原的悠远号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 2 组编组，一共 4 节车厢。&lt;br /&gt;
&lt;br /&gt;
====赤岸编组 (永久)====&lt;br /&gt;
一组实际由 DX_Lin 拥有的车体，即 UD 402-17 及 UD 402-18，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-17&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-18&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====沙荫编组 (永久)====&lt;br /&gt;
一组实际由端点市沙荫镇拥有的车体，即 UD 402-25 及 UD 402-26，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-25&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-26&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{悠日铁道动力客车}}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4845</id>
		<title>模板:悠日铁道动力客车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93%E5%8A%A8%E5%8A%9B%E5%AE%A2%E8%BD%A6&amp;diff=4845"/>
		<updated>2022-12-05T11:50:25Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|name = 悠日铁道所用客车&lt;br /&gt;
|state = autocollapse&lt;br /&gt;
|titlestyle = border-left:solid 3em #F1C232; border-right:solid 3em #F1C232; background-color:#1F1E1E;&lt;br /&gt;
|title = [[File:yuunitetsu.png|15px]]  {{ font color | #F1C232 | 悠日鉄道 车辆列表 (不含高铁) }}&lt;br /&gt;
|bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
|list1 = 现役车辆&lt;br /&gt;
|list1style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group2 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list2 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group2 = 悠喵号特急车&lt;br /&gt;
|list2 =  &lt;br /&gt;
*[[悠日铁道 402 系电车(1000番台)]](JE)&lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group3 = 境内直通(凛凛花号、安巽号)&lt;br /&gt;
|list3 = &lt;br /&gt;
*[[悠日铁道 502 系电车]](JE)&lt;br /&gt;
|group4 = 跨境直通(花海号)&lt;br /&gt;
|list4 = &lt;br /&gt;
*[[悠日铁道 701 系电车]](JE)&lt;br /&gt;
*[[悠日铁道 720 系电车]](JE*)&lt;br /&gt;
}}&lt;br /&gt;
|group3 = 内燃机车形(柴联车/DMU/DR)&lt;br /&gt;
|list3 = {{Navbox subgroup&lt;br /&gt;
|group1 = 悠云号区间车&lt;br /&gt;
|list1 = &lt;br /&gt;
*常磐工作室制 KIHA11 (BE)(非标准车体)&lt;br /&gt;
}}&lt;br /&gt;
|group4 = 特殊用车&lt;br /&gt;
|list4 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*悠日铁道 65 型牵引车(BE)&lt;br /&gt;
*悠日铁道 51 型蒸汽机车(牵引车)(JE*)&lt;br /&gt;
|group2 = 行政客车(花车/Saloon)&lt;br /&gt;
|list2 =&lt;br /&gt;
*悠日铁道 201 系客车(BE)&lt;br /&gt;
}}&lt;br /&gt;
|list5 = 引退车辆&lt;br /&gt;
|list5style = background:#ddddff; font-weight:bold; &lt;br /&gt;
|group6 = 电力机车形(电联车/EMU)&lt;br /&gt;
|list6 = {{Navbox subgroup&lt;br /&gt;
|group1 = 标准车体&lt;br /&gt;
|list1 = &lt;br /&gt;
*[[悠日铁道 402 系电车(原始车体)]](BE)&lt;br /&gt;
*悠日铁道 100 系电车(BE)&lt;br /&gt;
*悠日铁道 700 系电车 (BE)&lt;br /&gt;
*悠日铁道 500 系电车 (BE)&lt;br /&gt;
*[[悠日铁道 510(501) 系电车]] (BE)&lt;br /&gt;
*[[悠日铁道 400 系电车]] (BE)&lt;br /&gt;
|group2 = 非标准车体 (MCA 时期)&lt;br /&gt;
|list2 = &lt;br /&gt;
*北宫制 107 系电车&lt;br /&gt;
*凛雪重工 5100 系电车&lt;br /&gt;
*凛雪重工 1 型电车&lt;br /&gt;
*悠日电铁 401 形电车&lt;br /&gt;
*羽田铁道(佐浦重工) 7100 系电车&lt;br /&gt;
*常磐工作室制 3106 系电车&lt;br /&gt;
|group3 = 非标准车体 (uDays RTM BE 时期)&lt;br /&gt;
|list3 = &lt;br /&gt;
*悠日电铁 UR3 形电车&lt;br /&gt;
*悠日电铁 UR1000L 形电车&lt;br /&gt;
*悠日电铁 1000 形电车&lt;br /&gt;
*悠日电铁 UR3000 形电车&lt;br /&gt;
*悠日电铁 UR2000 形电车&lt;br /&gt;
*RTMworldfactory 制 EMU900 电车&lt;br /&gt;
*RTMworldfactory 制 EMU800 电车&lt;br /&gt;
*RTMworldfactory 制 TEMU1000 电车&lt;br /&gt;
*RTMworldfacotry 制 TEMU2000 电车&lt;br /&gt;
|group4 = 非标准车体 (RWA 时期)&lt;br /&gt;
|list4 = &lt;br /&gt;
*IKT Mono 500 形电车&lt;br /&gt;
*IKT TLR 600 形电车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 特殊用车&lt;br /&gt;
|list7 = {{Navbox subgroup&lt;br /&gt;
|group1 = 牵引车&lt;br /&gt;
|list1 = &lt;br /&gt;
*创野铁道制 200 系牵引车&lt;br /&gt;
|group2 = 行政客车&lt;br /&gt;
|list2 = &lt;br /&gt;
*凛雪重工 200 系客车&lt;br /&gt;
}}&lt;br /&gt;
|group7 = 旧端点市货运线路&lt;br /&gt;
|list7 = &lt;br /&gt;
*创野铁道制 15 系牵引车组&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:悠日铁道车辆列表模板]]&lt;br /&gt;
[[Category:悠日铁道动力客车|*]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%96%87%E4%BB%B6:Yuunitetsu_402_Series_JE.jpg&amp;diff=4844</id>
		<title>文件:Yuunitetsu 402 Series JE.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%96%87%E4%BB%B6:Yuunitetsu_402_Series_JE.jpg&amp;diff=4844"/>
		<updated>2022-12-05T11:49:17Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4843</id>
		<title>悠日铁道 402 系电车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4843"/>
		<updated>2022-12-05T11:47:54Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{caution|&#039;&#039;&#039;402 系原始番台在 JE 中不可用，402 系 1000 番台仅在 JE 中可用&#039;&#039;&#039;}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox train&lt;br /&gt;
|車輛名稱 = 悠日铁道 402 系电车&lt;br /&gt;
|公司色 = #5E2028&lt;br /&gt;
|標題色 = #C2A279&lt;br /&gt;
|圖像 = Yuunitetsu_402_Series_JE.jpg&lt;br /&gt;
|圖像替代文字 = &lt;br /&gt;
|圖像說明 = 停靠在花都车站的 402 系原始车体梅花编组(JE)。&lt;br /&gt;
|外形設計 = 悠日铁道 标准 4 系车体设计&lt;br /&gt;
|製造 = SantorsiaWorks&lt;br /&gt;
|改造 =&lt;br /&gt;
|組裝 = &lt;br /&gt;
|產量 = 29(BE), JE(6)&lt;br /&gt;
|車輛總數 = 13 组合 27 辆(原始番台,BE) 2 组合 6 辆(1000 番台,JE)&lt;br /&gt;
|投產年份 = 2022.4&lt;br /&gt;
|停產年份 = &lt;br /&gt;
|投入服務 = 2022.4&lt;br /&gt;
|退出服務 = &lt;br /&gt;
|報廢 = &lt;br /&gt;
|用戶 = 悠日铁道、佐浦重工&lt;br /&gt;
|路線 = [[File:yuunitetsu.png|15px]] 端巽线、[[File:yuunitetsu.png|15px]] 高原线&lt;br /&gt;
|車輛基地 = 南岐车辆段、赤岸车辆段&lt;br /&gt;
|暱稱 = San车&lt;br /&gt;
|編組長度 = 42.4&lt;br /&gt;
|車輛長度 = 21200&lt;br /&gt;
|車輛寬度 = 2350&lt;br /&gt;
|車輛高度 = &lt;br /&gt;
|月台高度 = 1000&lt;br /&gt;
|軌距 = 1067&lt;br /&gt;
|轉向架 = DT402(BE)、YuuniDT 乙型(1067, JE)&lt;br /&gt;
|車門 = 单节单面 4 门&lt;br /&gt;
|載客量 = 单节 28 人&lt;br /&gt;
|營運最高速度 = 73&lt;br /&gt;
|設計最高速度 = 100&lt;br /&gt;
|試驗最高速度 = 140&lt;br /&gt;
|起動加速度 = 2.28&lt;br /&gt;
|常用減速度 = 3.0&lt;br /&gt;
|控制裝置 = MTR 模组控制器、MCA 实体控制器、uDays 实体检测红石计算机&lt;br /&gt;
|驅動裝置 = MTR 模组控制器、MCA 实体控制器&lt;br /&gt;
|保安裝置 = &lt;br /&gt;
|備註 = &lt;br /&gt;
|全寬備註 = &lt;br /&gt;
|取代了 = [[悠日铁道 400 系电车]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;悠日铁道 402 系电车&#039;&#039;&#039;(Yuunitetsu 402 Series)是 SantorsiaWorks 设计、悠日铁道所使用的一款复古风格的中短途通勤用车体模型，因由 402 系设计为 2M 编组，不具备 UT 无动力车，因此 402 系曾经通常被用其开发代号 &#039;&#039;&#039;UD-402&#039;&#039;&#039; 作为代称，但现在被统一称为 &#039;&#039;&#039;402 系&#039;&#039;&#039;。悠日铁道 402 系电车通常被认为是悠日铁道(SantorsiaWorks)在基岩平台的代表性车辆，其最初从 2022 年 4 月开始交付，基岩平台一共生产了 29 节原始车体（UD 402-1 至 402-29)用于自用或交付其他工作室，这些车辆均在 2022 年 12 月 5 日报废除籍，由适用于 JE 平台的 402 系 1000 番台改型取代， 402 系 1000 番台目前一共生产了 6 节车体，并较之原始 402 系具有中间车 UT 402-1000，因由其依赖 NTE 扩展运行，考量优化状况，因此在悠日计画 JE 平台，402 系仅仅用于悠喵特急车。&lt;br /&gt;
&lt;br /&gt;
==概要==&lt;br /&gt;
402 系电车是悠日铁道在 2022 年初启用“标准车体化”后的第一款标准车体。其完全由带有厚度的块面制造，并通过堆砌较之同类者更多的块面以实现”平滑的曲面&amp;quot;效果。因此其单节车体块数达到了 8200(动力车)，从而导致了部分玩家在乘搭列车时的性能问题，因此目前普遍观点认为 402 系电车是 SantorsiaWorks 的“炫技产物”而非“真正出于玩家通勤需求”的车辆。&lt;br /&gt;
&lt;br /&gt;
402 系电车相承了[[悠日铁道 400 系电车]](旧称 UR4000)的配色与主要构成因素，但更强调“优雅与复古”。在 402 系电车设计时，正逢悠日铁道将其自身定位由“捷运通勤系统”转变为“强调氛围感的人文乘车体验”之际([[5.2204 uDays Hana|5.2204 期间]]，因此设计上完全为观感优化并融入了彼时悠日铁道所重新更换的一系列新标准车站“黑金”装潢风格。因此402 系电车的外形上其类似于现实中 1930 年至 1970 年常见的通勤车辆。车身采用“暗红——浅棕”色系构成，以在配合车站“黑金”装潢风格下凸显车辆的视觉效果，外蒙皮覆盖有装饰性的铆钉并配有翻页钟风格的导向指示器及可自动旋转的电风扇，但这些电风扇一经开启后即无法关闭，因此被批“占用设备性能资源”。&lt;br /&gt;
&lt;br /&gt;
402 系电车基本配置大致遵循了前级的 400 系电车。单节单面 4 门设计，宽为 2350 mm (47 格块)，长为 21.2 m。最高设计速度为 100 km/h，但受端巽线机能限制，因此营运最高速度是 73 km/h。截至 2022 年 10 月，悠日铁道在端巽线运营 7 编组共 14 节车厢(基岩平台)。402 系电车在悠日计画主体迁移 JE 后一度有废弃开发适用于 Java 平台的 403 系计划，但因车辆细节传承迭代性“无法取得与 402 系一致的水平”因此被长期搁置。在 2022 年 12 月，因由 MTR 模组扩展模组 NTE 模型支持了调用 OBJ 模型格式，因此 402 系原始车体被修改为 402 系 1000 番台改型以 OBJ 形式得以在悠日计画 JE 中继续营运，此外，也增加了中间无动力车 UT 402-1000&lt;br /&gt;
&lt;br /&gt;
==命名==&lt;br /&gt;
402 系电车归属于悠日铁道标准车体中的“4 系”车辆，即“复古风格的中短途通勤车体”。是悠日铁道标准车体化后所开发并使用的第一款车体，也是悠日铁道的第三款自造车体，原型车使用 401 系作为命名，但最终发现 2021 年已经存在同样命名且已占用注册值的车体，因此最终量产的电车被命名为 402 系。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
===开发过程===&lt;br /&gt;
====悠日铁道命名系统及使用车体的混乱====&lt;br /&gt;
在悠日铁道标准车体化前，运行于端巽线及高原线的车辆及车辆运营方混乱不堪。在短短 6 公里的端巽线上竟同时存在多达 12 种不同车体，其各自使用的实体控制器核心也完全不同，彼时端巽线及高原线的车站完全无法准确处理不同车辆的不同实体控制器从而给予不同的启动参数，因此许多车辆往往被滞留在车站站台上而无法被自动启动。在这种情况下，悠日铁道的总体运量与准时性亦受打击，因由而生悠日铁道“标准化”的计画。&lt;br /&gt;
&lt;br /&gt;
====新型氛围列车的概念====&lt;br /&gt;
[[File:leavefield_railway_Station6.jpg|200px|thumb|捷运化时期(2021.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
[[File:leavefield_railway_Station4.jpg|200px|thumb|氛围化后(2022.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
&lt;br /&gt;
由于服务器负载问题，端巽线的最高速度已经达至极限水平 75km/h，且预留空间无法增设复线，实际上无法通过任何方式来对日后的通勤需求进行有效的增备。且出于对悠日铁道的实际玩家乘搭量研究，因此 uDays 管理组、SantorsiaWorks 在 2022 年 3 月初总结了“悠日铁道取消捷运通勤化&amp;quot;方案，试图将悠日铁道转变为“更强调氛围感辅以通勤效能”的常规铁道系统。在 3 月中旬至 4 月初，基于这一新方案而生的悠日铁道 2022 年统一装潢设计系统(5.22)被开发应用至端巽线的所有车站中。而全新设计，能“代表 uDays 水准”的新型列车车体也被提上了计画。&lt;br /&gt;
&lt;br /&gt;
====设计标准通勤列车====&lt;br /&gt;
2022 年 4 月初，针对原有 RTM BE 实体控制器容错能力低，无法更改加速度的问题。新型标准通勤列车被设计为依靠第三方 MCA 实体控制器实现动力系统，而非依靠 uDays 自行制造的 RTM BE 实体控制器，因此遭到了一些玩家的不满。402 系电车初始加速度被设计为 2.28 km/h，高于于 400 系电车的 2.0 km/h。SantorsiaWorks 试图利用列车以更快的速度通过车站封闭区间来降低车站车次间的间隔。&lt;br /&gt;
&lt;br /&gt;
为了防止列车相互碰撞，uDays 工程组使用了基于原先 RTM BE 下的实体控制红石计算机进行修改以适配新的 MCA 核心基准。该系统迫使后车若距前车不到 50 格半径内则令后车停止运行并在 30 秒内重新开始运行，在修改为 MCA 核心基准后，启停间隔被缩短至 5 秒。因此端巽线最高发车密度间隔可压缩至 5 分钟。&lt;br /&gt;
&lt;br /&gt;
在 402 系外形设计时，其广泛参考了现实中的旧式电车设计，但形制上更接近于 1930 年常见的欧式风格电车，而配色上却更接近于 JR 的旧式特急电车。&lt;br /&gt;
&lt;br /&gt;
====前期车辆制造====&lt;br /&gt;
=====原型车第一阶段=====&lt;br /&gt;
[[File:ud401-prototype1.jpg|200px|thumb|第一阶段的原型车于南岐车辆段]]&lt;br /&gt;
2022 年（悠日 5 年) 4 月 15 日，2 辆先行原型车(UD 401-1 及 UD401-2)落成，相比于最终量产的 402 系，先行原型车在外形上有完全不同的风格，更接近于原始 400 系电车。采用方形进气口、等高车窗、更大的乘务员室展望窗与更细长的红色装饰线条。&lt;br /&gt;
&lt;br /&gt;
=====原型车第二阶段=====&lt;br /&gt;
[[File:ud401-prototype2.jpg|200px|thumb|第二阶段的原型车于南岐车辆段]]&lt;br /&gt;
[[File:ud401-prototype3.jpg|200px|thumb|量产的 402 系，但此时仍称 UD 401]]&lt;br /&gt;
4 月 22 日，402 系电车经过了一阶段验收，开始进入评估阶段，同样制造了用于评估的车辆(UD 401-3 及 UD 401-4)，相对于原型车，UD 401-3 及 UD 401-4 采用了更为一体化的涂装，并进行了一些细节改进，此外调整了乘务员室展望窗的比例，并将进气口修改为原型，每个车窗都增大了 15%，改进了气动门的显示效果与装饰线条，此外添加了块构成的吊环。&lt;br /&gt;
&lt;br /&gt;
====量产车辆====&lt;br /&gt;
4 月 30 日，402 系电车商业运营化评估通过。但最终量产车辆与评估阶段设计也有相当巨大的差异，车体结构被重新调整，尾车中提供了横向座椅以是用“指定席”需求。乘务员室展望窗修改为圆角矩形弧度，并更换了集电弓的细节使之更为“细长”。首组 402 系电车(UD 402-1 及 UD 402-2)自 5 月 1 日起于端巽线上开始营运。&lt;br /&gt;
&lt;br /&gt;
==设计==&lt;br /&gt;
===车身===&lt;br /&gt;
402 系电车车身大体编排类似于 400 系电车，单侧四门。提供了“铁皮”风格的外蒙皮，也有装饰性的铆钉覆盖在车身处(出于性能考虑，uDays 工程组在 2022 年 5 月 25 日移除了全系 402 车头部分外的所有铆钉)。随着制造的进展，不同时期制造的 402 系电车的设计变化略有修改，例如最初的 UD 402-1 与当下最新的 UD 402-29 车顶曲线、车辆灯光亮度、车内地板都有不同。&lt;br /&gt;
&lt;br /&gt;
最初的 UD 402-1 及 UD 402-2 使用了灰色油毡风格的地板，从 UD 402-10 开始，开始使用木纹风格的地板取代之。&lt;br /&gt;
&lt;br /&gt;
===乘务员室===&lt;br /&gt;
乘务员室展望窗是圆角矩形弧度的三分窗口，类似于 400 系电车，因美学要求，实际大小远小于前者，从 UD 402-15 开始，为了使车辆所有窗口平齐以取得视觉平衡，因此展望窗高度略有降低。&lt;br /&gt;
&lt;br /&gt;
乘务员室是基于《互通计画》引用的 not 制 103 系设备，但有一定修正。仪表盘主要由速度显示器、压力显示器、构成。速度控制被集成在制动手柄中，车辆加减速的时候制动手柄会进行旋转以匹配驾驶者的需求。在自动运营时，制动手柄会被锁死在 Auto 挡。&lt;br /&gt;
&lt;br /&gt;
===转向架===&lt;br /&gt;
402 系电车使用了 400 系电车的 DT400 型转向架的迭代版本，被称为 DT402，相对于 DT400 型转向架最大的不同是将许多棱形结构修改为圆形。&lt;br /&gt;
&lt;br /&gt;
====目的地表示====&lt;br /&gt;
402 系电车内部使用了“电子墨水”屏风格的导向指示器，外部设计为翻页钟风格的牌匾式导向指示器。虽因端巽线取消了快速车种因此担任的是“普通区间车”，但依然写有“特快”字样。&lt;br /&gt;
&lt;br /&gt;
==形式编成==&lt;br /&gt;
===基岩平台悠云号区间车各编成(全数废止)===&lt;br /&gt;
运营于端巽线的悠云号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 6 组编组，一共 12 节车厢。在2022 年 12 月 5 日全数废止。&lt;br /&gt;
====梅花编组 (永久)====&lt;br /&gt;
2组利用 uDays “梅花标”为涂装的永久彩绘车辆编组，即 UD 402-1 至 UD 402-4，是 402 系的标准车体。被广泛用于 uDays 对外宣传中。&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-1.jpg|200px|thumb|最初的 UD402 量产车辆(UD 402-1 及 UD 402-2，22 年 8 月 29 日于[[吧村车站]]]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|第一组||UD 402-1&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-2&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|-&lt;br /&gt;
|第二组||UD 402-3&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-4&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====樱花编组 (永久)====&lt;br /&gt;
基于《互通计画》用于同时出口至佐浦重工工作室的一组永久彩绘车辆编组，即 UD 402-5 与 UD 402-6，有别于其他 402 系电车，该车组使用了粉色-水系棕色系而非深红色-褐色色系，其他和普通 402 相差不大。此外使用了樱花为主题元素的涂装。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-5-2210.jpg|200px|thumb|402 系樱花编组车辆于大田区间，22 年 10 月]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-5&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-6&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====兰花编组 (永久)====&lt;br /&gt;
1组实际由花都市公营地下铁系统拥有的车体，即 UD 402-7 及 UD402-8，前身是 Orangal(オレンジオ)编组，八三零事件后原彩绘被清除，改为花都“兰花标”彩绘，车内贴纸均为花都旅行推介。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-7&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-8&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====白玉兰编组 (永久)====&lt;br /&gt;
一组实际由 Yukikaze EV 拥有的车体，即 UD 402-9 及 UD 402-10，有别于其他 402 系，该车组更接近于 402 第二原型阶段的非圆角矩形乘务员室窗，此外采用了木纹地板及灰白风格的座椅涂装。车内旅客信息系统亦被移除，同时两节车辆均为横向座椅而非传统 402 的一纵一横座椅布置。&lt;br /&gt;
&lt;br /&gt;
该车的彩绘是 Yukikaze 自己的像素头像。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-9&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-10&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====桃箱编组  (永久)====&lt;br /&gt;
一组实际由 Hakowwwww 拥有的车体，即 UD 402-11 及 UD 402-12，拥有 uDays 主题粉色的线条彩绘涂装，其他地方与传统 402 类似，但从 UD 402-11 开始，车内的地板都被换成了木纹风格(桦木风格而非 UD 402-9 及 UD402-10 的黑橡木风格)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-11&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-12&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====抹茶编组 (报废)====&lt;br /&gt;
一组原先由端点市拥有的车体，即 UD 402-13 及 402-14，有别于其他 402 系电车，该车组使用了浅绿色-白色系而非深红色-褐色色系，其他和普通 402 相差不大。&lt;br /&gt;
&lt;br /&gt;
在 2022 年 7 月前后，因实体检测计算机工作失误，该车辆编组在越过江南车站区间后坠入海底，直至 8 月 16 日才被发现。至 8 月 20 日方被 uDays 工程组处理，因被部分玩家记录了截图，该车辆编组最终被废止。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-13&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-14&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===悠远号区间车各编成===&lt;br /&gt;
运营于高原的悠远号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 2 组编组，一共 4 节车厢。&lt;br /&gt;
&lt;br /&gt;
====赤岸编组 (永久)====&lt;br /&gt;
一组实际由 DX_Lin 拥有的车体，即 UD 402-17 及 UD 402-18，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-17&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-18&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====沙荫编组 (永久)====&lt;br /&gt;
一组实际由端点市沙荫镇拥有的车体，即 UD 402-25 及 UD 402-26，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-25&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-26&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{悠日铁道动力客车}}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4842</id>
		<title>悠日铁道 402 系电车</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93_402_%E7%B3%BB%E7%94%B5%E8%BD%A6&amp;diff=4842"/>
		<updated>2022-12-05T11:46:53Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{caution|&#039;&#039;&#039;402 系原始番台在 JE 中不可用，402 系 1000 番台仅在 JE 中可用&#039;&#039;&#039;}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox train&lt;br /&gt;
|車輛名稱 = 悠日铁道 402 系电车&lt;br /&gt;
|公司色 = #5E2028&lt;br /&gt;
|標題色 = #C2A279&lt;br /&gt;
|圖像 = UD402-3.jpg&lt;br /&gt;
|圖像替代文字 = &lt;br /&gt;
|圖像說明 = 停靠在花都车站的 402 系原始车体梅花编组(JE)。&lt;br /&gt;
|外形設計 = 悠日铁道 标准 4 系车体设计&lt;br /&gt;
|製造 = SantorsiaWorks&lt;br /&gt;
|改造 =&lt;br /&gt;
|組裝 = &lt;br /&gt;
|產量 = 29(BE), JE(6)&lt;br /&gt;
|車輛總數 = 13 组合 27 辆(原始番台,BE) 2 组合 6 辆(1000 番台,JE)&lt;br /&gt;
|投產年份 = 2022.4&lt;br /&gt;
|停產年份 = &lt;br /&gt;
|投入服務 = 2022.4&lt;br /&gt;
|退出服務 = &lt;br /&gt;
|報廢 = &lt;br /&gt;
|用戶 = 悠日铁道、佐浦重工&lt;br /&gt;
|路線 = [[File:yuunitetsu.png|15px]] 端巽线、[[File:yuunitetsu.png|15px]] 高原线&lt;br /&gt;
|車輛基地 = 南岐车辆段、赤岸车辆段&lt;br /&gt;
|暱稱 = San车&lt;br /&gt;
|編組長度 = 42.4&lt;br /&gt;
|車輛長度 = 21200&lt;br /&gt;
|車輛寬度 = 2350&lt;br /&gt;
|車輛高度 = &lt;br /&gt;
|月台高度 = 1000&lt;br /&gt;
|軌距 = 1067&lt;br /&gt;
|轉向架 = DT402(BE)、YuuniDT 乙型(1067, JE)&lt;br /&gt;
|車門 = 单节单面 4 门&lt;br /&gt;
|載客量 = 单节 28 人&lt;br /&gt;
|營運最高速度 = 73&lt;br /&gt;
|設計最高速度 = 100&lt;br /&gt;
|試驗最高速度 = 140&lt;br /&gt;
|起動加速度 = 2.28&lt;br /&gt;
|常用減速度 = 3.0&lt;br /&gt;
|控制裝置 = MTR 模组控制器、MCA 实体控制器、uDays 实体检测红石计算机&lt;br /&gt;
|驅動裝置 = MTR 模组控制器、MCA 实体控制器&lt;br /&gt;
|保安裝置 = &lt;br /&gt;
|備註 = &lt;br /&gt;
|全寬備註 = &lt;br /&gt;
|取代了 = [[悠日铁道 400 系电车]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;悠日铁道 402 系电车&#039;&#039;&#039;(Yuunitetsu 402 Series)是 SantorsiaWorks 设计、悠日铁道所使用的一款复古风格的中短途通勤用车体模型，因由 402 系设计为 2M 编组，不具备 UT 无动力车，因此 402 系曾经通常被用其开发代号 &#039;&#039;&#039;UD-402&#039;&#039;&#039; 作为代称，但现在被统一称为 &#039;&#039;&#039;402 系&#039;&#039;&#039;。悠日铁道 402 系电车通常被认为是悠日铁道(SantorsiaWorks)在基岩平台的代表性车辆，其最初从 2022 年 4 月开始交付，基岩平台一共生产了 29 节原始车体（UD 402-1 至 402-29)用于自用或交付其他工作室，这些车辆均在 2022 年 12 月 5 日报废除籍，由适用于 JE 平台的 402 系 1000 番台改型取代， 402 系 1000 番台目前一共生产了 6 节车体，并较之原始 402 系具有中间车 UT 402-1000，因由其依赖 NTE 扩展运行，考量优化状况，因此在悠日计画 JE 平台，402 系仅仅用于悠喵特急车。&lt;br /&gt;
&lt;br /&gt;
==概要==&lt;br /&gt;
402 系电车是悠日铁道在 2022 年初启用“标准车体化”后的第一款标准车体。其完全由带有厚度的块面制造，并通过堆砌较之同类者更多的块面以实现”平滑的曲面&amp;quot;效果。因此其单节车体块数达到了 8200(动力车)，从而导致了部分玩家在乘搭列车时的性能问题，因此目前普遍观点认为 402 系电车是 SantorsiaWorks 的“炫技产物”而非“真正出于玩家通勤需求”的车辆。&lt;br /&gt;
&lt;br /&gt;
402 系电车相承了[[悠日铁道 400 系电车]](旧称 UR4000)的配色与主要构成因素，但更强调“优雅与复古”。在 402 系电车设计时，正逢悠日铁道将其自身定位由“捷运通勤系统”转变为“强调氛围感的人文乘车体验”之际([[5.2204 uDays Hana|5.2204 期间]]，因此设计上完全为观感优化并融入了彼时悠日铁道所重新更换的一系列新标准车站“黑金”装潢风格。因此402 系电车的外形上其类似于现实中 1930 年至 1970 年常见的通勤车辆。车身采用“暗红——浅棕”色系构成，以在配合车站“黑金”装潢风格下凸显车辆的视觉效果，外蒙皮覆盖有装饰性的铆钉并配有翻页钟风格的导向指示器及可自动旋转的电风扇，但这些电风扇一经开启后即无法关闭，因此被批“占用设备性能资源”。&lt;br /&gt;
&lt;br /&gt;
402 系电车基本配置大致遵循了前级的 400 系电车。单节单面 4 门设计，宽为 2350 mm (47 格块)，长为 21.2 m。最高设计速度为 100 km/h，但受端巽线机能限制，因此营运最高速度是 73 km/h。截至 2022 年 10 月，悠日铁道在端巽线运营 7 编组共 14 节车厢(基岩平台)。402 系电车在悠日计画主体迁移 JE 后一度有废弃开发适用于 Java 平台的 403 系计划，但因车辆细节传承迭代性“无法取得与 402 系一致的水平”因此被长期搁置。在 2022 年 12 月，因由 MTR 模组扩展模组 NTE 模型支持了调用 OBJ 模型格式，因此 402 系原始车体被修改为 402 系 1000 番台改型以 OBJ 形式得以在悠日计画 JE 中继续营运，此外，也增加了中间无动力车 UT 402-1000&lt;br /&gt;
&lt;br /&gt;
==命名==&lt;br /&gt;
402 系电车归属于悠日铁道标准车体中的“4 系”车辆，即“复古风格的中短途通勤车体”。是悠日铁道标准车体化后所开发并使用的第一款车体，也是悠日铁道的第三款自造车体，原型车使用 401 系作为命名，但最终发现 2021 年已经存在同样命名且已占用注册值的车体，因此最终量产的电车被命名为 402 系。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
===开发过程===&lt;br /&gt;
====悠日铁道命名系统及使用车体的混乱====&lt;br /&gt;
在悠日铁道标准车体化前，运行于端巽线及高原线的车辆及车辆运营方混乱不堪。在短短 6 公里的端巽线上竟同时存在多达 12 种不同车体，其各自使用的实体控制器核心也完全不同，彼时端巽线及高原线的车站完全无法准确处理不同车辆的不同实体控制器从而给予不同的启动参数，因此许多车辆往往被滞留在车站站台上而无法被自动启动。在这种情况下，悠日铁道的总体运量与准时性亦受打击，因由而生悠日铁道“标准化”的计画。&lt;br /&gt;
&lt;br /&gt;
====新型氛围列车的概念====&lt;br /&gt;
[[File:leavefield_railway_Station6.jpg|200px|thumb|捷运化时期(2021.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
[[File:leavefield_railway_Station4.jpg|200px|thumb|氛围化后(2022.7)的叶原车站到达出发层装潢]]&lt;br /&gt;
&lt;br /&gt;
由于服务器负载问题，端巽线的最高速度已经达至极限水平 75km/h，且预留空间无法增设复线，实际上无法通过任何方式来对日后的通勤需求进行有效的增备。且出于对悠日铁道的实际玩家乘搭量研究，因此 uDays 管理组、SantorsiaWorks 在 2022 年 3 月初总结了“悠日铁道取消捷运通勤化&amp;quot;方案，试图将悠日铁道转变为“更强调氛围感辅以通勤效能”的常规铁道系统。在 3 月中旬至 4 月初，基于这一新方案而生的悠日铁道 2022 年统一装潢设计系统(5.22)被开发应用至端巽线的所有车站中。而全新设计，能“代表 uDays 水准”的新型列车车体也被提上了计画。&lt;br /&gt;
&lt;br /&gt;
====设计标准通勤列车====&lt;br /&gt;
2022 年 4 月初，针对原有 RTM BE 实体控制器容错能力低，无法更改加速度的问题。新型标准通勤列车被设计为依靠第三方 MCA 实体控制器实现动力系统，而非依靠 uDays 自行制造的 RTM BE 实体控制器，因此遭到了一些玩家的不满。402 系电车初始加速度被设计为 2.28 km/h，高于于 400 系电车的 2.0 km/h。SantorsiaWorks 试图利用列车以更快的速度通过车站封闭区间来降低车站车次间的间隔。&lt;br /&gt;
&lt;br /&gt;
为了防止列车相互碰撞，uDays 工程组使用了基于原先 RTM BE 下的实体控制红石计算机进行修改以适配新的 MCA 核心基准。该系统迫使后车若距前车不到 50 格半径内则令后车停止运行并在 30 秒内重新开始运行，在修改为 MCA 核心基准后，启停间隔被缩短至 5 秒。因此端巽线最高发车密度间隔可压缩至 5 分钟。&lt;br /&gt;
&lt;br /&gt;
在 402 系外形设计时，其广泛参考了现实中的旧式电车设计，但形制上更接近于 1930 年常见的欧式风格电车，而配色上却更接近于 JR 的旧式特急电车。&lt;br /&gt;
&lt;br /&gt;
====前期车辆制造====&lt;br /&gt;
=====原型车第一阶段=====&lt;br /&gt;
[[File:ud401-prototype1.jpg|200px|thumb|第一阶段的原型车于南岐车辆段]]&lt;br /&gt;
2022 年（悠日 5 年) 4 月 15 日，2 辆先行原型车(UD 401-1 及 UD401-2)落成，相比于最终量产的 402 系，先行原型车在外形上有完全不同的风格，更接近于原始 400 系电车。采用方形进气口、等高车窗、更大的乘务员室展望窗与更细长的红色装饰线条。&lt;br /&gt;
&lt;br /&gt;
=====原型车第二阶段=====&lt;br /&gt;
[[File:ud401-prototype2.jpg|200px|thumb|第二阶段的原型车于南岐车辆段]]&lt;br /&gt;
[[File:ud401-prototype3.jpg|200px|thumb|量产的 402 系，但此时仍称 UD 401]]&lt;br /&gt;
4 月 22 日，402 系电车经过了一阶段验收，开始进入评估阶段，同样制造了用于评估的车辆(UD 401-3 及 UD 401-4)，相对于原型车，UD 401-3 及 UD 401-4 采用了更为一体化的涂装，并进行了一些细节改进，此外调整了乘务员室展望窗的比例，并将进气口修改为原型，每个车窗都增大了 15%，改进了气动门的显示效果与装饰线条，此外添加了块构成的吊环。&lt;br /&gt;
&lt;br /&gt;
====量产车辆====&lt;br /&gt;
4 月 30 日，402 系电车商业运营化评估通过。但最终量产车辆与评估阶段设计也有相当巨大的差异，车体结构被重新调整，尾车中提供了横向座椅以是用“指定席”需求。乘务员室展望窗修改为圆角矩形弧度，并更换了集电弓的细节使之更为“细长”。首组 402 系电车(UD 402-1 及 UD 402-2)自 5 月 1 日起于端巽线上开始营运。&lt;br /&gt;
&lt;br /&gt;
==设计==&lt;br /&gt;
===车身===&lt;br /&gt;
402 系电车车身大体编排类似于 400 系电车，单侧四门。提供了“铁皮”风格的外蒙皮，也有装饰性的铆钉覆盖在车身处(出于性能考虑，uDays 工程组在 2022 年 5 月 25 日移除了全系 402 车头部分外的所有铆钉)。随着制造的进展，不同时期制造的 402 系电车的设计变化略有修改，例如最初的 UD 402-1 与当下最新的 UD 402-29 车顶曲线、车辆灯光亮度、车内地板都有不同。&lt;br /&gt;
&lt;br /&gt;
最初的 UD 402-1 及 UD 402-2 使用了灰色油毡风格的地板，从 UD 402-10 开始，开始使用木纹风格的地板取代之。&lt;br /&gt;
&lt;br /&gt;
===乘务员室===&lt;br /&gt;
乘务员室展望窗是圆角矩形弧度的三分窗口，类似于 400 系电车，因美学要求，实际大小远小于前者，从 UD 402-15 开始，为了使车辆所有窗口平齐以取得视觉平衡，因此展望窗高度略有降低。&lt;br /&gt;
&lt;br /&gt;
乘务员室是基于《互通计画》引用的 not 制 103 系设备，但有一定修正。仪表盘主要由速度显示器、压力显示器、构成。速度控制被集成在制动手柄中，车辆加减速的时候制动手柄会进行旋转以匹配驾驶者的需求。在自动运营时，制动手柄会被锁死在 Auto 挡。&lt;br /&gt;
&lt;br /&gt;
===转向架===&lt;br /&gt;
402 系电车使用了 400 系电车的 DT400 型转向架的迭代版本，被称为 DT402，相对于 DT400 型转向架最大的不同是将许多棱形结构修改为圆形。&lt;br /&gt;
&lt;br /&gt;
====目的地表示====&lt;br /&gt;
402 系电车内部使用了“电子墨水”屏风格的导向指示器，外部设计为翻页钟风格的牌匾式导向指示器。虽因端巽线取消了快速车种因此担任的是“普通区间车”，但依然写有“特快”字样。&lt;br /&gt;
&lt;br /&gt;
==形式编成==&lt;br /&gt;
===基岩平台悠云号区间车各编成(全数废止)===&lt;br /&gt;
运营于端巽线的悠云号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 6 组编组，一共 12 节车厢。在2022 年 12 月 5 日全数废止。&lt;br /&gt;
====梅花编组 (永久)====&lt;br /&gt;
2组利用 uDays “梅花标”为涂装的永久彩绘车辆编组，即 UD 402-1 至 UD 402-4，是 402 系的标准车体。被广泛用于 uDays 对外宣传中。&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-1.jpg|200px|thumb|最初的 UD402 量产车辆(UD 402-1 及 UD 402-2，22 年 8 月 29 日于[[吧村车站]]]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|第一组||UD 402-1&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-2&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|-&lt;br /&gt;
|第二组||UD 402-3&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-4&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====樱花编组 (永久)====&lt;br /&gt;
基于《互通计画》用于同时出口至佐浦重工工作室的一组永久彩绘车辆编组，即 UD 402-5 与 UD 402-6，有别于其他 402 系电车，该车组使用了粉色-水系棕色系而非深红色-褐色色系，其他和普通 402 相差不大。此外使用了樱花为主题元素的涂装。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ud402-5-2210.jpg|200px|thumb|402 系樱花编组车辆于大田区间，22 年 10 月]]&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-5&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-6&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====兰花编组 (永久)====&lt;br /&gt;
1组实际由花都市公营地下铁系统拥有的车体，即 UD 402-7 及 UD402-8，前身是 Orangal(オレンジオ)编组，八三零事件后原彩绘被清除，改为花都“兰花标”彩绘，车内贴纸均为花都旅行推介。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-7&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-8&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====白玉兰编组 (永久)====&lt;br /&gt;
一组实际由 Yukikaze EV 拥有的车体，即 UD 402-9 及 UD 402-10，有别于其他 402 系，该车组更接近于 402 第二原型阶段的非圆角矩形乘务员室窗，此外采用了木纹地板及灰白风格的座椅涂装。车内旅客信息系统亦被移除，同时两节车辆均为横向座椅而非传统 402 的一纵一横座椅布置。&lt;br /&gt;
&lt;br /&gt;
该车的彩绘是 Yukikaze 自己的像素头像。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-9&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-10&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====桃箱编组  (永久)====&lt;br /&gt;
一组实际由 Hakowwwww 拥有的车体，即 UD 402-11 及 UD 402-12，拥有 uDays 主题粉色的线条彩绘涂装，其他地方与传统 402 类似，但从 UD 402-11 开始，车内的地板都被换成了木纹风格(桦木风格而非 UD 402-9 及 UD402-10 的黑橡木风格)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-11&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-12&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====抹茶编组 (报废)====&lt;br /&gt;
一组原先由端点市拥有的车体，即 UD 402-13 及 402-14，有别于其他 402 系电车，该车组使用了浅绿色-白色系而非深红色-褐色色系，其他和普通 402 相差不大。&lt;br /&gt;
&lt;br /&gt;
在 2022 年 7 月前后，因实体检测计算机工作失误，该车辆编组在越过江南车站区间后坠入海底，直至 8 月 16 日才被发现。至 8 月 20 日方被 uDays 工程组处理，因被部分玩家记录了截图，该车辆编组最终被废止。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-13&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-14&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===悠远号区间车各编成===&lt;br /&gt;
运营于高原的悠远号区间车中，当下运用的 402 系电车全数使用了由 2 节”首尾动力车”构成的共计 2 组编组，一共 4 节车厢。&lt;br /&gt;
&lt;br /&gt;
====赤岸编组 (永久)====&lt;br /&gt;
一组实际由 DX_Lin 拥有的车体，即 UD 402-17 及 UD 402-18，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-17&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-18&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====沙荫编组 (永久)====&lt;br /&gt;
一组实际由端点市沙荫镇拥有的车体，即 UD 402-25 及 UD 402-26，是 402 系的标准车体(桦木木纹地板、无彩绘)。&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
!车号!!1!!2&lt;br /&gt;
|-&lt;br /&gt;
|电弓||&amp;lt;||&lt;br /&gt;
|-&lt;br /&gt;
|形式||UD 402-25&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、头车}}}}||UD 402-26&amp;lt;br /&amp;gt;{{small|{{lang|zh-cn|动力车、尾车}}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{悠日铁道动力客车}}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4841</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4841"/>
		<updated>2022-11-30T23:44:14Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 150px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 290px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = uDays 管理组&lt;br /&gt;
|purpose          = &#039;&#039;&#039;uDays 境内营运事业&#039;&#039;&#039;&amp;lt;br&amp;gt;[[File:yuunitetsu.png|15px]] 端巽线&amp;lt;br&amp;gt;悠日高铁&amp;lt;br&amp;gt;花都市营地下铁&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|region_served    = [[File:udays.png|15px]] uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4840</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4840"/>
		<updated>2022-11-30T23:43:14Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 150px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 290px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = uDays 管理组&lt;br /&gt;
|purpose          = uDays 境内&amp;lt;br&amp;gt; [[File:yuunitetsu.png|15px]] 端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|region_served    = [[File:udays.png|15px]] uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4839</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4839"/>
		<updated>2022-11-30T23:42:21Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 150px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 290px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = uDays 管理组&lt;br /&gt;
|purpose          = uDays 境内 [[File:yuunitetsu.png|15px]] 端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|region_served    = [[File:udays.png|15px]] uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4838</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4838"/>
		<updated>2022-11-30T23:41:17Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 150px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 290px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = SantorsiaWorks&lt;br /&gt;
|purpose          = uDays 境内 [[File:yuunitetsu.png|15px]] 端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|location         = [[File:udays.png|15px]] [[uDays]]&lt;br /&gt;
|region_served    = [[File:udays.png|15px]] uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4837</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4837"/>
		<updated>2022-11-30T23:37:33Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 150px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 290px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = SantorsiaWorks&lt;br /&gt;
|purpose          = uDays 境内端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|location         = [[uDays]]&lt;br /&gt;
|region_served    = uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization&amp;diff=4836</id>
		<title>模板:Infobox organization</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization&amp;diff=4836"/>
		<updated>2022-11-30T23:35:40Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| bodyclass = vcard&lt;br /&gt;
&lt;br /&gt;
| titleclass = fn org&lt;br /&gt;
| title = {{{组织名稱|{{{name|{{{organization_name|{{{Non-profit_name|&amp;lt;includeonly&amp;gt;{{PAGENAMEBASE}}&amp;lt;/includeonly&amp;gt;}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| subheader = {{#if:{{{native_name|{{{native name|}}}}}}|&amp;lt;span class=&amp;quot;nickname&amp;quot; {{#if:{{{native_name_lang|}}}|lang=&amp;quot;{{{native_name_lang}}}&amp;quot;}}&amp;gt;{{{native_name|{{{native name}}}}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| image = {{#invoke:InfoboxImage|InfoboxImage |image={{{组织標誌|{{{logo|{{{organization_logo|{{{Non-profit_logo|{{#if:{{wikidata|property|raw|{{{qid|}}}|P158}}|{{wikidata|property|raw|{{{qid|}}}|P158}}}}}}}}}}}}}}}} |size={{{logo_size|}}} |sizedefault=250px |alt={{{logo_alt|}}} }}&lt;br /&gt;
| caption = {{{logo_caption|}}}&lt;br /&gt;
&lt;br /&gt;
| image2 = {{#invoke:InfoboxImage|InfoboxImage |image={{{image|}}} |size={{{image_size|{{{imagesize|{{{size|}}}}}}}}} |sizedefault=frameless |alt={{{image_alt|{{{alt|}}}}}} }}&lt;br /&gt;
| caption2 = {{{caption|}}}&lt;br /&gt;
&lt;br /&gt;
| image3 = {{#invoke:InfoboxImage|InfoboxImage |image={{{map|}}} |size={{{map_size|{{{msize|}}}}}} |sizedefault=250px |alt={{{map_alt|{{{malt|}}}}}} }}&lt;br /&gt;
| caption3 = {{{map_caption|{{{mcaption|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| image4 = {{#invoke:InfoboxImage|InfoboxImage |image={{{map2|}}} |size={{{map2_size|}}} |sizedefault=250px |alt={{{map2_alt|}}} }}&lt;br /&gt;
| caption4 = {{{map2_caption|}}}`&lt;br /&gt;
&lt;br /&gt;
| labelstyle = padding-right:0.6em; width:75px;&amp;lt;!--(to ensure some gap between any (long/unwrapped) labels and subsequent data on same line)--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| label1 = {{longitem|原稱}}&lt;br /&gt;
| class1 = nickname&lt;br /&gt;
|  data1 = {{if empty |{{{former name|}}} |{{{former_name|}}} |{{{former|}}} |{{{formerly|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label2  = {{#if:{{{original_name|}}}|原名}}&lt;br /&gt;
|  data2  = {{#if:{{{original_name|}}}|&amp;lt;span style=&amp;quot;font-weight:bold;&amp;quot;&amp;gt;{{{original_name|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| label3  = 簡稱&lt;br /&gt;
| class3  = nickname&lt;br /&gt;
|  data3  = {{{abbreviation|}}}&lt;br /&gt;
&lt;br /&gt;
| label12  = 合併自&lt;br /&gt;
|  data12  = {{{merger|}}}&lt;br /&gt;
&lt;br /&gt;
| label13  = 成立時間&lt;br /&gt;
| class13  = note&lt;br /&gt;
|  data13  = {{#invoke:Wikidata|getValue|P571|{{{成立年份|{{{formation|{{{founded_date|{{{founded|{{{established|FETCH_WIKIDATA}}}}}}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label14  = 創始人&lt;br /&gt;
|  data14  = {{#invoke:Wikidata|getValue|P112|{{{founder|{{{founders|FETCH_WIKIDATA}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label17  = 併入&lt;br /&gt;
|  data17  = {{{merged|}}}&lt;br /&gt;
&lt;br /&gt;
| label25 = {{longitem|專業頭銜}}&lt;br /&gt;
|  data25 = {{{professional_title|}}}&lt;br /&gt;
&lt;br /&gt;
| label32 = 地點&lt;br /&gt;
| class32 = label&lt;br /&gt;
|  data32 = {{Unbulleted list&lt;br /&gt;
             | 1 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{location_city|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{location_city}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{location_country|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{location_country}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 2 = {{{location|}}}&lt;br /&gt;
             | 3 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{location_city2|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{location_city2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{location_country2|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{location_country2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 4 = {{{location2|}}}&lt;br /&gt;
            }}&lt;br /&gt;
&lt;br /&gt;
| label33 = 地址&lt;br /&gt;
| class33 = label&lt;br /&gt;
|  data33 = {{Unbulleted list&lt;br /&gt;
             | 1 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{addnl_location_city|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{addnl_location_city}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{addnl_location_country|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{addnl_location_country}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 2 = {{{addnl_location|{{{additional_location|}}}}}}&lt;br /&gt;
             | 3 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{addnl_location_city2|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{addnl_location_city2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{addnl_location_country2|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{addnl_location_country2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 4 = {{{addnl_location2|{{{additional_location2|}}}}}}&lt;br /&gt;
            }}&lt;br /&gt;
&lt;br /&gt;
| label41 = 起源&lt;br /&gt;
|  data41 = {{{origins|}}}&lt;br /&gt;
&lt;br /&gt;
| label42 = 產品&lt;br /&gt;
|  data42 = {{{products|{{{product|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label43 = 服務&lt;br /&gt;
| class43 = note&lt;br /&gt;
|  data43 = {{{services|}}}&lt;br /&gt;
&lt;br /&gt;
| label44 = 服务地区&lt;br /&gt;
|  data44 = {{#invoke:Wikidata|getValue|P2541|{{{area_served|{{{region_served|{{{region|FETCH_WIKIDATA}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label45 = 方法&lt;br /&gt;
|  data45 = {{{methods|{{{method|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label46 = 領域&lt;br /&gt;
|  data46 = {{{fields|{{{field|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label47 = {{longitem |會員{{#if:{{{会员人数|{{{num_members|{{{members|}}}}}}}}}}} {{#if:{{{num_members_year|{{{membership_year|}}}}}} |{{nobold|（{{{num_members_year|{{{membership_year|}}}}}}）}} }} }}&lt;br /&gt;
|  data47 = {{#if:{{{会员人数|{{{num_members|{{{members|}}}}}}}}} |{{{会员人数|{{{num_members|{{{members}}}}}}}}} |{{{membership|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label48 = {{longitem |官方語言}}&lt;br /&gt;
|  data48 = {{{languages|{{{language|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label61 = 隸屬&lt;br /&gt;
|  data61 = {{{affiliations|}}}&lt;br /&gt;
&lt;br /&gt;
| label62 = 所有者&lt;br /&gt;
|  data62 = {{{owners|{{{owner|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label63 = {{longitem|秘書長}}&lt;br /&gt;
|  data63 = {{#if:{{{general|}}} |{{{general}}} |{{{sec_gen|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label64 = {{#if:{{{领导职务|{{{leader_title|}}}}}}|{{longitem|{{{领导职务|{{{leader_title}}}}}}}}|領導人}}&lt;br /&gt;
|  data64 = {{{现任领导|{{{leader_name|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label65 = {{longitem|{{{leader_title2}}}}}&lt;br /&gt;
|  data65 = {{#if:{{{leader_title2|}}} |{{{leader_name2|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label66 = {{longitem|{{{leader_title3}}}}}&lt;br /&gt;
|  data66 = {{#if:{{{leader_title3|}}} |{{{leader_name3|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label67 = {{longitem|{{{leader_title4}}}}}&lt;br /&gt;
|  data67 = {{#if:{{{leader_title4|}}} |{{{leader_name4|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label81 = {{#if:{{{main_organ|}}} |{{longitem|机关刊物}} |出版物}}&lt;br /&gt;
|  data81 = {{#if:{{{main_organ|}}} |{{{main_organ}}} |{{{publication|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label82 = {{longitem|關聯組織{{#if:{{{parent_organisation|}}}}}}}&lt;br /&gt;
|  data82 = {{#if:{{{parent_organisation|}}} |{{{parent_organisation}}} |{{{parent_organization|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label83 = 分支機構&lt;br /&gt;
|  data83 = {{#if:{{{subsidiaries|}}} |{{{subsidiaries}}} |{{{subsid|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label84 = 脫離&lt;br /&gt;
|  data84 = {{{secessions|}}}&lt;br /&gt;
&lt;br /&gt;
| label85 = {{longitem |預算{{#if:{{{budget_year|}}} |{{nobold|（{{{budget_year}}}）}} }} }}&lt;br /&gt;
|  data85 = {{{budget|}}}&lt;br /&gt;
&lt;br /&gt;
| label87 = 支出{{#if:{{{expenses_year|}}} | {{nobold|（{{{expenses_year}}}）}} }}&lt;br /&gt;
|  data87 = {{{disbursed|{{{disbursements|{{{disbursement|{{{expenses|{{{spent|{{{expense|}}}}}}}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label91 = {{longitem |志願者数{{#if:{{{num_volunteers_year|{{{volunteers_year|}}}}}} |{{nobold|（{{{num_volunteers_year|{{{volunteers_year|}}}}}}）}} }} }}&lt;br /&gt;
|  data91 = {{{num_volunteers|{{{volunteers|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label101  = 標語&lt;br /&gt;
| class101  = note&lt;br /&gt;
|  data101  = {{{motto|{{{organization_motto|{{{pledge|}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label102 = 事業範圍&lt;br /&gt;
|  data102 = {{{focus|{{{purpose|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label103 = 口號&lt;br /&gt;
|  data103 = {{{slogan|{{{Non-profit_slogan|{{{non-profit_slogan|}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label104 = 使命聲明&lt;br /&gt;
|  data104 = {{{mission|}}}&lt;br /&gt;
&lt;br /&gt;
| label107 = 備註&lt;br /&gt;
|  data107 = {{{remarks|}}}&lt;br /&gt;
&lt;br /&gt;
| belowstyle = border-top:#aaa 1px solid;&lt;br /&gt;
| below = {{{footnotes|}}}&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4835</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4835"/>
		<updated>2022-11-30T23:29:13Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 100px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 300px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = SantorsiaWorks&lt;br /&gt;
|purpose          = uDays 境内端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|location         = [[uDays]]&lt;br /&gt;
|region_served    = uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4834</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4834"/>
		<updated>2022-11-30T23:28:54Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Organization&lt;br /&gt;
|name             = uDays 悠日鉄道實業集團&amp;lt;br&amp;gt;{{small|{{lang|ja|Yuunitetsu}}}}&lt;br /&gt;
|image            = yuunitetsu_full.png&lt;br /&gt;
|size             = 100px&lt;br /&gt;
|caption          = 识别标志&lt;br /&gt;
|map              = Yuunitetsu_Building.jpg&lt;br /&gt;
|msize            = 300px&lt;br /&gt;
|mcaption         = 位于花都市悠亭区的悠日铁道本社。&lt;br /&gt;
|abbreviation     = 悠日铁道、悠铁&lt;br /&gt;
|formation        = 2020 年 8 月 15 日&lt;br /&gt;
|founder          = SantorsiaWorks&lt;br /&gt;
|purpose          = uDays 境内端巽线、悠日高铁、花都市营地下铁营运事业&lt;br /&gt;
|headquarter      = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
|location         = [[uDays]]&lt;br /&gt;
|region_served    = uDays&lt;br /&gt;
|leader_title     = 總裁&lt;br /&gt;
|parent_organization = SantorsiaWorks&amp;lt;br&amp;gt;uDays 管理组&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization/doc&amp;diff=4833</id>
		<title>模板:Infobox organization/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization/doc&amp;diff=4833"/>
		<updated>2022-11-30T23:24:05Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Documentation subpage}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{High-use|2461}}&lt;br /&gt;
&amp;lt;!-- 请在此线下编辑模板说明文档 --&amp;gt;&lt;br /&gt;
{{Esoteric}}&lt;br /&gt;
__TOC__&lt;br /&gt;
== 模板作用 ==&lt;br /&gt;
{{tl|Infobox organization}}是供[[:Category:组织|组织类条目]]使用的信息框模板。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
{{Parameter names example |_display=italics&lt;br /&gt;
 |name |full_name |native_name |native_name_lang=es&lt;br /&gt;
 |image={{{image}}} |image_size={{{image_size}}} |alt={{{alt}}} |caption&lt;br /&gt;
 |logo={{{logo}}} |logo_size={{{logo_size}}} |logo_alt={{{logo_alt}}} |logo_caption&lt;br /&gt;
 |map={{{map}}} |map_size={{{map_size}}} |map_alt={{{map_alt}}} |map_caption |map2={{{map2}}} |map2_size={{{map2_size}}} |map2_alt={{{map2_alt}}} |map2_caption&lt;br /&gt;
 |abbreviation |nickname |pronounce={{{pronounce}}}&amp;amp;nbsp; |pronounce ref |pronounce comment |pronounce 2 |named_after |motto |predecessor |merged |successor |formation |founder=&#039;&#039;founder&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;founders&#039;&#039; |founding_location&lt;br /&gt;
 |dissolved=&#039;&#039;dissolved&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;defunct&#039;&#039; |merger |type |tax_id=&#039;&#039;tax_id&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;vat_id&#039;&#039;&lt;br /&gt;
 |registration_id |status |purpose |professional_title |headquarters |location_city |location_country |location_city2 |location_country2 |addnl_location_city |addnl_location_country |addnl_location_city2 |addnl_location_country2 |coordinates |origins |region_served=&#039;&#039;region_served&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;region&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;area_served&#039;&#039; |products=&#039;&#039;products&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;product&#039;&#039; |services |methods=&#039;&#039;methods&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;method&#039;&#039; |fields=&#039;&#039;fields&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;field&#039;&#039;&lt;br /&gt;
 |membership |membership_year=&#039;&#039;_year&#039;&#039; |language =&#039;&#039;language&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;languages&#039;&#039; |owner=&#039;&#039;owner&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;owners&#039;&#039; |sec_gen=&#039;&#039;sec_gen&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;gen_sec&#039;&#039;&lt;br /&gt;
 |leader_title |leader_name |leader_title2 |leader_name2 |leader_title3 |leader_name3 |leader_title4 |leader_name4&lt;br /&gt;
 |board_of_directors |key_people |main_organ =&#039;&#039;main_organ&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;publication&#039;&#039; |parent_organization=&#039;&#039;parent_organization&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;parent_organisation&#039;&#039; |subsidiaries |secessions |affiliations&lt;br /&gt;
 |budget |budget_year=&#039;&#039;_year&#039;&#039; |revenue |revenue_year=&#039;&#039;_year&#039;&#039; |disbursements |expenses |expenses_year=&#039;&#039;_year&#039;&#039; |endowment |endowment_year=&#039;&#039;_year&#039;&#039;&lt;br /&gt;
 |staff |staff_year=&#039;&#039;_year&#039;&#039; |volunteers |volunteers_year=&#039;&#039;_year&#039;&#039;&lt;br /&gt;
 |students |students_year=&#039;&#039;_year&#039;&#039;&lt;br /&gt;
 |awards |website=&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{URL|...}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; |remarks |formerly=&#039;&#039;formerly&#039;&#039;&amp;amp;nbsp;{{\}}&amp;amp;nbsp;&#039;&#039;former_name&#039;&#039; |footnotes |bodystyle&lt;br /&gt;
}}&lt;br /&gt;
使用时直接将下面的代码复制到文档中，填充相应数据即可，除组织名称外，其余参数都为可选项。请注意参数名首字母是小写的，这是因为本模板直接使用这些参数生成[[hCard]][[微格式]]。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Infobox organization&lt;br /&gt;
|name = &amp;lt;!-- 名称，必需 --&amp;gt;&lt;br /&gt;
|original_name = &amp;lt;!-- 原始名称，如果该组织名称非中文，而上一个参数写的是中文时，用来补充说明 --&amp;gt;&lt;br /&gt;
|image = &amp;lt;!-- 组织标记图片 --&amp;gt;&lt;br /&gt;
|image_border = &amp;lt;!-- 另一个图片，用于分隔上一个参数中图片和下面各项参数 --&amp;gt;&lt;br /&gt;
|size = &amp;lt;!-- 图片宽度，默认值：200px --&amp;gt;&lt;br /&gt;
|border = &amp;lt;!-- 图片边框，yes为有，默认为无 --&amp;gt;&lt;br /&gt;
|caption = &amp;lt;!-- 图片标题 --&amp;gt;&lt;br /&gt;
|map = &amp;lt;!-- 地图图片 --&amp;gt;&lt;br /&gt;
|msize = &amp;lt;!-- 地图宽度，默认值：250px --&amp;gt;&lt;br /&gt;
|mcaption = &amp;lt;!-- 地图标题 --&amp;gt;&lt;br /&gt;
|abbreviation = &amp;lt;!-- 简称 --&amp;gt;&lt;br /&gt;
|motto = &amp;lt;!-- 组织宣言 --&amp;gt;&lt;br /&gt;
|formation = &amp;lt;!-- 成立时间 --&amp;gt;&lt;br /&gt;
|founder = &amp;lt;!-- 创始人 --&amp;gt;&lt;br /&gt;
|extinction = &amp;lt;!-- 解散时间 --&amp;gt;&lt;br /&gt;
|type = &amp;lt;!-- 组织类型（如：政府机构，[[非政府组织]]，政府间国际组织等） --&amp;gt;&lt;br /&gt;
|status = &amp;lt;!-- 地位（如：临时机构，特别机构，协会，基金会，隸屬層級等） --&amp;gt;&lt;br /&gt;
|purpose = &amp;lt;!-- 组织目標（如：保护环境，促进贸易等） --&amp;gt;&lt;br /&gt;
|headquarters = &amp;lt;!-- 总部地点 --&amp;gt;&lt;br /&gt;
|location = &amp;lt;!-- 组织所在地 --&amp;gt;&lt;br /&gt;
|region_served = &amp;lt;!-- 服务区域 --&amp;gt;&lt;br /&gt;
|membership = &amp;lt;!-- 會員數 --&amp;gt;&lt;br /&gt;
|language = &amp;lt;!-- 工作语言 --&amp;gt;&lt;br /&gt;
|leader_title = &amp;lt;!-- 领导人职位名称（如：主席，秘书长等） --&amp;gt;&lt;br /&gt;
|leader_name = &amp;lt;!-- 领导人姓名 --&amp;gt;&lt;br /&gt;
|main_organ = &amp;lt;!-- 主要运行机构（如：董事会，办公室等） --&amp;gt;&lt;br /&gt;
|parent_organization = &amp;lt;!-- 上级组织 --&amp;gt;&lt;br /&gt;
|affiliations = &amp;lt;!-- 附属或分支组织 --&amp;gt;&lt;br /&gt;
|num_staff = &amp;lt;!-- 雇员人数 --&amp;gt;&lt;br /&gt;
|num_volunteers = &amp;lt;!-- 志愿者人数 --&amp;gt;&lt;br /&gt;
|budget = &amp;lt;!-- 预算 --&amp;gt;&lt;br /&gt;
|website = &amp;lt;!-- 网站 --&amp;gt;&lt;br /&gt;
|remarks = &amp;lt;!-- 注释 --&amp;gt;&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
空白模板：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Infobox organization&lt;br /&gt;
| name                = &amp;lt;!-- defaults to {{PAGENAME}}, if not provided --&amp;gt;&lt;br /&gt;
| full_name           = &lt;br /&gt;
| native_name         = &amp;lt;!-- organization&#039;s name in its local language --&amp;gt;&lt;br /&gt;
| native_name_lang    = &amp;lt;!-- required ISO 639-1 code of the above native language --&amp;gt;&lt;br /&gt;
| logo                = &lt;br /&gt;
| logo_size           = &lt;br /&gt;
| logo_alt            = &lt;br /&gt;
| logo_caption        = &lt;br /&gt;
| image               = &lt;br /&gt;
| image_size          = &lt;br /&gt;
| alt                 = &amp;lt;!-- see [[WP:ALT]] --&amp;gt;&lt;br /&gt;
| caption             = &lt;br /&gt;
| map                 = &amp;lt;!-- map image --&amp;gt;&lt;br /&gt;
| map_size            = &amp;lt;!-- defaults to 250px --&amp;gt;&lt;br /&gt;
| map_alt             = &lt;br /&gt;
| map_caption         = &lt;br /&gt;
| map2                = &amp;lt;!-- 2nd map image, if required --&amp;gt;&lt;br /&gt;
| map2_size           = &lt;br /&gt;
| map2_alt            = &lt;br /&gt;
| map2_caption        = &lt;br /&gt;
| abbreviation        = &lt;br /&gt;
| nickname            = &lt;br /&gt;
| pronounce           = &lt;br /&gt;
| pronounce ref       = &lt;br /&gt;
| pronounce comment   = &lt;br /&gt;
| pronounce 2         = &lt;br /&gt;
| named_after         = &lt;br /&gt;
| motto               = &lt;br /&gt;
| predecessor         = &lt;br /&gt;
| merged              = &amp;lt;!-- any other organization(s) which it was merged into --&amp;gt;&lt;br /&gt;
| successor           = &lt;br /&gt;
| formation           = &amp;lt;!-- or |established = --&amp;gt;&amp;lt;!-- use {{start date and age|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
| founder             = &amp;lt;!-- or |founders = --&amp;gt;&lt;br /&gt;
| founding_location   = &lt;br /&gt;
| dissolved           = &amp;lt;!-- or |defunct = --&amp;gt;&amp;lt;!-- use {{end date and age|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
| merger              = &amp;lt;!-- other organizations (if any) merged with, to constitute the new organization --&amp;gt;&lt;br /&gt;
| type                = &amp;lt;!-- e.g., [[Nonprofit organization|Nonprofit]], [[Non-governmental organization|NGO]], etc. --&amp;gt;&lt;br /&gt;
| tax_id              = &amp;lt;!-- or |vat_id = (for European organizations) --&amp;gt;&lt;br /&gt;
| registration_id     = &amp;lt;!-- for non-profits --&amp;gt;&lt;br /&gt;
| status              = &amp;lt;!-- legal status or description (company, charity, foundation, etc.) --&amp;gt;&lt;br /&gt;
| purpose             = &amp;lt;!-- or |focus = --&amp;gt;&amp;lt;!-- humanitarian, activism, peacekeeping, etc. --&amp;gt;&lt;br /&gt;
| professional_title  = &amp;lt;!-- for professional associations --&amp;gt;&lt;br /&gt;
| headquarters        = &lt;br /&gt;
| location_city       = &lt;br /&gt;
| location_country    = &lt;br /&gt;
| location_city2      = &lt;br /&gt;
| location_country2   = &lt;br /&gt;
| addnl_location_city = &lt;br /&gt;
| addnl_location_country = &lt;br /&gt;
| addnl_location_city2 = &lt;br /&gt;
| addnl_location_country2 = &lt;br /&gt;
| coordinates         = &amp;lt;!-- {{coord|LAT|LON|display=inline,title}} --&amp;gt;&lt;br /&gt;
| origins             = &lt;br /&gt;
| region_served       = &amp;lt;!-- or |area_served = or |region = --&amp;gt;&lt;br /&gt;
| products            = &amp;lt;!-- or |product = --&amp;gt;&lt;br /&gt;
| services            = &lt;br /&gt;
| methods             = &amp;lt;!-- or |method = --&amp;gt;&lt;br /&gt;
| fields              = &amp;lt;!-- or |field = --&amp;gt;&lt;br /&gt;
| membership          = &amp;lt;!-- number of members --&amp;gt;&lt;br /&gt;
| membership_year     = &amp;lt;!-- year to which membership numbers/data apply --&amp;gt;&lt;br /&gt;
| language            = &amp;lt;!-- or |languages = --&amp;gt;&amp;lt;!-- any official language or languages used --&amp;gt;&lt;br /&gt;
| owner               = &amp;lt;!-- or |owners = --&amp;gt;&lt;br /&gt;
| sec_gen             = &amp;lt;!-- or |gen_sec for General Secretary --&amp;gt;&lt;br /&gt;
| leader_title        = &amp;lt;!-- defaults to &amp;quot;Leader&amp;quot; --&amp;gt;&lt;br /&gt;
| leader_name         = &lt;br /&gt;
| leader_title2       = &lt;br /&gt;
| leader_name2        = &lt;br /&gt;
| leader_title3       = &lt;br /&gt;
| leader_name3        = &lt;br /&gt;
| leader_title4       = &lt;br /&gt;
| leader_name4        = &lt;br /&gt;
| board_of_directors  = &lt;br /&gt;
| key_people          = &lt;br /&gt;
| main_organ          = &amp;lt;!-- or |publication = --&amp;gt;&amp;lt;!-- organization&#039;s principal body (assembly, committee, board, etc.) or publication --&amp;gt;&lt;br /&gt;
| parent_organization = &amp;lt;!-- or |parent_organisation = --&amp;gt;&lt;br /&gt;
| subsidiaries        = &lt;br /&gt;
| secessions          = &lt;br /&gt;
| affiliations        = &lt;br /&gt;
| budget              = &lt;br /&gt;
| budget_year         = &lt;br /&gt;
| revenue             = &lt;br /&gt;
| revenue_year        = &lt;br /&gt;
| disbursements       = &lt;br /&gt;
| expenses            = &lt;br /&gt;
| expenses_year       = &lt;br /&gt;
| endowment           = &lt;br /&gt;
| endowment_year      = &lt;br /&gt;
| funding             = &amp;lt;!-- source of funding e.g. for &amp;quot;think tanks&amp;quot; --&amp;gt;&lt;br /&gt;
| staff               = &lt;br /&gt;
| staff_year          = &lt;br /&gt;
| volunteers          = &lt;br /&gt;
| volunteers_year     = &lt;br /&gt;
| students            = &lt;br /&gt;
| students_year       = &lt;br /&gt;
| awards              = &lt;br /&gt;
| website             = &amp;lt;!-- {{URL|example.com}} --&amp;gt;&lt;br /&gt;
| remarks             = &lt;br /&gt;
| formerly            = &amp;lt;!-- or |former_name = --&amp;gt;&lt;br /&gt;
| footnotes           = &lt;br /&gt;
| bodystyle           = &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Organization infoboxes}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&amp;lt;!-- 本行下加入模板的分類 --&amp;gt;&lt;br /&gt;
[[Category:组织机构信息框模板| ]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Ilh/data&amp;diff=4831</id>
		<title>模块:Ilh/data</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Ilh/data&amp;diff=4831"/>
		<updated>2022-11-30T23:22:57Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	[&#039;af&#039;] = { [&#039;lang&#039;] = &#039;南非语&#039; },&lt;br /&gt;
	[&#039;am&#039;] = { [&#039;lang&#039;] = &#039;阿姆哈拉语&#039; },&lt;br /&gt;
	[&#039;ami&#039;] = { [&#039;lang-hans&#039;] = &#039;阿美语&#039;, [&#039;lang-hant&#039;] = &#039;阿美語&#039; },&lt;br /&gt;
	[&#039;ar&#039;] = { [&#039;lang-hans&#039;] = &#039;阿拉伯语&#039;, [&#039;lang-hant&#039;] = &#039;阿拉伯語&#039; },&lt;br /&gt;
	[&#039;az&#039;] = { [&#039;lang&#039;] = &#039;阿塞拜疆语&#039; },&lt;br /&gt;
	[&#039;be&#039;] = { [&#039;lang&#039;] = &#039;白俄羅斯語&#039; },&lt;br /&gt;
	[&#039;be-tarask&#039;] = { [&#039;lang&#039;] = &#039;舊白俄羅斯語&#039; },&lt;br /&gt;
	[&#039;bg&#039;] = { [&#039;lang&#039;] = &#039;保加利亞語&#039; },&lt;br /&gt;
	[&#039;bho&#039;] = { [&#039;lang&#039;] = &#039;博杰普尔语&#039; },&lt;br /&gt;
	[&#039;bn&#039;] = { [&#039;lang&#039;] = &#039;孟加拉語&#039; },&lt;br /&gt;
	[&#039;bo&#039;] = { [&#039;lang&#039;] = &#039;藏语&#039; },&lt;br /&gt;
	[&#039;bs&#039;] = { [&#039;lang&#039;] = &#039;波斯尼亚语&#039; },&lt;br /&gt;
	[&#039;ca&#039;] = { [&#039;lang&#039;] = &#039;加泰罗尼亚语&#039; },&lt;br /&gt;
	[&#039;cdo&#039;] = { [&#039;lang&#039;] = &#039;閩東語&#039; },&lt;br /&gt;
	[&#039;ceb&#039;] = { [&#039;lang&#039;] = &#039;宿霧語&#039; },&lt;br /&gt;
	[&#039;ckb&#039;] = { [&#039;lang&#039;] = &#039;中库尔德语&#039; },&lt;br /&gt;
	[&#039;cs&#039;] = { [&#039;lang&#039;] = &#039;捷克語&#039; },&lt;br /&gt;
	[&#039;cv&#039;] = { [&#039;lang&#039;] = &#039;楚瓦什语&#039; },&lt;br /&gt;
	[&#039;cy&#039;] = { [&#039;lang&#039;] = &#039;威尔士语&#039; },&lt;br /&gt;
	[&#039;da&#039;] = { [&#039;lang&#039;] = &#039;丹麥語&#039; },&lt;br /&gt;
	[&#039;de&#039;] = { [&#039;lang&#039;] = &#039;德语&#039; },&lt;br /&gt;
	[&#039;diq&#039;] = { [&#039;lang&#039;] = &#039;扎扎其语&#039; },&lt;br /&gt;
	[&#039;el&#039;] = { [&#039;lang&#039;] = &#039;希臘語&#039; },&lt;br /&gt;
	[&#039;en&#039;] = { [&#039;lang-hans&#039;] = &#039;英语&#039;, [&#039;lang-hant&#039;] = &#039;英語&#039; },&lt;br /&gt;
	[&#039;eo&#039;] = { [&#039;lang&#039;] = &#039;世界语&#039; },&lt;br /&gt;
	[&#039;es&#039;] = { [&#039;lang-hans&#039;] = &#039;西班牙语&#039;, [&#039;lang-hant&#039;] = &#039;西班牙語&#039; },&lt;br /&gt;
	[&#039;et&#039;] = { [&#039;lang&#039;] = &#039;爱沙尼亚语&#039; },&lt;br /&gt;
	[&#039;eu&#039;] = { [&#039;lang&#039;] = &#039;巴斯克语&#039; },&lt;br /&gt;
	[&#039;fa&#039;] = { [&#039;lang&#039;] = &#039;波斯語&#039; },&lt;br /&gt;
	[&#039;fi&#039;] = { [&#039;lang&#039;] = &#039;芬蘭語&#039; },&lt;br /&gt;
	[&#039;fo&#039;] = { [&#039;lang&#039;] = &#039;法罗语&#039; },&lt;br /&gt;
	[&#039;fr&#039;] = { [&#039;lang-hans&#039;] = &#039;法语&#039;, [&#039;lang-hant&#039;] = &#039;法語&#039; },&lt;br /&gt;
	[&#039;frp&#039;] = { [&#039;lang-hans&#039;] = &#039;阿尔卑坦语&#039;, [&#039;lang-hant&#039;] = &#039;阿爾卑坦語&#039; },&lt;br /&gt;
	[&#039;ga&#039;] = { [&#039;lang&#039;] = &#039;愛爾蘭語&#039; },&lt;br /&gt;
	[&#039;gan&#039;] = { [&#039;lang&#039;] = &#039;赣语&#039; },&lt;br /&gt;
	[&#039;gl&#039;] = { [&#039;lang&#039;] = &#039;加利西亞語&#039; },&lt;br /&gt;
	[&#039;gor&#039;] = { [&#039;lang-hans&#039;] = &#039;哥伦打洛文&#039;, [&#039;lang-hant&#039;] = &#039;哥倫打洛文&#039; },&lt;br /&gt;
	[&#039;gu&#039;] = { [&#039;lang&#039;] = &#039;古吉拉特語&#039; },&lt;br /&gt;
	[&#039;gv&#039;] = { [&#039;lang&#039;] = &#039;马恩语&#039; },&lt;br /&gt;
	[&#039;hak&#039;] = { [&#039;lang-hans&#039;] = &#039;客家话&#039;, [&#039;lang-hant&#039;] = &#039;客家話&#039; },&lt;br /&gt;
	[&#039;he&#039;] = { [&#039;lang&#039;] = &#039;希伯來語&#039; },&lt;br /&gt;
	[&#039;hi&#039;] = { [&#039;lang&#039;] = &#039;印地語&#039; },&lt;br /&gt;
	[&#039;hr&#039;] = { [&#039;lang&#039;] = &#039;克羅地亞語&#039; },&lt;br /&gt;
	[&#039;ht&#039;] = { [&#039;lang&#039;] = &#039;海地克里奥尔语&#039; },&lt;br /&gt;
	[&#039;hu&#039;] = { [&#039;lang&#039;] = &#039;匈牙利语&#039; },&lt;br /&gt;
	[&#039;hy&#039;] = { [&#039;lang&#039;] = &#039;亞美尼亞語&#039; },&lt;br /&gt;
	[&#039;id&#039;] = { [&#039;lang&#039;] = &#039;印度尼西亚语&#039; },&lt;br /&gt;
	[&#039;inh&#039;] = { [&#039;lang-hans&#039;] = &#039;印古什文&#039;, [&#039;lang-hant&#039;] = &#039;印古什文&#039; },&lt;br /&gt;
	[&#039;is&#039;] = { [&#039;lang&#039;] = &#039;冰島語&#039; },&lt;br /&gt;
	[&#039;it&#039;] = { [&#039;lang&#039;] = &#039;義大利語&#039; },&lt;br /&gt;
	[&#039;ja&#039;] = { [&#039;lang-hans&#039;] = &#039;日语&#039;, [&#039;lang-hant&#039;] = &#039;日語&#039; },&lt;br /&gt;
	[&#039;ka&#039;] = { [&#039;lang&#039;] = &#039;格鲁吉亚语&#039; },&lt;br /&gt;
	[&#039;kk&#039;] = { [&#039;lang&#039;] = &#039;哈萨克语&#039; },&lt;br /&gt;
	[&#039;km&#039;] = { [&#039;lang-hans&#039;] = &#039;高棉语&#039;, [&#039;lang-hant&#039;] = &#039;高棉語&#039; },&lt;br /&gt;
	[&#039;ko&#039;] = { [&#039;lang-hans&#039;] = &#039;朝鲜语&#039;, [&#039;lang-hant&#039;] = &#039;韓語&#039; },&lt;br /&gt;
	[&#039;ku&#039;] = { [&#039;lang&#039;] = &#039;库尔德语&#039; },&lt;br /&gt;
	[&#039;ky&#039;] = { [&#039;lang&#039;] = &#039;柯爾克孜語&#039; },&lt;br /&gt;
	[&#039;la&#039;] = { [&#039;lang&#039;] = &#039;拉丁語&#039; },&lt;br /&gt;
	[&#039;lad&#039;] = { [&#039;lang&#039;] = &#039;拉迪诺语&#039; },&lt;br /&gt;
	[&#039;lb&#039;] = { [&#039;lang&#039;] = &#039;卢森堡语&#039; },&lt;br /&gt;
	[&#039;lo&#039;] = { [&#039;lang-hans&#039;] = &#039;老挝语&#039;, [&#039;lang-hant&#039;] = &#039;寮語&#039; },&lt;br /&gt;
	[&#039;lt&#039;] = { [&#039;lang&#039;] = &#039;立陶宛语&#039; },&lt;br /&gt;
	[&#039;lv&#039;] = { [&#039;lang&#039;] = &#039;拉脫維亞語&#039; },&lt;br /&gt;
	[&#039;lzh&#039;] = { [&#039;lang&#039;] = &#039;文言文&#039; },&lt;br /&gt;
	[&#039;min&#039;] = { [&#039;lang&#039;] = &#039;米南加保语&#039; },&lt;br /&gt;
	[&#039;mk&#039;] = { [&#039;lang-hans&#039;] = &#039;马其顿语&#039;, [&#039;lang-hant&#039;] = &#039;馬其頓語&#039; },&lt;br /&gt;
	[&#039;ml&#039;] = { [&#039;lang&#039;] = &#039;马拉雅姆语&#039; },&lt;br /&gt;
	[&#039;mn&#039;] = { [&#039;lang&#039;] = &#039;蒙古語&#039; },&lt;br /&gt;
	[&#039;ms&#039;] = { [&#039;lang&#039;] = &#039;馬來語&#039; },&lt;br /&gt;
	[&#039;mt&#039;] = { [&#039;lang&#039;] = &#039;马耳他语&#039; },&lt;br /&gt;
	[&#039;my&#039;] = { [&#039;lang&#039;] = &#039;缅甸语&#039; },&lt;br /&gt;
	[&#039;na&#039;] = { [&#039;lang&#039;] = &#039;瑙鲁语&#039; },&lt;br /&gt;
	[&#039;nan&#039;] = { [&#039;lang&#039;] = &#039;閩南語&#039; },&lt;br /&gt;
	[&#039;nds&#039;] = { [&#039;lang-hans&#039;] = &#039;低地德语&#039;, [&#039;lang-hant&#039;] = &#039;低地德语&#039; },&lt;br /&gt;
	[&#039;ne&#039;] = { [&#039;lang&#039;] = &#039;尼泊尔语&#039; },&lt;br /&gt;
	[&#039;nl&#039;] = { [&#039;lang&#039;] = &#039;荷兰语&#039; },&lt;br /&gt;
	[&#039;no&#039;] = { [&#039;lang&#039;] = &#039;書面挪威語&#039; },&lt;br /&gt;
	[&#039;oc&#039;] = { [&#039;lang&#039;] = &#039;奥克语&#039; },&lt;br /&gt;
	[&#039;pl&#039;] = { [&#039;lang-hans&#039;] = &#039;波兰语&#039;, [&#039;lang-hant&#039;] = &#039;波蘭語&#039; },&lt;br /&gt;
	[&#039;ps&#039;] = { [&#039;lang&#039;] = &#039;普什图语&#039; },&lt;br /&gt;
	[&#039;pt&#039;] = { [&#039;lang&#039;] = &#039;葡萄牙語&#039; },&lt;br /&gt;
	[&#039;qu&#039;] = { [&#039;lang-hans&#039;] = &#039;克丘亚语&#039;, [&#039;lang-hant&#039;] = &#039;克丘亞語&#039; },&lt;br /&gt;
	[&#039;rm&#039;] = { [&#039;lang&#039;] = &#039;罗曼什语&#039; },&lt;br /&gt;
	[&#039;ro&#039;] = { [&#039;lang&#039;] = &#039;羅馬尼亞語&#039; },&lt;br /&gt;
	[&#039;ru&#039;] = { [&#039;lang&#039;] = &#039;俄语&#039; },&lt;br /&gt;
	[&#039;sa&#039;] = { [&#039;lang-hans&#039;] = &#039;梵语&#039;, [&#039;lang-hant&#039;] = &#039;梵語&#039; },&lt;br /&gt;
	[&#039;sh&#039;] = { [&#039;lang&#039;] = &#039;塞爾維亞-克羅地亞語&#039; },&lt;br /&gt;
	[&#039;si&#039;] = { [&#039;lang&#039;] = &#039;僧伽罗语&#039; },&lt;br /&gt;
	[&#039;simple&#039;] = { [&#039;lang&#039;] = &#039;簡單英語&#039; },&lt;br /&gt;
	[&#039;sk&#039;] = { [&#039;lang&#039;] = &#039;斯洛伐克语&#039; },&lt;br /&gt;
	[&#039;sl&#039;] = { [&#039;lang&#039;] = &#039;斯洛維尼亞語&#039; },&lt;br /&gt;
	[&#039;smn&#039;] = { [&#039;lang-hans&#039;] = &#039;伊纳里萨米文&#039;, [&#039;lang-hant&#039;] = &#039;伊納里薩米文&#039; },&lt;br /&gt;
	[&#039;so&#039;] = { [&#039;lang&#039;] = &#039;索馬利亞語&#039; },&lt;br /&gt;
	[&#039;sq&#039;] = { [&#039;lang&#039;] = &#039;阿尔巴尼亚语&#039; },&lt;br /&gt;
	[&#039;sr&#039;] = { [&#039;lang&#039;] = &#039;塞尔维亚语&#039; },&lt;br /&gt;
	[&#039;sv&#039;] = { [&#039;lang&#039;] = &#039;瑞典语&#039; },&lt;br /&gt;
	[&#039;sw&#039;] = { [&#039;lang&#039;] = &#039;斯瓦西裡語&#039; },&lt;br /&gt;
	[&#039;szy&#039;] = { [&#039;lang-hans&#039;] = &#039;撒奇莱雅语&#039;, [&#039;lang-hant&#039;] = &#039;撒奇萊雅語&#039; },&lt;br /&gt;
	[&#039;ta&#039;] = { [&#039;lang&#039;] = &#039;泰米尔语&#039; },&lt;br /&gt;
	[&#039;tay&#039;] = { [&#039;lang-hans&#039;] = &#039;泰雅语&#039;, [&#039;lang-hant&#039;] = &#039;泰雅語&#039; },&lt;br /&gt;
	[&#039;te&#039;] = { [&#039;lang&#039;] = &#039;泰卢固语&#039; },&lt;br /&gt;
	[&#039;tet&#039;] = { [&#039;lang-hans&#039;] = &#039;德顿语&#039;, [&#039;lang-hant&#039;] = &#039;德頓語&#039; },&lt;br /&gt;
	[&#039;tg&#039;] = { [&#039;lang&#039;] = &#039;塔吉克语&#039; },&lt;br /&gt;
	[&#039;th&#039;] = { [&#039;lang&#039;] = &#039;泰语&#039; },&lt;br /&gt;
	[&#039;tk&#039;] = { [&#039;lang&#039;] = &#039;土库曼语&#039; },&lt;br /&gt;
	[&#039;tl&#039;] = { [&#039;lang&#039;] = &#039;他加禄语&#039; },&lt;br /&gt;
	[&#039;tr&#039;] = { [&#039;lang&#039;] = &#039;土耳其語&#039; },&lt;br /&gt;
	[&#039;tt&#039;] = { [&#039;lang&#039;] = &#039;韃靼語&#039; },&lt;br /&gt;
	[&#039;tyv&#039;] = { [&#039;lang&#039;] = &#039;图瓦语&#039; },&lt;br /&gt;
	[&#039;uk&#039;] = { [&#039;lang&#039;] = &#039;烏克蘭語&#039; },&lt;br /&gt;
	[&#039;ur&#039;] = { [&#039;lang&#039;] = &#039;烏爾都語&#039; },&lt;br /&gt;
	[&#039;uz&#039;] = { [&#039;lang&#039;] = &#039;烏孜別克语&#039; },&lt;br /&gt;
	[&#039;vi&#039;] = { [&#039;lang&#039;] = &#039;越南语&#039; },&lt;br /&gt;
	[&#039;wuu&#039;] = { [&#039;lang&#039;] = &#039;吴语&#039; },&lt;br /&gt;
	[&#039;xmf&#039;] = { [&#039;lang&#039;] = &#039;明格列尔语&#039; },&lt;br /&gt;
	[&#039;yue&#039;] = { [&#039;lang&#039;] = &#039;粵语&#039; },&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:ISO_3166/data/National&amp;diff=4829</id>
		<title>模块:ISO 3166/data/National</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:ISO_3166/data/National&amp;diff=4829"/>
		<updated>2022-11-30T23:22:56Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
  [&amp;quot;AD&amp;quot;] = {alpha3=&amp;quot;AND&amp;quot;,numeric=&amp;quot;020&amp;quot;,name=&amp;quot;Andorra&amp;quot;},&lt;br /&gt;
  [&amp;quot;AE&amp;quot;] = {alpha3=&amp;quot;ARE&amp;quot;,numeric=&amp;quot;784&amp;quot;,name=&amp;quot;United Arab Emirates&amp;quot;,altnames={&amp;quot;UAE&amp;quot;}},&lt;br /&gt;
  [&amp;quot;AF&amp;quot;] = {alpha3=&amp;quot;AFG&amp;quot;,numeric=&amp;quot;004&amp;quot;,name=&amp;quot;Afghanistan&amp;quot;},&lt;br /&gt;
  [&amp;quot;AG&amp;quot;] = {alpha3=&amp;quot;ATG&amp;quot;,numeric=&amp;quot;028&amp;quot;,name=&amp;quot;Antigua and Barbuda&amp;quot;},&lt;br /&gt;
  [&amp;quot;AI&amp;quot;] = {alpha3=&amp;quot;AIA&amp;quot;,numeric=&amp;quot;660&amp;quot;,name=&amp;quot;Anguilla&amp;quot;},&lt;br /&gt;
  [&amp;quot;AL&amp;quot;] = {alpha3=&amp;quot;ALB&amp;quot;,numeric=&amp;quot;008&amp;quot;,name=&amp;quot;Albania&amp;quot;},&lt;br /&gt;
  [&amp;quot;AM&amp;quot;] = {alpha3=&amp;quot;ARM&amp;quot;,numeric=&amp;quot;051&amp;quot;,name=&amp;quot;Armenia&amp;quot;},&lt;br /&gt;
  [&amp;quot;AO&amp;quot;] = {alpha3=&amp;quot;AGO&amp;quot;,numeric=&amp;quot;024&amp;quot;,name=&amp;quot;Angola&amp;quot;},&lt;br /&gt;
  [&amp;quot;AQ&amp;quot;] = {alpha3=&amp;quot;ATA&amp;quot;,numeric=&amp;quot;010&amp;quot;,name=&amp;quot;Antarctica&amp;quot;},&lt;br /&gt;
  [&amp;quot;AR&amp;quot;] = {alpha3=&amp;quot;ARG&amp;quot;,numeric=&amp;quot;032&amp;quot;,name=&amp;quot;Argentina&amp;quot;},&lt;br /&gt;
  [&amp;quot;AS&amp;quot;] = {alpha3=&amp;quot;ASM&amp;quot;,numeric=&amp;quot;016&amp;quot;,name=&amp;quot;American Samoa&amp;quot;},&lt;br /&gt;
  [&amp;quot;AT&amp;quot;] = {alpha3=&amp;quot;AUT&amp;quot;,numeric=&amp;quot;040&amp;quot;,name=&amp;quot;Austria&amp;quot;},&lt;br /&gt;
  [&amp;quot;AU&amp;quot;] = {alpha3=&amp;quot;AUS&amp;quot;,numeric=&amp;quot;036&amp;quot;,name=&amp;quot;Australia&amp;quot;},&lt;br /&gt;
  [&amp;quot;AW&amp;quot;] = {alpha3=&amp;quot;ABW&amp;quot;,numeric=&amp;quot;533&amp;quot;,name=&amp;quot;Aruba&amp;quot;},&lt;br /&gt;
  [&amp;quot;AX&amp;quot;] = {alpha3=&amp;quot;ALA&amp;quot;,numeric=&amp;quot;248&amp;quot;,name=&amp;quot;Åland Islands&amp;quot;,altnames={&amp;quot;Aland Islands&amp;quot;,&amp;quot;Åland&amp;quot;,&amp;quot;Aland&amp;quot;}},&lt;br /&gt;
  [&amp;quot;AZ&amp;quot;] = {alpha3=&amp;quot;AZE&amp;quot;,numeric=&amp;quot;031&amp;quot;,name=&amp;quot;Azerbaijan&amp;quot;},&lt;br /&gt;
  [&amp;quot;BA&amp;quot;] = {alpha3=&amp;quot;BIH&amp;quot;,numeric=&amp;quot;070&amp;quot;,name=&amp;quot;Bosnia and Herzegovina&amp;quot;,altnames={&amp;quot;Bosnia&amp;quot;}},&lt;br /&gt;
  [&amp;quot;BB&amp;quot;] = {alpha3=&amp;quot;BRB&amp;quot;,numeric=&amp;quot;052&amp;quot;,name=&amp;quot;Barbados&amp;quot;},&lt;br /&gt;
  [&amp;quot;BD&amp;quot;] = {alpha3=&amp;quot;BGD&amp;quot;,numeric=&amp;quot;050&amp;quot;,name=&amp;quot;Bangladesh&amp;quot;},&lt;br /&gt;
  [&amp;quot;BE&amp;quot;] = {alpha3=&amp;quot;BEL&amp;quot;,numeric=&amp;quot;056&amp;quot;,name=&amp;quot;Belgium&amp;quot;},&lt;br /&gt;
  [&amp;quot;BF&amp;quot;] = {alpha3=&amp;quot;BFA&amp;quot;,numeric=&amp;quot;854&amp;quot;,name=&amp;quot;Burkina Faso&amp;quot;},&lt;br /&gt;
  [&amp;quot;BG&amp;quot;] = {alpha3=&amp;quot;BGR&amp;quot;,numeric=&amp;quot;100&amp;quot;,name=&amp;quot;Bulgaria&amp;quot;},&lt;br /&gt;
  [&amp;quot;BH&amp;quot;] = {alpha3=&amp;quot;BHR&amp;quot;,numeric=&amp;quot;048&amp;quot;,name=&amp;quot;Bahrain&amp;quot;},&lt;br /&gt;
  [&amp;quot;BI&amp;quot;] = {alpha3=&amp;quot;BDI&amp;quot;,numeric=&amp;quot;108&amp;quot;,name=&amp;quot;Burundi&amp;quot;},&lt;br /&gt;
  [&amp;quot;BJ&amp;quot;] = {alpha3=&amp;quot;BEN&amp;quot;,numeric=&amp;quot;204&amp;quot;,name=&amp;quot;Benin&amp;quot;},&lt;br /&gt;
  [&amp;quot;BL&amp;quot;] = {alpha3=&amp;quot;BLM&amp;quot;,numeric=&amp;quot;652&amp;quot;,name=&amp;quot;Saint Barthélemy&amp;quot;,altnames={&amp;quot;St Barthelemy&amp;quot;}},&lt;br /&gt;
  [&amp;quot;BM&amp;quot;] = {alpha3=&amp;quot;BMU&amp;quot;,numeric=&amp;quot;060&amp;quot;,name=&amp;quot;Bermuda&amp;quot;},&lt;br /&gt;
  [&amp;quot;BN&amp;quot;] = {alpha3=&amp;quot;BRN&amp;quot;,numeric=&amp;quot;096&amp;quot;,name=&amp;quot;Brunei&amp;quot;,isoname=&amp;quot;Brunei Darussalam&amp;quot;},&lt;br /&gt;
  [&amp;quot;BO&amp;quot;] = {alpha3=&amp;quot;BOL&amp;quot;,numeric=&amp;quot;068&amp;quot;,name=&amp;quot;Bolivia&amp;quot;,isoname=&amp;quot;Bolivia (Plurinational State of)&amp;quot;},&lt;br /&gt;
  [&amp;quot;BQ&amp;quot;] = {alpha3=&amp;quot;BES&amp;quot;,numeric=&amp;quot;535&amp;quot;,name=&amp;quot;Caribbean Netherlands&amp;quot;,isoname=&amp;quot;Bonaire, Sint Eustatius and Saba&amp;quot;},&lt;br /&gt;
  [&amp;quot;BR&amp;quot;] = {alpha3=&amp;quot;BRA&amp;quot;,numeric=&amp;quot;076&amp;quot;,name=&amp;quot;Brazil&amp;quot;},&lt;br /&gt;
  [&amp;quot;BS&amp;quot;] = {alpha3=&amp;quot;BHS&amp;quot;,numeric=&amp;quot;044&amp;quot;,name=&amp;quot;Bahamas&amp;quot;},&lt;br /&gt;
  [&amp;quot;BT&amp;quot;] = {alpha3=&amp;quot;BTN&amp;quot;,numeric=&amp;quot;064&amp;quot;,name=&amp;quot;Bhutan&amp;quot;},&lt;br /&gt;
  [&amp;quot;BV&amp;quot;] = {alpha3=&amp;quot;BVT&amp;quot;,numeric=&amp;quot;074&amp;quot;,name=&amp;quot;Bouvet Island&amp;quot;},&lt;br /&gt;
  [&amp;quot;BW&amp;quot;] = {alpha3=&amp;quot;BWA&amp;quot;,numeric=&amp;quot;072&amp;quot;,name=&amp;quot;Botswana&amp;quot;},&lt;br /&gt;
  [&amp;quot;BY&amp;quot;] = {alpha3=&amp;quot;BLR&amp;quot;,numeric=&amp;quot;112&amp;quot;,name=&amp;quot;Belarus&amp;quot;},&lt;br /&gt;
  [&amp;quot;BZ&amp;quot;] = {alpha3=&amp;quot;BLZ&amp;quot;,numeric=&amp;quot;084&amp;quot;,name=&amp;quot;Belize&amp;quot;},&lt;br /&gt;
  [&amp;quot;CA&amp;quot;] = {alpha3=&amp;quot;CAN&amp;quot;,numeric=&amp;quot;124&amp;quot;,name=&amp;quot;Canada&amp;quot;},&lt;br /&gt;
  [&amp;quot;CC&amp;quot;] = {alpha3=&amp;quot;CCK&amp;quot;,numeric=&amp;quot;166&amp;quot;,name=&amp;quot;Cocos (Keeling) Islands&amp;quot;,altnames={&amp;quot;Cocos Islands&amp;quot;,&amp;quot;Keeling Islands&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CD&amp;quot;] = {alpha3=&amp;quot;COD&amp;quot;,numeric=&amp;quot;180&amp;quot;,name=&amp;quot;Democratic Republic of the Congo&amp;quot;,isoname=&amp;quot;Congo, Democratic Republic of the&amp;quot;,altnames={&amp;quot;Congo-Kinshasa&amp;quot;,&amp;quot;DRC&amp;quot;,&amp;quot;DR Congo&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CF&amp;quot;] = {alpha3=&amp;quot;CAF&amp;quot;,numeric=&amp;quot;140&amp;quot;,name=&amp;quot;Central African Republic&amp;quot;,altnames={&amp;quot;CAR&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CG&amp;quot;] = {alpha3=&amp;quot;COG&amp;quot;,numeric=&amp;quot;178&amp;quot;,name=&amp;quot;Republic of the Congo&amp;quot;,isoname=&amp;quot;Congo&amp;quot;,altnames={&amp;quot;Congo-Brazzaville&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CH&amp;quot;] = {alpha3=&amp;quot;CHE&amp;quot;,numeric=&amp;quot;756&amp;quot;,name=&amp;quot;Switzerland&amp;quot;},&lt;br /&gt;
  [&amp;quot;CI&amp;quot;] = {alpha3=&amp;quot;CIV&amp;quot;,numeric=&amp;quot;384&amp;quot;,name=&amp;quot;Côte d&#039;Ivoire&amp;quot;,altnames={&amp;quot;Ivory Coast&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CK&amp;quot;] = {alpha3=&amp;quot;COK&amp;quot;,numeric=&amp;quot;184&amp;quot;,name=&amp;quot;Cook Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;CL&amp;quot;] = {alpha3=&amp;quot;CHL&amp;quot;,numeric=&amp;quot;152&amp;quot;,name=&amp;quot;Chile&amp;quot;},&lt;br /&gt;
  [&amp;quot;CM&amp;quot;] = {alpha3=&amp;quot;CMR&amp;quot;,numeric=&amp;quot;120&amp;quot;,name=&amp;quot;Cameroon&amp;quot;},&lt;br /&gt;
  [&amp;quot;CN&amp;quot;] = {alpha3=&amp;quot;CHN&amp;quot;,numeric=&amp;quot;156&amp;quot;,name=&amp;quot;China&amp;quot;,altnames={&amp;quot;People&#039;s Republic of China&amp;quot;,&amp;quot;PRC&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CO&amp;quot;] = {alpha3=&amp;quot;COL&amp;quot;,numeric=&amp;quot;170&amp;quot;,name=&amp;quot;Colombia&amp;quot;},&lt;br /&gt;
  [&amp;quot;CR&amp;quot;] = {alpha3=&amp;quot;CRI&amp;quot;,numeric=&amp;quot;188&amp;quot;,name=&amp;quot;Costa Rica&amp;quot;},&lt;br /&gt;
  [&amp;quot;CU&amp;quot;] = {alpha3=&amp;quot;CUB&amp;quot;,numeric=&amp;quot;192&amp;quot;,name=&amp;quot;Cuba&amp;quot;},&lt;br /&gt;
  [&amp;quot;CV&amp;quot;] = {alpha3=&amp;quot;CPV&amp;quot;,numeric=&amp;quot;132&amp;quot;,name=&amp;quot;Cabo Verde&amp;quot;,altnames={&amp;quot;Cape Verde&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CW&amp;quot;] = {alpha3=&amp;quot;CUW&amp;quot;,numeric=&amp;quot;531&amp;quot;,name=&amp;quot;Curaçao&amp;quot;,altnames={&amp;quot;Curacao&amp;quot;}},&lt;br /&gt;
  [&amp;quot;CX&amp;quot;] = {alpha3=&amp;quot;CXR&amp;quot;,numeric=&amp;quot;162&amp;quot;,name=&amp;quot;Christmas Island&amp;quot;},&lt;br /&gt;
  [&amp;quot;CY&amp;quot;] = {alpha3=&amp;quot;CYP&amp;quot;,numeric=&amp;quot;196&amp;quot;,name=&amp;quot;Cyprus&amp;quot;},&lt;br /&gt;
  [&amp;quot;CZ&amp;quot;] = {alpha3=&amp;quot;CZE&amp;quot;,numeric=&amp;quot;203&amp;quot;,name=&amp;quot;Czech Republic&amp;quot;,isoname=&amp;quot;Czechia&amp;quot;},&lt;br /&gt;
  [&amp;quot;DE&amp;quot;] = {alpha3=&amp;quot;DEU&amp;quot;,numeric=&amp;quot;276&amp;quot;,name=&amp;quot;Germany&amp;quot;},&lt;br /&gt;
  [&amp;quot;DJ&amp;quot;] = {alpha3=&amp;quot;DJI&amp;quot;,numeric=&amp;quot;262&amp;quot;,name=&amp;quot;Djibouti&amp;quot;},&lt;br /&gt;
  [&amp;quot;DK&amp;quot;] = {alpha3=&amp;quot;DNK&amp;quot;,numeric=&amp;quot;208&amp;quot;,name=&amp;quot;Denmark&amp;quot;},&lt;br /&gt;
  [&amp;quot;DM&amp;quot;] = {alpha3=&amp;quot;DMA&amp;quot;,numeric=&amp;quot;212&amp;quot;,name=&amp;quot;Dominica&amp;quot;},&lt;br /&gt;
  [&amp;quot;DO&amp;quot;] = {alpha3=&amp;quot;DOM&amp;quot;,numeric=&amp;quot;214&amp;quot;,name=&amp;quot;Dominican Republic&amp;quot;},&lt;br /&gt;
  [&amp;quot;DZ&amp;quot;] = {alpha3=&amp;quot;DZA&amp;quot;,numeric=&amp;quot;012&amp;quot;,name=&amp;quot;Algeria&amp;quot;},&lt;br /&gt;
  [&amp;quot;EC&amp;quot;] = {alpha3=&amp;quot;ECU&amp;quot;,numeric=&amp;quot;218&amp;quot;,name=&amp;quot;Ecuador&amp;quot;},&lt;br /&gt;
  [&amp;quot;EE&amp;quot;] = {alpha3=&amp;quot;EST&amp;quot;,numeric=&amp;quot;233&amp;quot;,name=&amp;quot;Estonia&amp;quot;},&lt;br /&gt;
  [&amp;quot;EG&amp;quot;] = {alpha3=&amp;quot;EGY&amp;quot;,numeric=&amp;quot;818&amp;quot;,name=&amp;quot;Egypt&amp;quot;},&lt;br /&gt;
  [&amp;quot;EH&amp;quot;] = {alpha3=&amp;quot;ESH&amp;quot;,numeric=&amp;quot;732&amp;quot;,name=&amp;quot;Western Sahara&amp;quot;},&lt;br /&gt;
  [&amp;quot;ER&amp;quot;] = {alpha3=&amp;quot;ERI&amp;quot;,numeric=&amp;quot;232&amp;quot;,name=&amp;quot;Eritrea&amp;quot;},&lt;br /&gt;
  [&amp;quot;ES&amp;quot;] = {alpha3=&amp;quot;ESP&amp;quot;,numeric=&amp;quot;724&amp;quot;,name=&amp;quot;Spain&amp;quot;},&lt;br /&gt;
  [&amp;quot;ET&amp;quot;] = {alpha3=&amp;quot;ETH&amp;quot;,numeric=&amp;quot;231&amp;quot;,name=&amp;quot;Ethiopia&amp;quot;},&lt;br /&gt;
  [&amp;quot;FI&amp;quot;] = {alpha3=&amp;quot;FIN&amp;quot;,numeric=&amp;quot;246&amp;quot;,name=&amp;quot;Finland&amp;quot;},&lt;br /&gt;
  [&amp;quot;FJ&amp;quot;] = {alpha3=&amp;quot;FJI&amp;quot;,numeric=&amp;quot;242&amp;quot;,name=&amp;quot;Fiji&amp;quot;},&lt;br /&gt;
  [&amp;quot;FK&amp;quot;] = {alpha3=&amp;quot;FLK&amp;quot;,numeric=&amp;quot;238&amp;quot;,name=&amp;quot;Falkland Islands&amp;quot;,isoname=&amp;quot;Falkland Islands (Malvinas)&amp;quot;,altnames={&amp;quot;Falklands&amp;quot;,&amp;quot;Islas Malvinas&amp;quot;,&amp;quot;Malvinas&amp;quot;,&amp;quot;Malvinas Islands&amp;quot;}},&lt;br /&gt;
  [&amp;quot;FM&amp;quot;] = {alpha3=&amp;quot;FSM&amp;quot;,numeric=&amp;quot;583&amp;quot;,name=&amp;quot;Federated States of Micronesia&amp;quot;,isoname=&amp;quot;Micronesia (Federated States of)&amp;quot;,altnames={&amp;quot;Micronesia&amp;quot;}},&lt;br /&gt;
  [&amp;quot;FO&amp;quot;] = {alpha3=&amp;quot;FRO&amp;quot;,numeric=&amp;quot;234&amp;quot;,name=&amp;quot;Faroe Islands&amp;quot;,altnames={&amp;quot;Faroer&amp;quot;,&amp;quot;Faeroer&amp;quot;}},&lt;br /&gt;
  [&amp;quot;FR&amp;quot;] = {alpha3=&amp;quot;FRA&amp;quot;,numeric=&amp;quot;250&amp;quot;,name=&amp;quot;France&amp;quot;},&lt;br /&gt;
  [&amp;quot;GA&amp;quot;] = {alpha3=&amp;quot;GAB&amp;quot;,numeric=&amp;quot;266&amp;quot;,name=&amp;quot;Gabon&amp;quot;},&lt;br /&gt;
  [&amp;quot;GB&amp;quot;] = {alpha3=&amp;quot;GBR&amp;quot;,numeric=&amp;quot;826&amp;quot;,name=&amp;quot;United Kingdom&amp;quot;,isoname=&amp;quot;United Kingdom of Great Britain and Northern Ireland&amp;quot;,altnames={&amp;quot;UK&amp;quot;,&amp;quot;Great Britain&amp;quot;}},&lt;br /&gt;
	 [&amp;quot;GB-ENG&amp;quot;] = {alpha3=&amp;quot;ENG&amp;quot;,numeric=&amp;quot;000&amp;quot;,name=&amp;quot;England&amp;quot;}, --Considered to be a country&lt;br /&gt;
	 [&amp;quot;GB-NIR&amp;quot;] = {alpha3=&amp;quot;NIR&amp;quot;,numeric=&amp;quot;000&amp;quot;,name=&amp;quot;Northern Ireland&amp;quot;}, --Considered to be a country&lt;br /&gt;
	 [&amp;quot;GB-SCT&amp;quot;] = {alpha3=&amp;quot;SCT&amp;quot;,numeric=&amp;quot;000&amp;quot;,name=&amp;quot;Scotland&amp;quot;}, --Considered to be a country&lt;br /&gt;
	 [&amp;quot;GB-WLS&amp;quot;] = {alpha3=&amp;quot;WLS&amp;quot;,numeric=&amp;quot;000&amp;quot;,name=&amp;quot;Wales&amp;quot;}, --Considered to be a country&lt;br /&gt;
	 [&amp;quot;GB-EAW&amp;quot;] = {alpha3=&amp;quot;EAW&amp;quot;,numeric=&amp;quot;000&amp;quot;,name=&amp;quot;England and Wales&amp;quot;}, --Considered to be a country&lt;br /&gt;
  [&amp;quot;GD&amp;quot;] = {alpha3=&amp;quot;GRD&amp;quot;,numeric=&amp;quot;308&amp;quot;,name=&amp;quot;Grenada&amp;quot;},&lt;br /&gt;
  [&amp;quot;GE&amp;quot;] = {alpha3=&amp;quot;GEO&amp;quot;,numeric=&amp;quot;268&amp;quot;,name=&amp;quot;Georgia&amp;quot;},&lt;br /&gt;
  [&amp;quot;GF&amp;quot;] = {alpha3=&amp;quot;GUF&amp;quot;,numeric=&amp;quot;254&amp;quot;,name=&amp;quot;French Guiana&amp;quot;},&lt;br /&gt;
  [&amp;quot;GG&amp;quot;] = {alpha3=&amp;quot;GGY&amp;quot;,numeric=&amp;quot;831&amp;quot;,name=&amp;quot;Guernsey&amp;quot;},&lt;br /&gt;
  [&amp;quot;GH&amp;quot;] = {alpha3=&amp;quot;GHA&amp;quot;,numeric=&amp;quot;288&amp;quot;,name=&amp;quot;Ghana&amp;quot;},&lt;br /&gt;
  [&amp;quot;GI&amp;quot;] = {alpha3=&amp;quot;GIB&amp;quot;,numeric=&amp;quot;292&amp;quot;,name=&amp;quot;Gibraltar&amp;quot;},&lt;br /&gt;
  [&amp;quot;GL&amp;quot;] = {alpha3=&amp;quot;GRL&amp;quot;,numeric=&amp;quot;304&amp;quot;,name=&amp;quot;Greenland&amp;quot;},&lt;br /&gt;
  [&amp;quot;GM&amp;quot;] = {alpha3=&amp;quot;GMB&amp;quot;,numeric=&amp;quot;270&amp;quot;,name=&amp;quot;Gambia&amp;quot;},&lt;br /&gt;
  [&amp;quot;GN&amp;quot;] = {alpha3=&amp;quot;GIN&amp;quot;,numeric=&amp;quot;324&amp;quot;,name=&amp;quot;Guinea&amp;quot;},&lt;br /&gt;
  [&amp;quot;GP&amp;quot;] = {alpha3=&amp;quot;GLP&amp;quot;,numeric=&amp;quot;312&amp;quot;,name=&amp;quot;Guadeloupe&amp;quot;},&lt;br /&gt;
  [&amp;quot;GQ&amp;quot;] = {alpha3=&amp;quot;GNQ&amp;quot;,numeric=&amp;quot;226&amp;quot;,name=&amp;quot;Equatorial Guinea&amp;quot;},&lt;br /&gt;
  [&amp;quot;GR&amp;quot;] = {alpha3=&amp;quot;GRC&amp;quot;,numeric=&amp;quot;300&amp;quot;,name=&amp;quot;Greece&amp;quot;},&lt;br /&gt;
  [&amp;quot;GS&amp;quot;] = {alpha3=&amp;quot;SGS&amp;quot;,numeric=&amp;quot;239&amp;quot;,name=&amp;quot;South Georgia and the South Sandwich Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;GT&amp;quot;] = {alpha3=&amp;quot;GTM&amp;quot;,numeric=&amp;quot;320&amp;quot;,name=&amp;quot;Guatemala&amp;quot;},&lt;br /&gt;
  [&amp;quot;GU&amp;quot;] = {alpha3=&amp;quot;GUM&amp;quot;,numeric=&amp;quot;316&amp;quot;,name=&amp;quot;Guam&amp;quot;},&lt;br /&gt;
  [&amp;quot;GW&amp;quot;] = {alpha3=&amp;quot;GNB&amp;quot;,numeric=&amp;quot;624&amp;quot;,name=&amp;quot;Guinea-Bissau&amp;quot;},&lt;br /&gt;
  [&amp;quot;GY&amp;quot;] = {alpha3=&amp;quot;GUY&amp;quot;,numeric=&amp;quot;328&amp;quot;,name=&amp;quot;Guyana&amp;quot;},&lt;br /&gt;
  [&amp;quot;HK&amp;quot;] = {alpha3=&amp;quot;HKG&amp;quot;,numeric=&amp;quot;344&amp;quot;,name=&amp;quot;Hong Kong&amp;quot;,altnames={&amp;quot;Hong Kong SAR&amp;quot;,&amp;quot;HKSAR&amp;quot;}},&lt;br /&gt;
  [&amp;quot;HM&amp;quot;] = {alpha3=&amp;quot;HMD&amp;quot;,numeric=&amp;quot;334&amp;quot;,name=&amp;quot;Heard Island and McDonald Islands&amp;quot;,altnames={&amp;quot;Heard and McDonald Islands&amp;quot;}},&lt;br /&gt;
  [&amp;quot;HN&amp;quot;] = {alpha3=&amp;quot;HND&amp;quot;,numeric=&amp;quot;340&amp;quot;,name=&amp;quot;Honduras&amp;quot;},&lt;br /&gt;
  [&amp;quot;HR&amp;quot;] = {alpha3=&amp;quot;HRV&amp;quot;,numeric=&amp;quot;191&amp;quot;,name=&amp;quot;Croatia&amp;quot;},&lt;br /&gt;
  [&amp;quot;HT&amp;quot;] = {alpha3=&amp;quot;HTI&amp;quot;,numeric=&amp;quot;332&amp;quot;,name=&amp;quot;Haiti&amp;quot;},&lt;br /&gt;
  [&amp;quot;HU&amp;quot;] = {alpha3=&amp;quot;HUN&amp;quot;,numeric=&amp;quot;348&amp;quot;,name=&amp;quot;Hungary&amp;quot;},&lt;br /&gt;
  [&amp;quot;ID&amp;quot;] = {alpha3=&amp;quot;IDN&amp;quot;,numeric=&amp;quot;360&amp;quot;,name=&amp;quot;Indonesia&amp;quot;},&lt;br /&gt;
  [&amp;quot;IE&amp;quot;] = {alpha3=&amp;quot;IRL&amp;quot;,numeric=&amp;quot;372&amp;quot;,name=&amp;quot;Ireland&amp;quot;,altnames={&amp;quot;Republic of Ireland&amp;quot;}},&lt;br /&gt;
  [&amp;quot;IL&amp;quot;] = {alpha3=&amp;quot;ISR&amp;quot;,numeric=&amp;quot;376&amp;quot;,name=&amp;quot;Israel&amp;quot;},&lt;br /&gt;
  [&amp;quot;IM&amp;quot;] = {alpha3=&amp;quot;IMN&amp;quot;,numeric=&amp;quot;833&amp;quot;,name=&amp;quot;Isle of Man&amp;quot;},&lt;br /&gt;
  [&amp;quot;IN&amp;quot;] = {alpha3=&amp;quot;IND&amp;quot;,numeric=&amp;quot;356&amp;quot;,name=&amp;quot;India&amp;quot;},&lt;br /&gt;
  [&amp;quot;IO&amp;quot;] = {alpha3=&amp;quot;IOT&amp;quot;,numeric=&amp;quot;086&amp;quot;,name=&amp;quot;British Indian Ocean Territory&amp;quot;},&lt;br /&gt;
  [&amp;quot;IQ&amp;quot;] = {alpha3=&amp;quot;IRQ&amp;quot;,numeric=&amp;quot;368&amp;quot;,name=&amp;quot;Iraq&amp;quot;},&lt;br /&gt;
  [&amp;quot;IR&amp;quot;] = {alpha3=&amp;quot;IRN&amp;quot;,numeric=&amp;quot;364&amp;quot;,name=&amp;quot;Iran&amp;quot;,isoname=&amp;quot;Iran (Islamic Republic of)&amp;quot;},&lt;br /&gt;
  [&amp;quot;IS&amp;quot;] = {alpha3=&amp;quot;ISL&amp;quot;,numeric=&amp;quot;352&amp;quot;,name=&amp;quot;Iceland&amp;quot;},&lt;br /&gt;
  [&amp;quot;IT&amp;quot;] = {alpha3=&amp;quot;ITA&amp;quot;,numeric=&amp;quot;380&amp;quot;,name=&amp;quot;Italy&amp;quot;},&lt;br /&gt;
  [&amp;quot;JE&amp;quot;] = {alpha3=&amp;quot;JEY&amp;quot;,numeric=&amp;quot;832&amp;quot;,name=&amp;quot;Jersey&amp;quot;},&lt;br /&gt;
  [&amp;quot;JM&amp;quot;] = {alpha3=&amp;quot;JAM&amp;quot;,numeric=&amp;quot;388&amp;quot;,name=&amp;quot;Jamaica&amp;quot;},&lt;br /&gt;
  [&amp;quot;JO&amp;quot;] = {alpha3=&amp;quot;JOR&amp;quot;,numeric=&amp;quot;400&amp;quot;,name=&amp;quot;Jordan&amp;quot;},&lt;br /&gt;
  [&amp;quot;JP&amp;quot;] = {alpha3=&amp;quot;JPN&amp;quot;,numeric=&amp;quot;392&amp;quot;,name=&amp;quot;Japan&amp;quot;},&lt;br /&gt;
  [&amp;quot;KE&amp;quot;] = {alpha3=&amp;quot;KEN&amp;quot;,numeric=&amp;quot;404&amp;quot;,name=&amp;quot;Kenya&amp;quot;},&lt;br /&gt;
  [&amp;quot;KG&amp;quot;] = {alpha3=&amp;quot;KGZ&amp;quot;,numeric=&amp;quot;417&amp;quot;,name=&amp;quot;Kyrgyzstan&amp;quot;},&lt;br /&gt;
  [&amp;quot;KH&amp;quot;] = {alpha3=&amp;quot;KHM&amp;quot;,numeric=&amp;quot;116&amp;quot;,name=&amp;quot;Cambodia&amp;quot;},&lt;br /&gt;
  [&amp;quot;KI&amp;quot;] = {alpha3=&amp;quot;KIR&amp;quot;,numeric=&amp;quot;296&amp;quot;,name=&amp;quot;Kiribati&amp;quot;},&lt;br /&gt;
  [&amp;quot;KM&amp;quot;] = {alpha3=&amp;quot;COM&amp;quot;,numeric=&amp;quot;174&amp;quot;,name=&amp;quot;Comoros&amp;quot;},&lt;br /&gt;
  [&amp;quot;KN&amp;quot;] = {alpha3=&amp;quot;KNA&amp;quot;,numeric=&amp;quot;659&amp;quot;,name=&amp;quot;Saint Kitts and Nevis&amp;quot;,altnames={&amp;quot;St Kitts and Nevis&amp;quot;}},&lt;br /&gt;
  [&amp;quot;KP&amp;quot;] = {alpha3=&amp;quot;PRK&amp;quot;,numeric=&amp;quot;408&amp;quot;,name=&amp;quot;North Korea&amp;quot;,isoname=&amp;quot;Korea (Democratic People&#039;s Republic of)&amp;quot;,altnames={&amp;quot;Democratic People&#039;s Republic of Korea&amp;quot;}},&lt;br /&gt;
  [&amp;quot;KR&amp;quot;] = {alpha3=&amp;quot;KOR&amp;quot;,numeric=&amp;quot;410&amp;quot;,name=&amp;quot;South Korea&amp;quot;,isoname=&amp;quot;Korea, Republic of&amp;quot;,altnames={&amp;quot;Republic of Korea&amp;quot;}},&lt;br /&gt;
  [&amp;quot;KW&amp;quot;] = {alpha3=&amp;quot;KWT&amp;quot;,numeric=&amp;quot;414&amp;quot;,name=&amp;quot;Kuwait&amp;quot;},&lt;br /&gt;
  [&amp;quot;KY&amp;quot;] = {alpha3=&amp;quot;CYM&amp;quot;,numeric=&amp;quot;136&amp;quot;,name=&amp;quot;Cayman Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;KZ&amp;quot;] = {alpha3=&amp;quot;KAZ&amp;quot;,numeric=&amp;quot;398&amp;quot;,name=&amp;quot;Kazakhstan&amp;quot;},&lt;br /&gt;
  [&amp;quot;LA&amp;quot;] = {alpha3=&amp;quot;LAO&amp;quot;,numeric=&amp;quot;418&amp;quot;,name=&amp;quot;Laos&amp;quot;,isoname=&amp;quot;Lao People&#039;s Democratic Republic&amp;quot;},&lt;br /&gt;
  [&amp;quot;LB&amp;quot;] = {alpha3=&amp;quot;LBN&amp;quot;,numeric=&amp;quot;422&amp;quot;,name=&amp;quot;Lebanon&amp;quot;},&lt;br /&gt;
  [&amp;quot;LC&amp;quot;] = {alpha3=&amp;quot;LCA&amp;quot;,numeric=&amp;quot;662&amp;quot;,name=&amp;quot;Saint Lucia&amp;quot;,altnames={&amp;quot;St Lucia&amp;quot;}},&lt;br /&gt;
  [&amp;quot;LI&amp;quot;] = {alpha3=&amp;quot;LIE&amp;quot;,numeric=&amp;quot;438&amp;quot;,name=&amp;quot;Liechtenstein&amp;quot;},&lt;br /&gt;
  [&amp;quot;LK&amp;quot;] = {alpha3=&amp;quot;LKA&amp;quot;,numeric=&amp;quot;144&amp;quot;,name=&amp;quot;Sri Lanka&amp;quot;},&lt;br /&gt;
  [&amp;quot;LR&amp;quot;] = {alpha3=&amp;quot;LBR&amp;quot;,numeric=&amp;quot;430&amp;quot;,name=&amp;quot;Liberia&amp;quot;},&lt;br /&gt;
  [&amp;quot;LS&amp;quot;] = {alpha3=&amp;quot;LSO&amp;quot;,numeric=&amp;quot;426&amp;quot;,name=&amp;quot;Lesotho&amp;quot;},&lt;br /&gt;
  [&amp;quot;LT&amp;quot;] = {alpha3=&amp;quot;LTU&amp;quot;,numeric=&amp;quot;440&amp;quot;,name=&amp;quot;Lithuania&amp;quot;},&lt;br /&gt;
  [&amp;quot;LU&amp;quot;] = {alpha3=&amp;quot;LUX&amp;quot;,numeric=&amp;quot;442&amp;quot;,name=&amp;quot;Luxembourg&amp;quot;},&lt;br /&gt;
  [&amp;quot;LV&amp;quot;] = {alpha3=&amp;quot;LVA&amp;quot;,numeric=&amp;quot;428&amp;quot;,name=&amp;quot;Latvia&amp;quot;},&lt;br /&gt;
  [&amp;quot;LY&amp;quot;] = {alpha3=&amp;quot;LBY&amp;quot;,numeric=&amp;quot;434&amp;quot;,name=&amp;quot;Libya&amp;quot;},&lt;br /&gt;
  [&amp;quot;MA&amp;quot;] = {alpha3=&amp;quot;MAR&amp;quot;,numeric=&amp;quot;504&amp;quot;,name=&amp;quot;Morocco&amp;quot;},&lt;br /&gt;
  [&amp;quot;MC&amp;quot;] = {alpha3=&amp;quot;MCO&amp;quot;,numeric=&amp;quot;492&amp;quot;,name=&amp;quot;Monaco&amp;quot;},&lt;br /&gt;
  [&amp;quot;MD&amp;quot;] = {alpha3=&amp;quot;MDA&amp;quot;,numeric=&amp;quot;498&amp;quot;,name=&amp;quot;Moldova&amp;quot;,isoname=&amp;quot;Moldova, Republic of&amp;quot;},&lt;br /&gt;
  [&amp;quot;ME&amp;quot;] = {alpha3=&amp;quot;MNE&amp;quot;,numeric=&amp;quot;499&amp;quot;,name=&amp;quot;Montenegro&amp;quot;},&lt;br /&gt;
  [&amp;quot;MF&amp;quot;] = {alpha3=&amp;quot;MAF&amp;quot;,numeric=&amp;quot;663&amp;quot;,name=&amp;quot;Saint-Martin&amp;quot;,isoname=&amp;quot;Saint Martin (French part)&amp;quot;,altnames={&amp;quot;St Martin&amp;quot;,&amp;quot;St Martin (French part)&amp;quot;,&amp;quot;Collectivity of Saint Martin&amp;quot;,&amp;quot;Collectivity of St Martin&amp;quot;}},&lt;br /&gt;
  [&amp;quot;MG&amp;quot;] = {alpha3=&amp;quot;MDG&amp;quot;,numeric=&amp;quot;450&amp;quot;,name=&amp;quot;Madagascar&amp;quot;},&lt;br /&gt;
  [&amp;quot;MH&amp;quot;] = {alpha3=&amp;quot;MHL&amp;quot;,numeric=&amp;quot;584&amp;quot;,name=&amp;quot;Marshall Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;MK&amp;quot;] = {alpha3=&amp;quot;MKD&amp;quot;,numeric=&amp;quot;807&amp;quot;,name=&amp;quot;North Macedonia&amp;quot;,altnames={&amp;quot;Republic of North Macedonia&amp;quot;,&amp;quot;Macedonia&amp;quot;,&amp;quot;Republic of Macedonia&amp;quot;,&amp;quot;Macedonia, the former Yugoslav Republic of&amp;quot;}},&lt;br /&gt;
  [&amp;quot;ML&amp;quot;] = {alpha3=&amp;quot;MLI&amp;quot;,numeric=&amp;quot;466&amp;quot;,name=&amp;quot;Mali&amp;quot;},&lt;br /&gt;
  [&amp;quot;MM&amp;quot;] = {alpha3=&amp;quot;MMR&amp;quot;,numeric=&amp;quot;104&amp;quot;,name=&amp;quot;Myanmar&amp;quot;,altnames={&amp;quot;Burma&amp;quot;}},&lt;br /&gt;
  [&amp;quot;MN&amp;quot;] = {alpha3=&amp;quot;MNG&amp;quot;,numeric=&amp;quot;496&amp;quot;,name=&amp;quot;Mongolia&amp;quot;},&lt;br /&gt;
  [&amp;quot;MO&amp;quot;] = {alpha3=&amp;quot;MAC&amp;quot;,numeric=&amp;quot;446&amp;quot;,name=&amp;quot;Macau&amp;quot;,isoname=&amp;quot;Macao&amp;quot;,altnames={&amp;quot;Macau SAR&amp;quot;,&amp;quot;Macao SAR&amp;quot;}},&lt;br /&gt;
  [&amp;quot;MP&amp;quot;] = {alpha3=&amp;quot;MNP&amp;quot;,numeric=&amp;quot;580&amp;quot;,name=&amp;quot;Northern Mariana Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;MQ&amp;quot;] = {alpha3=&amp;quot;MTQ&amp;quot;,numeric=&amp;quot;474&amp;quot;,name=&amp;quot;Martinique&amp;quot;},&lt;br /&gt;
  [&amp;quot;MR&amp;quot;] = {alpha3=&amp;quot;MRT&amp;quot;,numeric=&amp;quot;478&amp;quot;,name=&amp;quot;Mauritania&amp;quot;},&lt;br /&gt;
  [&amp;quot;MS&amp;quot;] = {alpha3=&amp;quot;MSR&amp;quot;,numeric=&amp;quot;500&amp;quot;,name=&amp;quot;Montserrat&amp;quot;},&lt;br /&gt;
  [&amp;quot;MT&amp;quot;] = {alpha3=&amp;quot;MLT&amp;quot;,numeric=&amp;quot;470&amp;quot;,name=&amp;quot;Malta&amp;quot;},&lt;br /&gt;
  [&amp;quot;MU&amp;quot;] = {alpha3=&amp;quot;MUS&amp;quot;,numeric=&amp;quot;480&amp;quot;,name=&amp;quot;Mauritius&amp;quot;},&lt;br /&gt;
  [&amp;quot;MV&amp;quot;] = {alpha3=&amp;quot;MDV&amp;quot;,numeric=&amp;quot;462&amp;quot;,name=&amp;quot;Maldives&amp;quot;},&lt;br /&gt;
  [&amp;quot;MW&amp;quot;] = {alpha3=&amp;quot;MWI&amp;quot;,numeric=&amp;quot;454&amp;quot;,name=&amp;quot;Malawi&amp;quot;},&lt;br /&gt;
  [&amp;quot;MX&amp;quot;] = {alpha3=&amp;quot;MEX&amp;quot;,numeric=&amp;quot;484&amp;quot;,name=&amp;quot;Mexico&amp;quot;},&lt;br /&gt;
  [&amp;quot;MY&amp;quot;] = {alpha3=&amp;quot;MYS&amp;quot;,numeric=&amp;quot;458&amp;quot;,name=&amp;quot;Malaysia&amp;quot;},&lt;br /&gt;
  [&amp;quot;MZ&amp;quot;] = {alpha3=&amp;quot;MOZ&amp;quot;,numeric=&amp;quot;508&amp;quot;,name=&amp;quot;Mozambique&amp;quot;},&lt;br /&gt;
  [&amp;quot;NA&amp;quot;] = {alpha3=&amp;quot;NAM&amp;quot;,numeric=&amp;quot;516&amp;quot;,name=&amp;quot;Namibia&amp;quot;},&lt;br /&gt;
  [&amp;quot;NC&amp;quot;] = {alpha3=&amp;quot;NCL&amp;quot;,numeric=&amp;quot;540&amp;quot;,name=&amp;quot;New Caledonia&amp;quot;},&lt;br /&gt;
  [&amp;quot;NE&amp;quot;] = {alpha3=&amp;quot;NER&amp;quot;,numeric=&amp;quot;562&amp;quot;,name=&amp;quot;Niger&amp;quot;},&lt;br /&gt;
  [&amp;quot;NF&amp;quot;] = {alpha3=&amp;quot;NFK&amp;quot;,numeric=&amp;quot;574&amp;quot;,name=&amp;quot;Norfolk Island&amp;quot;},&lt;br /&gt;
  [&amp;quot;NG&amp;quot;] = {alpha3=&amp;quot;NGA&amp;quot;,numeric=&amp;quot;566&amp;quot;,name=&amp;quot;Nigeria&amp;quot;},&lt;br /&gt;
  [&amp;quot;NI&amp;quot;] = {alpha3=&amp;quot;NIC&amp;quot;,numeric=&amp;quot;558&amp;quot;,name=&amp;quot;Nicaragua&amp;quot;},&lt;br /&gt;
  [&amp;quot;NL&amp;quot;] = {alpha3=&amp;quot;NLD&amp;quot;,numeric=&amp;quot;528&amp;quot;,name=&amp;quot;Netherlands&amp;quot;},&lt;br /&gt;
  [&amp;quot;NO&amp;quot;] = {alpha3=&amp;quot;NOR&amp;quot;,numeric=&amp;quot;578&amp;quot;,name=&amp;quot;Norway&amp;quot;},&lt;br /&gt;
  [&amp;quot;NP&amp;quot;] = {alpha3=&amp;quot;NPL&amp;quot;,numeric=&amp;quot;524&amp;quot;,name=&amp;quot;Nepal&amp;quot;},&lt;br /&gt;
  [&amp;quot;NR&amp;quot;] = {alpha3=&amp;quot;NRU&amp;quot;,numeric=&amp;quot;520&amp;quot;,name=&amp;quot;Nauru&amp;quot;},&lt;br /&gt;
  [&amp;quot;NU&amp;quot;] = {alpha3=&amp;quot;NIU&amp;quot;,numeric=&amp;quot;570&amp;quot;,name=&amp;quot;Niue&amp;quot;},&lt;br /&gt;
  [&amp;quot;NZ&amp;quot;] = {alpha3=&amp;quot;NZL&amp;quot;,numeric=&amp;quot;554&amp;quot;,name=&amp;quot;New Zealand&amp;quot;,altnames={&amp;quot;Aotearoa&amp;quot;}},&lt;br /&gt;
  [&amp;quot;OM&amp;quot;] = {alpha3=&amp;quot;OMN&amp;quot;,numeric=&amp;quot;512&amp;quot;,name=&amp;quot;Oman&amp;quot;},&lt;br /&gt;
  [&amp;quot;PA&amp;quot;] = {alpha3=&amp;quot;PAN&amp;quot;,numeric=&amp;quot;591&amp;quot;,name=&amp;quot;Panama&amp;quot;},&lt;br /&gt;
  [&amp;quot;PE&amp;quot;] = {alpha3=&amp;quot;PER&amp;quot;,numeric=&amp;quot;604&amp;quot;,name=&amp;quot;Peru&amp;quot;},&lt;br /&gt;
  [&amp;quot;PF&amp;quot;] = {alpha3=&amp;quot;PYF&amp;quot;,numeric=&amp;quot;258&amp;quot;,name=&amp;quot;French Polynesia&amp;quot;},&lt;br /&gt;
  [&amp;quot;PG&amp;quot;] = {alpha3=&amp;quot;PNG&amp;quot;,numeric=&amp;quot;598&amp;quot;,name=&amp;quot;Papua New Guinea&amp;quot;},&lt;br /&gt;
  [&amp;quot;PH&amp;quot;] = {alpha3=&amp;quot;PHL&amp;quot;,numeric=&amp;quot;608&amp;quot;,name=&amp;quot;Philippines&amp;quot;},&lt;br /&gt;
  [&amp;quot;PK&amp;quot;] = {alpha3=&amp;quot;PAK&amp;quot;,numeric=&amp;quot;586&amp;quot;,name=&amp;quot;Pakistan&amp;quot;},&lt;br /&gt;
  [&amp;quot;PL&amp;quot;] = {alpha3=&amp;quot;POL&amp;quot;,numeric=&amp;quot;616&amp;quot;,name=&amp;quot;Poland&amp;quot;},&lt;br /&gt;
  [&amp;quot;PM&amp;quot;] = {alpha3=&amp;quot;SPM&amp;quot;,numeric=&amp;quot;666&amp;quot;,name=&amp;quot;Saint Pierre and Miquelon&amp;quot;,altnames={&amp;quot;St Pierre and Miquelon&amp;quot;}},&lt;br /&gt;
  [&amp;quot;PN&amp;quot;] = {alpha3=&amp;quot;PCN&amp;quot;,numeric=&amp;quot;612&amp;quot;,name=&amp;quot;Pitcairn&amp;quot;},&lt;br /&gt;
  [&amp;quot;PR&amp;quot;] = {alpha3=&amp;quot;PRI&amp;quot;,numeric=&amp;quot;630&amp;quot;,name=&amp;quot;Puerto Rico&amp;quot;},&lt;br /&gt;
  [&amp;quot;PS&amp;quot;] = {alpha3=&amp;quot;PSE&amp;quot;,numeric=&amp;quot;275&amp;quot;,name=&amp;quot;Palestine&amp;quot;,isoname=&amp;quot;Palestine, State of&amp;quot;,altnames={&amp;quot;State of Palestine&amp;quot;}},&lt;br /&gt;
  [&amp;quot;PT&amp;quot;] = {alpha3=&amp;quot;PRT&amp;quot;,numeric=&amp;quot;620&amp;quot;,name=&amp;quot;Portugal&amp;quot;},&lt;br /&gt;
  [&amp;quot;PW&amp;quot;] = {alpha3=&amp;quot;PLW&amp;quot;,numeric=&amp;quot;585&amp;quot;,name=&amp;quot;Palau&amp;quot;},&lt;br /&gt;
  [&amp;quot;PY&amp;quot;] = {alpha3=&amp;quot;PRY&amp;quot;,numeric=&amp;quot;600&amp;quot;,name=&amp;quot;Paraguay&amp;quot;},&lt;br /&gt;
  [&amp;quot;QA&amp;quot;] = {alpha3=&amp;quot;QAT&amp;quot;,numeric=&amp;quot;634&amp;quot;,name=&amp;quot;Qatar&amp;quot;},&lt;br /&gt;
  [&amp;quot;RE&amp;quot;] = {alpha3=&amp;quot;REU&amp;quot;,numeric=&amp;quot;638&amp;quot;,name=&amp;quot;Réunion&amp;quot;},&lt;br /&gt;
  [&amp;quot;RO&amp;quot;] = {alpha3=&amp;quot;ROU&amp;quot;,numeric=&amp;quot;642&amp;quot;,name=&amp;quot;Romania&amp;quot;},&lt;br /&gt;
  [&amp;quot;RS&amp;quot;] = {alpha3=&amp;quot;SRB&amp;quot;,numeric=&amp;quot;688&amp;quot;,name=&amp;quot;Serbia&amp;quot;},&lt;br /&gt;
  [&amp;quot;RU&amp;quot;] = {alpha3=&amp;quot;RUS&amp;quot;,numeric=&amp;quot;643&amp;quot;,name=&amp;quot;Russia&amp;quot;,isoname=&amp;quot;Russian Federation&amp;quot;},&lt;br /&gt;
  [&amp;quot;RW&amp;quot;] = {alpha3=&amp;quot;RWA&amp;quot;,numeric=&amp;quot;646&amp;quot;,name=&amp;quot;Rwanda&amp;quot;},&lt;br /&gt;
  [&amp;quot;SA&amp;quot;] = {alpha3=&amp;quot;SAU&amp;quot;,numeric=&amp;quot;682&amp;quot;,name=&amp;quot;Saudi Arabia&amp;quot;},&lt;br /&gt;
  [&amp;quot;SB&amp;quot;] = {alpha3=&amp;quot;SLB&amp;quot;,numeric=&amp;quot;090&amp;quot;,name=&amp;quot;Solomon Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;SC&amp;quot;] = {alpha3=&amp;quot;SYC&amp;quot;,numeric=&amp;quot;690&amp;quot;,name=&amp;quot;Seychelles&amp;quot;},&lt;br /&gt;
  [&amp;quot;SD&amp;quot;] = {alpha3=&amp;quot;SDN&amp;quot;,numeric=&amp;quot;729&amp;quot;,name=&amp;quot;Sudan&amp;quot;},&lt;br /&gt;
  [&amp;quot;SE&amp;quot;] = {alpha3=&amp;quot;SWE&amp;quot;,numeric=&amp;quot;752&amp;quot;,name=&amp;quot;Sweden&amp;quot;},&lt;br /&gt;
  [&amp;quot;SG&amp;quot;] = {alpha3=&amp;quot;SGP&amp;quot;,numeric=&amp;quot;702&amp;quot;,name=&amp;quot;Singapore&amp;quot;},&lt;br /&gt;
  [&amp;quot;SH&amp;quot;] = {alpha3=&amp;quot;SHN&amp;quot;,numeric=&amp;quot;654&amp;quot;,name=&amp;quot;Saint Helena, Ascension and Tristan da Cunha&amp;quot;},&lt;br /&gt;
  [&amp;quot;SI&amp;quot;] = {alpha3=&amp;quot;SVN&amp;quot;,numeric=&amp;quot;705&amp;quot;,name=&amp;quot;Slovenia&amp;quot;},&lt;br /&gt;
  [&amp;quot;SJ&amp;quot;] = {alpha3=&amp;quot;SJM&amp;quot;,numeric=&amp;quot;744&amp;quot;,name=&amp;quot;Svalbard and Jan Mayen&amp;quot;},&lt;br /&gt;
  [&amp;quot;SK&amp;quot;] = {alpha3=&amp;quot;SVK&amp;quot;,numeric=&amp;quot;703&amp;quot;,name=&amp;quot;Slovakia&amp;quot;},&lt;br /&gt;
  [&amp;quot;SL&amp;quot;] = {alpha3=&amp;quot;SLE&amp;quot;,numeric=&amp;quot;694&amp;quot;,name=&amp;quot;Sierra Leone&amp;quot;},&lt;br /&gt;
  [&amp;quot;SM&amp;quot;] = {alpha3=&amp;quot;SMR&amp;quot;,numeric=&amp;quot;674&amp;quot;,name=&amp;quot;San Marino&amp;quot;},&lt;br /&gt;
  [&amp;quot;SN&amp;quot;] = {alpha3=&amp;quot;SEN&amp;quot;,numeric=&amp;quot;686&amp;quot;,name=&amp;quot;Senegal&amp;quot;},&lt;br /&gt;
  [&amp;quot;SO&amp;quot;] = {alpha3=&amp;quot;SOM&amp;quot;,numeric=&amp;quot;706&amp;quot;,name=&amp;quot;Somalia&amp;quot;},&lt;br /&gt;
  [&amp;quot;SR&amp;quot;] = {alpha3=&amp;quot;SUR&amp;quot;,numeric=&amp;quot;740&amp;quot;,name=&amp;quot;Suriname&amp;quot;},&lt;br /&gt;
  [&amp;quot;SS&amp;quot;] = {alpha3=&amp;quot;SSD&amp;quot;,numeric=&amp;quot;728&amp;quot;,name=&amp;quot;South Sudan&amp;quot;},&lt;br /&gt;
  [&amp;quot;ST&amp;quot;] = {alpha3=&amp;quot;STP&amp;quot;,numeric=&amp;quot;678&amp;quot;,name=&amp;quot;São Tomé and Príncipe&amp;quot;,isoname=&amp;quot;Sao Tome and Principe&amp;quot;,altnames={&amp;quot;Democratic Republic of Sao Tome and Principe&amp;quot;}},&lt;br /&gt;
  [&amp;quot;SV&amp;quot;] = {alpha3=&amp;quot;SLV&amp;quot;,numeric=&amp;quot;222&amp;quot;,name=&amp;quot;El Salvador&amp;quot;},&lt;br /&gt;
  [&amp;quot;SX&amp;quot;] = {alpha3=&amp;quot;SXM&amp;quot;,numeric=&amp;quot;534&amp;quot;,name=&amp;quot;Sint Maarten&amp;quot;,isoname=&amp;quot;Sint Maarten (Dutch part)&amp;quot;,altnames={&amp;quot;St Maarten&amp;quot;,&amp;quot;Saint Martin (Dutch part)&amp;quot;,&amp;quot;St Martin (Dutch part)&amp;quot;}},&lt;br /&gt;
  [&amp;quot;SY&amp;quot;] = {alpha3=&amp;quot;SYR&amp;quot;,numeric=&amp;quot;760&amp;quot;,name=&amp;quot;Syria&amp;quot;,isoname=&amp;quot;Syrian Arab Republic&amp;quot;},&lt;br /&gt;
  [&amp;quot;SZ&amp;quot;] = {alpha3=&amp;quot;SWZ&amp;quot;,numeric=&amp;quot;748&amp;quot;,name=&amp;quot;Eswatini&amp;quot;,altnames={&amp;quot;Swaziland&amp;quot;}},&lt;br /&gt;
  [&amp;quot;TC&amp;quot;] = {alpha3=&amp;quot;TCA&amp;quot;,numeric=&amp;quot;796&amp;quot;,name=&amp;quot;Turks and Caicos Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;TD&amp;quot;] = {alpha3=&amp;quot;TCD&amp;quot;,numeric=&amp;quot;148&amp;quot;,name=&amp;quot;Chad&amp;quot;},&lt;br /&gt;
  [&amp;quot;TF&amp;quot;] = {alpha3=&amp;quot;ATF&amp;quot;,numeric=&amp;quot;260&amp;quot;,name=&amp;quot;French Southern and Antarctic Lands&amp;quot;,isoname=&amp;quot;French Southern Territories&amp;quot;},&lt;br /&gt;
  [&amp;quot;TG&amp;quot;] = {alpha3=&amp;quot;TGO&amp;quot;,numeric=&amp;quot;768&amp;quot;,name=&amp;quot;Togo&amp;quot;},&lt;br /&gt;
  [&amp;quot;TH&amp;quot;] = {alpha3=&amp;quot;THA&amp;quot;,numeric=&amp;quot;764&amp;quot;,name=&amp;quot;Thailand&amp;quot;},&lt;br /&gt;
  [&amp;quot;TJ&amp;quot;] = {alpha3=&amp;quot;TJK&amp;quot;,numeric=&amp;quot;762&amp;quot;,name=&amp;quot;Tajikistan&amp;quot;},&lt;br /&gt;
  [&amp;quot;TK&amp;quot;] = {alpha3=&amp;quot;TKL&amp;quot;,numeric=&amp;quot;772&amp;quot;,name=&amp;quot;Tokelau&amp;quot;},&lt;br /&gt;
  [&amp;quot;TL&amp;quot;] = {alpha3=&amp;quot;TLS&amp;quot;,numeric=&amp;quot;626&amp;quot;,name=&amp;quot;Timor-Leste&amp;quot;,altnames={&amp;quot;East Timor&amp;quot;}},&lt;br /&gt;
  [&amp;quot;TM&amp;quot;] = {alpha3=&amp;quot;TKM&amp;quot;,numeric=&amp;quot;795&amp;quot;,name=&amp;quot;Turkmenistan&amp;quot;},&lt;br /&gt;
  [&amp;quot;TN&amp;quot;] = {alpha3=&amp;quot;TUN&amp;quot;,numeric=&amp;quot;788&amp;quot;,name=&amp;quot;Tunisia&amp;quot;},&lt;br /&gt;
  [&amp;quot;TO&amp;quot;] = {alpha3=&amp;quot;TON&amp;quot;,numeric=&amp;quot;776&amp;quot;,name=&amp;quot;Tonga&amp;quot;},&lt;br /&gt;
  [&amp;quot;TR&amp;quot;] = {alpha3=&amp;quot;TUR&amp;quot;,numeric=&amp;quot;792&amp;quot;,name=&amp;quot;Turkey&amp;quot;,isoname=&amp;quot;Türkiye&amp;quot;},&lt;br /&gt;
  [&amp;quot;TT&amp;quot;] = {alpha3=&amp;quot;TTO&amp;quot;,numeric=&amp;quot;780&amp;quot;,name=&amp;quot;Trinidad and Tobago&amp;quot;},&lt;br /&gt;
  [&amp;quot;TV&amp;quot;] = {alpha3=&amp;quot;TUV&amp;quot;,numeric=&amp;quot;798&amp;quot;,name=&amp;quot;Tuvalu&amp;quot;},&lt;br /&gt;
  [&amp;quot;TW&amp;quot;] = {alpha3=&amp;quot;TWN&amp;quot;,numeric=&amp;quot;158&amp;quot;,name=&amp;quot;Taiwan&amp;quot;,isoname=&amp;quot;Taiwan, Province of China&amp;quot;,altnames={&amp;quot;Republic of China&amp;quot;}},&lt;br /&gt;
  [&amp;quot;TZ&amp;quot;] = {alpha3=&amp;quot;TZA&amp;quot;,numeric=&amp;quot;834&amp;quot;,name=&amp;quot;Tanzania&amp;quot;,isoname=&amp;quot;Tanzania, United Republic of&amp;quot;},&lt;br /&gt;
  [&amp;quot;UA&amp;quot;] = {alpha3=&amp;quot;UKR&amp;quot;,numeric=&amp;quot;804&amp;quot;,name=&amp;quot;Ukraine&amp;quot;},&lt;br /&gt;
  [&amp;quot;UG&amp;quot;] = {alpha3=&amp;quot;UGA&amp;quot;,numeric=&amp;quot;800&amp;quot;,name=&amp;quot;Uganda&amp;quot;},&lt;br /&gt;
  [&amp;quot;UM&amp;quot;] = {alpha3=&amp;quot;UMI&amp;quot;,numeric=&amp;quot;581&amp;quot;,name=&amp;quot;United States Minor Outlying Islands&amp;quot;},&lt;br /&gt;
  [&amp;quot;US&amp;quot;] = {alpha3=&amp;quot;USA&amp;quot;,numeric=&amp;quot;840&amp;quot;,name=&amp;quot;United States&amp;quot;,isoname=&amp;quot;United States of America&amp;quot;,altnames={&amp;quot;US&amp;quot;,&amp;quot;USA&amp;quot;,&amp;quot;U.S.&amp;quot;}},&lt;br /&gt;
  [&amp;quot;UY&amp;quot;] = {alpha3=&amp;quot;URY&amp;quot;,numeric=&amp;quot;858&amp;quot;,name=&amp;quot;Uruguay&amp;quot;},&lt;br /&gt;
  [&amp;quot;UZ&amp;quot;] = {alpha3=&amp;quot;UZB&amp;quot;,numeric=&amp;quot;860&amp;quot;,name=&amp;quot;Uzbekistan&amp;quot;},&lt;br /&gt;
  [&amp;quot;VA&amp;quot;] = {alpha3=&amp;quot;VAT&amp;quot;,numeric=&amp;quot;336&amp;quot;,name=&amp;quot;Vatican City&amp;quot;,isoname=&amp;quot;Holy See&amp;quot;,altnames={&amp;quot;Holy See (Vatican City State)&amp;quot;,&amp;quot;Vatican City State&amp;quot;}},&lt;br /&gt;
  [&amp;quot;VC&amp;quot;] = {alpha3=&amp;quot;VCT&amp;quot;,numeric=&amp;quot;670&amp;quot;,name=&amp;quot;Saint Vincent and the Grenadines&amp;quot;,altnames={&amp;quot;St Vincent and the Grenadines&amp;quot;}},&lt;br /&gt;
  [&amp;quot;VE&amp;quot;] = {alpha3=&amp;quot;VEN&amp;quot;,numeric=&amp;quot;862&amp;quot;,name=&amp;quot;Venezuela&amp;quot;,isoname=&amp;quot;Venezuela (Bolivarian Republic of)&amp;quot;},&lt;br /&gt;
  [&amp;quot;VG&amp;quot;] = {alpha3=&amp;quot;VGB&amp;quot;,numeric=&amp;quot;092&amp;quot;,name=&amp;quot;British Virgin Islands&amp;quot;,isoname=&amp;quot;Virgin Islands (British)&amp;quot;,altnames={&amp;quot;UK Virgin Islands&amp;quot;,&amp;quot;BVI&amp;quot;}},&lt;br /&gt;
  [&amp;quot;VI&amp;quot;] = {alpha3=&amp;quot;VIR&amp;quot;,numeric=&amp;quot;850&amp;quot;,name=&amp;quot;United States Virgin Islands&amp;quot;,isoname=&amp;quot;Virgin Islands (U.S.)&amp;quot;,altnames={&amp;quot;US Virgin Islands&amp;quot;,&amp;quot;USVI&amp;quot;}},&lt;br /&gt;
  [&amp;quot;VN&amp;quot;] = {alpha3=&amp;quot;VNM&amp;quot;,numeric=&amp;quot;704&amp;quot;,name=&amp;quot;Vietnam&amp;quot;,isoname=&amp;quot;Viet Nam&amp;quot;},&lt;br /&gt;
  [&amp;quot;VU&amp;quot;] = {alpha3=&amp;quot;VUT&amp;quot;,numeric=&amp;quot;548&amp;quot;,name=&amp;quot;Vanuatu&amp;quot;},&lt;br /&gt;
  [&amp;quot;WF&amp;quot;] = {alpha3=&amp;quot;WLF&amp;quot;,numeric=&amp;quot;876&amp;quot;,name=&amp;quot;Wallis and Futuna&amp;quot;},&lt;br /&gt;
  [&amp;quot;WS&amp;quot;] = {alpha3=&amp;quot;WSM&amp;quot;,numeric=&amp;quot;882&amp;quot;,name=&amp;quot;Samoa&amp;quot;},&lt;br /&gt;
  [&amp;quot;YE&amp;quot;] = {alpha3=&amp;quot;YEM&amp;quot;,numeric=&amp;quot;887&amp;quot;,name=&amp;quot;Yemen&amp;quot;},&lt;br /&gt;
  [&amp;quot;YT&amp;quot;] = {alpha3=&amp;quot;MYT&amp;quot;,numeric=&amp;quot;175&amp;quot;,name=&amp;quot;Mayotte&amp;quot;},&lt;br /&gt;
  [&amp;quot;ZA&amp;quot;] = {alpha3=&amp;quot;ZAF&amp;quot;,numeric=&amp;quot;710&amp;quot;,name=&amp;quot;South Africa&amp;quot;},&lt;br /&gt;
  [&amp;quot;ZM&amp;quot;] = {alpha3=&amp;quot;ZMB&amp;quot;,numeric=&amp;quot;894&amp;quot;,name=&amp;quot;Zambia&amp;quot;},&lt;br /&gt;
  [&amp;quot;ZW&amp;quot;] = {alpha3=&amp;quot;ZWE&amp;quot;,numeric=&amp;quot;716&amp;quot;,name=&amp;quot;Zimbabwe&amp;quot;}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:ISO_3166&amp;diff=4827</id>
		<title>模块:ISO 3166</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:ISO_3166&amp;diff=4827"/>
		<updated>2022-11-30T23:22:56Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- to enable us to replicate the current functioning of Country extract, we need to deal with:&lt;br /&gt;
-- 2 {{&amp;lt;name&amp;gt;}} DONE!&lt;br /&gt;
-- 3 [[&amp;lt;name&amp;gt;]] DONE!&lt;br /&gt;
-- 4 [[&amp;lt;name&amp;gt;|&amp;lt;junk&amp;gt;]] DONE!&lt;br /&gt;
-- 5 [[image:flag of &amp;lt;country&amp;gt;.[svg|gif|png|jpg]|\d+px]] DONE!&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local getArgs = require(&amp;quot;Module:Arguments&amp;quot;).getArgs&lt;br /&gt;
local data = mw.loadData(&amp;quot;Module:ISO 3166/data/National&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
--[[----------F I N D N A M E----------]]--										-- Finds the name in the database&lt;br /&gt;
&lt;br /&gt;
local function findname(code,cdata,qry)&lt;br /&gt;
	local sqry = p.strip(qry)&lt;br /&gt;
	if cdata[&amp;quot;name&amp;quot;] and sqry==p.strip(cdata[&amp;quot;name&amp;quot;])&lt;br /&gt;
		or cdata[&amp;quot;isoname&amp;quot;] and sqry==p.strip(cdata[&amp;quot;isoname&amp;quot;])&lt;br /&gt;
		or not cdata[&amp;quot;nocode&amp;quot;] and sqry==code&lt;br /&gt;
		or sqry==cdata[&amp;quot;alpha3&amp;quot;] or sqry==cdata[&amp;quot;numeric&amp;quot;]&lt;br /&gt;
		then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	for _,tname in pairs(cdata[&amp;quot;isonames&amp;quot;] or {}) do&lt;br /&gt;
		if sqry==p.strip(tname) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for _,tname in pairs(cdata[&amp;quot;altnames&amp;quot;] or {}) do&lt;br /&gt;
		if sqry==p.strip(tname) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------I S O N A M E----------]]--										-- Find the ISO name of a country/region&lt;br /&gt;
&lt;br /&gt;
local function isoname(data,code,lang)&lt;br /&gt;
	if data[code][&amp;quot;isonames&amp;quot;] then&lt;br /&gt;
		local name = data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][lang]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][lang]&lt;br /&gt;
			 or data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][data[code][&amp;quot;defaultlang&amp;quot;] or data[&amp;quot;defaultlang&amp;quot;]]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][data[code][&amp;quot;defaultlang&amp;quot;] or data[&amp;quot;defaultlang&amp;quot;]]&lt;br /&gt;
			 or data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][&amp;quot;en&amp;quot;]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][&amp;quot;en&amp;quot;]&lt;br /&gt;
		if name then return name end&lt;br /&gt;
		for _,iname in pairs(data[code][&amp;quot;isonames&amp;quot;]) do return iname end&lt;br /&gt;
		return data[code][&amp;quot;isodisplayname&amp;quot;] or data[code][&amp;quot;isoname&amp;quot;]&lt;br /&gt;
	else&lt;br /&gt;
		return data[code][&amp;quot;isodisplayname&amp;quot;] or data[code][&amp;quot;isoname&amp;quot;]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------S T R I P----------]]--											-- Removes junk from the input&lt;br /&gt;
&lt;br /&gt;
function p.strip(text)&lt;br /&gt;
	local accents = {[&amp;quot;À&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Á&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Â&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ã&amp;quot;]=&amp;quot;A&amp;quot;,					-- accent list&lt;br /&gt;
		[&amp;quot;Ä&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Å&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ç&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;È&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;É&amp;quot;]=&amp;quot;E&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ê&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ë&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ì&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Í&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Î&amp;quot;]=&amp;quot;I&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ï&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ñ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ò&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ó&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ô&amp;quot;]=&amp;quot;O&amp;quot;,&lt;br /&gt;
		[&amp;quot;Õ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ö&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ø&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ù&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ú&amp;quot;]=&amp;quot;U&amp;quot;,&lt;br /&gt;
		[&amp;quot;Û&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ü&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ý&amp;quot;]=&amp;quot;Y&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	local remove = {&amp;quot;NATION OF&amp;quot;,&amp;quot;COUNTRY OF&amp;quot;,&amp;quot;TERRITORY OF&amp;quot;,					-- text to be removed list&lt;br /&gt;
		&amp;quot;FLAG OF&amp;quot;,&amp;quot;FLAG&amp;quot;,&amp;quot;KINGDOM OF&amp;quot;,&amp;quot;STATE OF&amp;quot;,&amp;quot; STATE &amp;quot;,&lt;br /&gt;
		&amp;quot;PROVINCE OF&amp;quot;,&amp;quot;PROVINCE&amp;quot;,&amp;quot;TERRITORY&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	local patterns = {[&amp;quot;.+:&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;|.+&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;%(.-%)&amp;quot;]=&amp;quot;&amp;quot;,						-- patterns to follow (order may matter)&lt;br /&gt;
		[&amp;quot;%..*&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;^THE &amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;%_&amp;quot;]=&amp;quot; &amp;quot;,[&amp;quot;%-&amp;quot;]=&amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;%d%d?%d?PX&amp;quot;]=&amp;quot;&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	text = mw.ustring.upper(text)												-- Case insensitivity&lt;br /&gt;
	text = mw.ustring.gsub(text,&amp;quot;[À-Ý]&amp;quot;,accents)								-- Deaccent&lt;br /&gt;
	&lt;br /&gt;
	for pattern,value in pairs(patterns) do										-- Follow patterns&lt;br /&gt;
	text = mw.ustring.gsub(text,pattern,value) &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _,words in pairs(remove) do												-- Remove unneeded words&lt;br /&gt;
	text = mw.ustring.gsub(text,words,&amp;quot;&amp;quot;) &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = mw.ustring.gsub(text,&amp;quot;%W&amp;quot;,&amp;quot;&amp;quot;)										-- Remove non alpha-numeric&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . C A L L S T R I P ---------]]--								-- Calls P.strip but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.callstrip(frame)&lt;br /&gt;
	&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	return p.strip(args[1]) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . L U A C O D E---------]]--									-- Makes the ISO code of a country&lt;br /&gt;
&lt;br /&gt;
function p.luacode(args)&lt;br /&gt;
&lt;br /&gt;
	if string.find(args[1] or &#039;&#039;,&amp;quot;%-&amp;quot;) then&lt;br /&gt;
		args[1], args[2] = string.match(args[1] or &#039;&#039;,&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[1] then args[1] = p.strip(args[1]) end&lt;br /&gt;
	if args[2] then args[2] = p.strip(args[2]) end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;codetype&amp;quot;]==&amp;quot;3&amp;quot; then&lt;br /&gt;
		args[&amp;quot;codetype&amp;quot;]=&amp;quot;alpha3&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local eot = args.error or &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local catnocountry = (args.nocat and args.nocat == &#039;true&#039;) and &#039;&#039; &lt;br /&gt;
		or &#039;[[Category:Wikipedia page with obscure country]]&#039;&lt;br /&gt;
	local catnosubdivision = (args.nocat and args.nocat == &#039;true&#039;) and &#039;&#039; &lt;br /&gt;
		or &#039;[[Category:Wikipedia page with obscure subdivision]]&#039;&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		if mw.title.getCurrentTitle().namespace ~= 0 then catnocountry = &#039;&#039; end&lt;br /&gt;
		return catnocountry, &#039;&amp;lt;span style=&amp;quot;font-size:100%&amp;quot; class=&amp;quot;error&amp;quot;&amp;gt;&amp;quot;No parameter for the country given&amp;quot;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not args[2] then															--3166-1 code&lt;br /&gt;
		for alpha2,cdata in pairs(data) do&lt;br /&gt;
			if findname(alpha2,cdata,args[1]) then&lt;br /&gt;
				if args[&amp;quot;codetype&amp;quot;]==&amp;quot;numeric&amp;quot; or args[&amp;quot;codetype&amp;quot;]==&amp;quot;alpha3&amp;quot; then&lt;br /&gt;
					return cdata[args[&amp;quot;codetype&amp;quot;]]&lt;br /&gt;
				else&lt;br /&gt;
					return alpha2&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if mw.title.getCurrentTitle().namespace ~= 0 then catnocountry = &#039;&#039; end&lt;br /&gt;
		return catnocountry&lt;br /&gt;
	else																		--3166-2 code&lt;br /&gt;
		for alpha2,cdata in pairs(data) do                                       &lt;br /&gt;
			if findname(alpha2,cdata,args[1]) then&lt;br /&gt;
				if mw.ustring.match(alpha2,&amp;quot;GB&amp;quot;) then							-- For England, Wales etc.&lt;br /&gt;
					alpha2 = &amp;quot;GB&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
				local sdata = mw.loadData(&amp;quot;Module:ISO 3166/data/&amp;quot;..alpha2)&lt;br /&gt;
				local empty = true&lt;br /&gt;
				for scode,scdata in pairs(sdata) do&lt;br /&gt;
					if type(scdata)==&amp;quot;table&amp;quot; then&lt;br /&gt;
						empty = false&lt;br /&gt;
						if findname(scode,scdata,args[2]) then&lt;br /&gt;
							return alpha2..&amp;quot;-&amp;quot;..scode&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if mw.title.getCurrentTitle().namespace ~= 0 then catnosubdivision = &#039;&#039; end&lt;br /&gt;
				return catnosubdivision&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if mw.title.getCurrentTitle().namespace ~= 0 then catnocountry = &#039;&#039; end&lt;br /&gt;
		return catnocountry&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . C O D E---------]]--											-- Calls P.Luacode but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.code(frame)&lt;br /&gt;
&lt;br /&gt;
	return p.luacode(getArgs(frame)) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . N U M E R I C---------]]--									-- Calls P.Luacode but using Module:Arguments and setting it to output a numeric value&lt;br /&gt;
&lt;br /&gt;
function p.numeric(frame)&lt;br /&gt;
&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	args[&amp;quot;codetype&amp;quot;]=&amp;quot;numeric&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	return p.luacode(args) or &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
--[[----------P . L U A N A M E---------]]--									-- Makes the ISO/common name of a country&lt;br /&gt;
	&lt;br /&gt;
function p.luaname(args)&lt;br /&gt;
&lt;br /&gt;
	local code1 = p.luacode(args)&lt;br /&gt;
	local code2 = &#039;&#039;&lt;br /&gt;
	&lt;br /&gt;
	if string.find(code1,&amp;quot;%-&amp;quot;) then&lt;br /&gt;
		code1, code2 = string.match(code1,&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if string.find(code1,&amp;quot;^%u%u$&amp;quot;) then&lt;br /&gt;
		if code2==&amp;quot;&amp;quot; then														--3166-1 alpha-2 code&lt;br /&gt;
			if data[code1] then&lt;br /&gt;
				return (args.isoname or args.lang) and isoname(data,code1,args.lang)&lt;br /&gt;
					or (data[code1][&amp;quot;displayname&amp;quot;] or data[code1][&amp;quot;name&amp;quot;])&lt;br /&gt;
			else&lt;br /&gt;
				return &#039;[[Category:Wikipedia page with obscure country]]&#039;&lt;br /&gt;
			end&lt;br /&gt;
		else																	--3166-2 code&lt;br /&gt;
			local sdata&lt;br /&gt;
			if data[code1] then&lt;br /&gt;
				sdata = mw.loadData(&amp;quot;Module:ISO 3166/data/&amp;quot;..code1)&lt;br /&gt;
			else&lt;br /&gt;
				return &#039;[[Category:Wikipedia page with obscure country]]&#039;&lt;br /&gt;
			end&lt;br /&gt;
			if sdata[code2] then&lt;br /&gt;
				return (args.isoname or args.lang) and isoname(sdata,code2,args.lang)&lt;br /&gt;
					or (sdata[code2][&amp;quot;displayname&amp;quot;] or sdata[code2][&amp;quot;name&amp;quot;])&lt;br /&gt;
			else&lt;br /&gt;
				return &#039;[[Category:Wikipedia page with obscure country]]&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . N A M E---------]]--											-- Calls P.Luaname but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.name(frame)&lt;br /&gt;
&lt;br /&gt;
	return p.luaname(getArgs(frame)) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
--[[----------P . G E O C O O R D I N S E R T---------]]--						-- Wrapper for Module:Coordinates.coordinsert&lt;br /&gt;
function p.geocoordinsert(frame)&lt;br /&gt;
	-- {{#invoke:ISO 3166|geocoordinsert|{{coord|...}}&lt;br /&gt;
	-- |country=..|subdivision1=...|subdivision2=...&lt;br /&gt;
	-- |type=...|scale=...|dim=...|source=...|globe=...&lt;br /&gt;
	-- }}&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local subdivisionqueried = false&lt;br /&gt;
	local catnocountry = (args.nocat and args.nocat == &#039;true&#039;) and &#039;&#039; &lt;br /&gt;
		or &#039;[[Category:Wikipedia page with obscure country]]&#039;&lt;br /&gt;
	local catnosubdivision = (args.nocat and args.nocat == &#039;true&#039;) and &#039;&#039;&lt;br /&gt;
		or &#039;[[Category:Wikipedia page with obscure subdivision]]&#039; or &#039;&#039;&lt;br /&gt;
	local tracking = &#039;&#039;&lt;br /&gt;
	local targs = {}&lt;br /&gt;
	targs[1] = args[1] or &#039;&#039;&lt;br /&gt;
	for i, v in pairs(args) do&lt;br /&gt;
		if i == &#039;country&#039; and not mw.ustring.find(targs[1], &#039;region:&#039;) then&lt;br /&gt;
			local country = v&lt;br /&gt;
			local k, region = 1, &#039;&#039;&lt;br /&gt;
			-- look for a valid subdivision&lt;br /&gt;
			while region == &#039;&#039; and k &amp;lt; 3 do&lt;br /&gt;
				local subdivision = args[&#039;subdivision&#039; .. k] or &#039;&#039;&lt;br /&gt;
				if subdivision ~= &#039;&#039; then&lt;br /&gt;
					region = p.luacode({country, subdivision, nocat = &#039;true&#039;})&lt;br /&gt;
					subdivisionqueried = true&lt;br /&gt;
				end&lt;br /&gt;
				k = k + 1&lt;br /&gt;
			end&lt;br /&gt;
			-- subdivision lookup failed or never attempted, try country only&lt;br /&gt;
			if region == &#039;&#039; then&lt;br /&gt;
				region = p.luacode({country, nocat = &#039;true&#039;})&lt;br /&gt;
				if mw.title.getCurrentTitle().namespace ~= 0 then catnocountry, catnosubdivision = &#039;&#039;, &#039;&#039; end&lt;br /&gt;
				if region == &#039;&#039; then&lt;br /&gt;
					tracking = tracking .. catnocountry&lt;br /&gt;
				elseif subdivisionqueried == true then&lt;br /&gt;
					tracking = tracking .. catnosubdivision&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			-- something worked, add it to the targs&lt;br /&gt;
			if region ~= &#039;&#039; then&lt;br /&gt;
				targs[#targs + 1] = &#039;region:&#039; .. region&lt;br /&gt;
			end&lt;br /&gt;
		elseif i == &#039;type&#039; or i == &#039;scale&#039; or i == &#039;dim&#039; &lt;br /&gt;
				or i == &#039;source&#039; or i == &#039;globe&#039; then&lt;br /&gt;
			targs[#targs + 1] = i .. &#039;:&#039; .. v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- call Module:Coordinates.coordinsert if there is something to insert&lt;br /&gt;
	if #targs &amp;gt; 1 then&lt;br /&gt;
		local coordinsert = require(&#039;Module:Coordinates&#039;).coordinsert&lt;br /&gt;
		return coordinsert({args = targs}) .. tracking&lt;br /&gt;
	end&lt;br /&gt;
	-- otherwise, just return the coordinates&lt;br /&gt;
	return targs[1] .. tracking&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:ISO_3166_code&amp;diff=4825</id>
		<title>模板:ISO 3166 code</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:ISO_3166_code&amp;diff=4825"/>
		<updated>2022-11-30T23:22:56Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{safesubst&amp;lt;noinclude/&amp;gt;:#invoke:ISO 3166|code|{{{1}}}|{{{2|}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content={{ISO 3166 conversion template doc}}}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Country_abbreviation&amp;diff=4823</id>
		<title>模板:Country abbreviation</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Country_abbreviation&amp;diff=4823"/>
		<updated>2022-11-30T23:22:56Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:ISO 3166 code]]&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Nobold&amp;diff=4821</id>
		<title>模板:Nobold</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Nobold&amp;diff=4821"/>
		<updated>2022-11-30T23:22:56Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- 请将分类添加至模板文档（模板文件）页面 --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:En-link&amp;diff=4819</id>
		<title>模板:En-link</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:En-link&amp;diff=4819"/>
		<updated>2022-11-30T23:22:53Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Internal link helper/en]]&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E9%A0%93%E8%99%9F%E5%88%86%E9%9A%94%E5%90%84%E9%A0%85&amp;diff=4817</id>
		<title>模板:頓號分隔各項</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%E9%A0%93%E8%99%9F%E5%88%86%E9%9A%94%E5%90%84%E9%A0%85&amp;diff=4817"/>
		<updated>2022-11-30T23:22:53Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:Separated entries|comma}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Comma_separated_entries&amp;diff=4815</id>
		<title>模板:Comma separated entries</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Comma_separated_entries&amp;diff=4815"/>
		<updated>2022-11-30T23:22:51Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#重定向 [[Template:頓號分隔各項]]&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%5C&amp;diff=4813</id>
		<title>模板:\</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:%5C&amp;diff=4813"/>
		<updated>2022-11-30T23:22:51Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;nbsp;/&amp;amp;#32;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Unbulleted_list&amp;diff=4811</id>
		<title>模板:Unbulleted list</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Unbulleted_list&amp;diff=4811"/>
		<updated>2022-11-30T23:22:49Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:list|unbulleted}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Ilh&amp;diff=4809</id>
		<title>模块:Ilh</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Ilh&amp;diff=4809"/>
		<updated>2022-11-30T23:22:48Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local ilh = {}&lt;br /&gt;
local getArgs&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
local lan = require(&#039;Module:Lan&#039;)&lt;br /&gt;
local langData = mw.loadData( &#039;Module:Ilh/data&#039; )&lt;br /&gt;
&lt;br /&gt;
--local frameArgs&lt;br /&gt;
local COMMON_TAIL=&#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
local MODEL={&lt;br /&gt;
	 frame_head=&#039;&amp;lt;span class=&amp;quot;ilh-all %s&amp;quot; data-orig-title=&amp;quot;%s&amp;quot; data-lang-code=&amp;quot;%s&amp;quot; data-lang-name=&amp;quot;%s&amp;quot; data-foreign-title=&amp;quot;%s&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	,frame_tail=COMMON_TAIL&lt;br /&gt;
	,page_head=&#039;&amp;lt;span class=&amp;quot;ilh-page&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	,page_tail=COMMON_TAIL&lt;br /&gt;
	,comment_head=&#039;&amp;lt;span class=&amp;quot;noprint ilh-comment&amp;quot;&amp;gt;（&#039;&lt;br /&gt;
	,comment_tail=&#039;）&#039;..COMMON_TAIL&lt;br /&gt;
	,lang_head=&#039;&amp;lt;span class=&amp;quot;ilh-lang&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	,lang_tail=COMMON_TAIL&lt;br /&gt;
	,colon=&#039;&amp;lt;span class=&amp;quot;ilh-colon&amp;quot;&amp;gt;：&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	,link_head=&#039;&amp;lt;span class=&amp;quot;ilh-link&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	,link_body=&#039;-{[[:%s:%s|&amp;lt;span lang=&amp;quot;%s&amp;quot; dir=&amp;quot;auto&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;]]}-&#039;&lt;br /&gt;
	,link_tail=COMMON_TAIL&lt;br /&gt;
}&lt;br /&gt;
local clazz_pageExist_framehead=&#039;ilh-blue&#039;&lt;br /&gt;
local TRA_CAT=&#039;[[Category:有蓝链却未移除内部链接助手模板的页面]]&#039;&lt;br /&gt;
&lt;br /&gt;
function ilh.main(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	if langData[args[&#039;lang-code&#039;]] == nil then&lt;br /&gt;
		args[&#039;lang&#039;] = mw.language.fetchLanguageName( args[&#039;lang-code&#039;], mw.getContentLanguage():getCode() ) 	&lt;br /&gt;
	elseif langData[args[&#039;lang-code&#039;]][&#039;lang-hans&#039;] and langData[args[&#039;lang-code&#039;]][&#039;lang-hans&#039;] then&lt;br /&gt;
		args[&#039;lang&#039;] = lan._main({[&#039;zh-hans&#039;]=langData[args[&#039;lang-code&#039;]][&#039;lang-hans&#039;], [&#039;zh-hant&#039;]=langData[args[&#039;lang-code&#039;]][&#039;lang-hant&#039;]}, frame)&lt;br /&gt;
	elseif langData[args[&#039;lang-code&#039;]][&#039;lang&#039;] == nil then&lt;br /&gt;
		args[&#039;lang&#039;] = mw.language.fetchLanguageName( args[&#039;lang-code&#039;], mw.getContentLanguage():getCode() ) 	&lt;br /&gt;
	else &lt;br /&gt;
		args[&#039;lang&#039;] = langData[args[&#039;lang-code&#039;]][&#039;lang&#039;]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ilh._ilh(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ilh._ilh(args)&lt;br /&gt;
	--frameArgs = getArgs(frame, {frameOnly=true})&lt;br /&gt;
&lt;br /&gt;
	local context={}&lt;br /&gt;
	context[&amp;quot;isMainPage&amp;quot;]=ilh.isMainPage()&lt;br /&gt;
	context[&amp;quot;localPage&amp;quot;]=args[1]&lt;br /&gt;
	context[&amp;quot;foreignPage&amp;quot;]=args[2] or args[1] --如果{{{2}}}不传入的话&lt;br /&gt;
	context[&amp;quot;displayName&amp;quot;]=args[&amp;quot;d&amp;quot;] or args[1]&lt;br /&gt;
	context[&amp;quot;langCode&amp;quot;]=args[&amp;quot;lang-code&amp;quot;]&lt;br /&gt;
	context[&amp;quot;lang&amp;quot;]=args[&amp;quot;lang&amp;quot;]&lt;br /&gt;
	context[&amp;quot;nocat&amp;quot;]=yesno( args[&amp;quot;nocat&amp;quot;] , false )&lt;br /&gt;
&lt;br /&gt;
	context[&amp;quot;isExist&amp;quot;]= (args[&amp;quot;$exist$&amp;quot;] and args[&amp;quot;$exist$&amp;quot;]==1) or ilh.isExist(context[&amp;quot;localPage&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	local curPage_obj=mw.title.getCurrentTitle()&lt;br /&gt;
	context[&amp;quot;isNoCatWithNamespace&amp;quot;]=curPage_obj:inNamespaces(2,828) --User,Module&lt;br /&gt;
	--context[&amp;quot;curPageNamespace&amp;quot;]=curPage_obj.namespace&lt;br /&gt;
&lt;br /&gt;
	return (context[&amp;quot;isMainPage&amp;quot;] and ilh.onlyLink(context)) or ilh.functionLink(context)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ilh.onlyLink(context)&lt;br /&gt;
	return ( context[&amp;quot;isExist&amp;quot;] and mw.ustring.format( &#039;[[%s|%s]]&#039;, context[&amp;quot;localPage&amp;quot;], context[&amp;quot;displayName&amp;quot;] ) ) or context[&amp;quot;displayName&amp;quot;]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ilh.functionLink(context)&lt;br /&gt;
	context[&amp;quot;_localPage&amp;quot;]=mw.ustring.gsub(context[&amp;quot;localPage&amp;quot;],&#039;&amp;quot;&#039;,&#039;&amp;amp;quot;&#039;)&lt;br /&gt;
	context[&amp;quot;_foreignPage&amp;quot;]=mw.ustring.gsub(context[&amp;quot;foreignPage&amp;quot;],&#039;&amp;quot;&#039;,&#039;&amp;amp;quot;&#039;)&lt;br /&gt;
	local need_cat=&lt;br /&gt;
				   (not context[&amp;quot;nocat&amp;quot;])&lt;br /&gt;
				   and&lt;br /&gt;
				   (not context[&amp;quot;isNoCatWithNamespace&amp;quot;])&lt;br /&gt;
				   --[[not (&lt;br /&gt;
					   context[&amp;quot;curPageNamespace&amp;quot;]==2 --User&lt;br /&gt;
					or context[&amp;quot;curPageNamespace&amp;quot;]==828 --Module&lt;br /&gt;
				   )]]&lt;br /&gt;
	--mw.log(context[&amp;quot;nocat&amp;quot;])&lt;br /&gt;
	--mw.log(context[&amp;quot;curPageNamespace&amp;quot;])&lt;br /&gt;
	--mw.log(need_cat)&lt;br /&gt;
&lt;br /&gt;
	local output_context={}&lt;br /&gt;
	table.insert(output_context,&lt;br /&gt;
					mw.ustring.format(MODEL.frame_head ,&lt;br /&gt;
						 (context[&amp;quot;isExist&amp;quot;] and clazz_pageExist_framehead) or &#039;&#039;&lt;br /&gt;
						,context[&amp;quot;_localPage&amp;quot;]&lt;br /&gt;
						,context[&amp;quot;langCode&amp;quot;]&lt;br /&gt;
						,context[&amp;quot;lang&amp;quot;]&lt;br /&gt;
						,context[&amp;quot;_foreignPage&amp;quot;]&lt;br /&gt;
					)&lt;br /&gt;
				)&lt;br /&gt;
		table.insert(output_context,MODEL.page_head)&lt;br /&gt;
			table.insert(output_context,&lt;br /&gt;
							mw.ustring.format(&#039;[[:%s|%s]]&#039; ,&lt;br /&gt;
								context[&amp;quot;localPage&amp;quot;],context[&amp;quot;displayName&amp;quot;]&lt;br /&gt;
							)&lt;br /&gt;
						)&lt;br /&gt;
		table.insert(output_context,MODEL.page_tail)&lt;br /&gt;
		if context[&amp;quot;isExist&amp;quot;] then&lt;br /&gt;
			if need_cat then&lt;br /&gt;
				table.insert(output_context,TRA_CAT)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(output_context,MODEL.comment_head)&lt;br /&gt;
				table.insert(output_context,MODEL.lang_head)&lt;br /&gt;
					table.insert(output_context,context[&amp;quot;lang&amp;quot;])&lt;br /&gt;
				table.insert(output_context,MODEL.lang_tail)&lt;br /&gt;
&lt;br /&gt;
				table.insert(output_context,MODEL.colon)&lt;br /&gt;
&lt;br /&gt;
				table.insert(output_context,MODEL.link_head)&lt;br /&gt;
					table.insert(output_context,&lt;br /&gt;
									mw.ustring.format(MODEL.link_body,&lt;br /&gt;
										 context[&amp;quot;langCode&amp;quot;]&lt;br /&gt;
										,(context[&amp;quot;foreignPage&amp;quot;] or context[&amp;quot;localPage&amp;quot;])&lt;br /&gt;
										,context[&amp;quot;langCode&amp;quot;]&lt;br /&gt;
										,(context[&amp;quot;foreignPage&amp;quot;] or context[&amp;quot;localPage&amp;quot;])&lt;br /&gt;
									)&lt;br /&gt;
								)&lt;br /&gt;
				table.insert(output_context,MODEL.link_tail)&lt;br /&gt;
			table.insert(output_context,MODEL.comment_tail)&lt;br /&gt;
		end&lt;br /&gt;
	table.insert(output_context,MODEL.frame_tail)&lt;br /&gt;
&lt;br /&gt;
	return table.concat(output_context,&amp;quot;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--以下需要更高效的实现&lt;br /&gt;
&lt;br /&gt;
--确定主页&lt;br /&gt;
--使用mw信息获得主页名&lt;br /&gt;
--使用language库获得本站默认语言代码（zh）来确定信息的对应语言，获得全主页名&lt;br /&gt;
---因为其他zh分语言只有名，没有命名空间，可以识别出来，但麻烦&lt;br /&gt;
--然后判断当前页和主页是否一致&lt;br /&gt;
---计划做重定向判断，但没需要&lt;br /&gt;
function ilh.isMainPage()&lt;br /&gt;
	local mainpage_msgobj=mw.message.new(&#039;Mainpage&#039;)&lt;br /&gt;
	mainpage_msgobj=mainpage_msgobj:inLanguage(mw.getContentLanguage():getCode())&lt;br /&gt;
	local mainPage_obj=mw.title.makeTitle(0,mainpage_msgobj:plain())&lt;br /&gt;
	local curpage_obj=mw.title.getCurrentTitle()&lt;br /&gt;
	--local curpage_redirectFrom_obj=curpage_obj.redirectTarget&lt;br /&gt;
	--[[if curpage_redirectFrom_obj ~=false then&lt;br /&gt;
		curpage_obj=curpage_redirectFrom_obj&lt;br /&gt;
	end]]&lt;br /&gt;
	return mw.title.equals(mainPage_obj,curpage_obj) --and curpage_obj.namespace==4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--确定页面存在&lt;br /&gt;
---exists是高开销方法，需要更高效的实现&lt;br /&gt;
--带保护的包装方法&lt;br /&gt;
--由于exists和解析器函数ifexist都是高开销方法&lt;br /&gt;
--而ifexist达到限制时默认返回结果为false的操作&lt;br /&gt;
--而exists会直接抛出错误而中断执行&lt;br /&gt;
--所以将相应调用包裹，压制exists的抛错，按照ifexist的理念，返回false&lt;br /&gt;
--正常情况下则一切正常&lt;br /&gt;
function ilh.isExist(pageName)&lt;br /&gt;
	local execStatus,result=pcall(ilh._isExist,pageName)&lt;br /&gt;
	&lt;br /&gt;
	if execStatus then&lt;br /&gt;
		return result&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
--真实方法&lt;br /&gt;
function ilh._isExist(pageName)&lt;br /&gt;
	local localPage_obj=mw.title.makeTitle(0,pageName)&lt;br /&gt;
	return localPage_obj.exists&lt;br /&gt;
end&lt;br /&gt;
--end&lt;br /&gt;
&lt;br /&gt;
return ilh&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Math&amp;diff=4807</id>
		<title>模块:Math</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Math&amp;diff=4807"/>
		<updated>2022-11-30T23:22:47Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
&lt;br /&gt;
This module provides a number of basic mathematical operations.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local yesno, getArgs -- lazily initialized&lt;br /&gt;
&lt;br /&gt;
local p = {} -- Holds functions to be returned from #invoke, and functions to make available to other Lua modules.&lt;br /&gt;
local wrap = {} -- Holds wrapper functions that process arguments from #invoke. These act as intemediary between functions meant for #invoke and functions meant for Lua.&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper functions used to avoid redundant code.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function err(msg)&lt;br /&gt;
	-- Generates wikitext error messages.&lt;br /&gt;
	return mw.ustring.format(&#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;Formatting error: %s&amp;lt;/strong&amp;gt;&#039;, msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function unpackNumberArgs(args)&lt;br /&gt;
	-- Returns an unpacked list of arguments specified with numerical keys.&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;number&#039; then&lt;br /&gt;
			table.insert(ret, v)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return unpack(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeArgArray(...)&lt;br /&gt;
	-- Makes an array of arguments from a list of arguments that might include nils.&lt;br /&gt;
	local args = {...} -- Table of arguments. It might contain nils or non-number values, so we can&#039;t use ipairs.&lt;br /&gt;
	local nums = {} -- Stores the numbers of valid numerical arguments.&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		v = p._cleanNumber(v)&lt;br /&gt;
		if v then&lt;br /&gt;
			nums[#nums + 1] = k&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	for i, num in ipairs(nums) do&lt;br /&gt;
		ret[#ret + 1] = args[num]&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function fold(func, ...)&lt;br /&gt;
	-- Use a function on all supplied arguments, and return the result. The function must accept two numbers as parameters,&lt;br /&gt;
	-- and must return a number as an output. This number is then supplied as input to the next function call.&lt;br /&gt;
	local vals = makeArgArray(...)&lt;br /&gt;
	local count = #vals -- The number of valid arguments&lt;br /&gt;
	if count == 0 then return&lt;br /&gt;
		-- Exit if we have no valid args, otherwise removing the first arg would cause an error.&lt;br /&gt;
		nil, 0&lt;br /&gt;
	end&lt;br /&gt;
	local ret = table.remove(vals, 1)&lt;br /&gt;
	for _, val in ipairs(vals) do&lt;br /&gt;
		ret = func(ret, val)&lt;br /&gt;
	end&lt;br /&gt;
	return ret, count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Fold arguments by selectively choosing values (func should return when to choose the current &amp;quot;dominant&amp;quot; value).&lt;br /&gt;
]]&lt;br /&gt;
local function binary_fold(func, ...)&lt;br /&gt;
	local value = fold((function(a, b) if func(a, b) then return a else return b end end), ...)&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
random&lt;br /&gt;
&lt;br /&gt;
Generate a random number&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke: Math | random }}&lt;br /&gt;
{{#invoke: Math | random | maximum value }}&lt;br /&gt;
{{#invoke: Math | random | minimum value | maximum value }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.random(args)&lt;br /&gt;
	local first = p._cleanNumber(args[1])&lt;br /&gt;
	local second = p._cleanNumber(args[2])&lt;br /&gt;
	return p._random(first, second)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._random(first, second)&lt;br /&gt;
	math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000))&lt;br /&gt;
	-- math.random will throw an error if given an explicit nil parameter, so we need to use if statements to check the params.&lt;br /&gt;
	if first and second then&lt;br /&gt;
		if first &amp;lt;= second then -- math.random doesn&#039;t allow the first number to be greater than the second.&lt;br /&gt;
			return math.random(first, second)&lt;br /&gt;
		end&lt;br /&gt;
	elseif first then&lt;br /&gt;
		return math.random(first)&lt;br /&gt;
	else&lt;br /&gt;
		return math.random()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
order&lt;br /&gt;
&lt;br /&gt;
Determine order of magnitude of a number&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke: Math | order | value }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.order(args)&lt;br /&gt;
	local input_string = (args[1] or args.x or &#039;0&#039;);&lt;br /&gt;
	local input_number = p._cleanNumber(input_string);&lt;br /&gt;
	if input_number == nil then&lt;br /&gt;
		return err(&#039;order of magnitude input appears non-numeric&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return p._order(input_number)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._order(x)&lt;br /&gt;
	if x == 0 then return 0 end&lt;br /&gt;
	return math.floor(math.log10(math.abs(x)))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
precision&lt;br /&gt;
&lt;br /&gt;
Detemines the precision of a number using the string representation&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{ #invoke: Math | precision | value }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.precision(args)&lt;br /&gt;
	local input_string = (args[1] or args.x or &#039;0&#039;);&lt;br /&gt;
	local trap_fraction = args.check_fraction;&lt;br /&gt;
	local input_number;&lt;br /&gt;
&lt;br /&gt;
	if not yesno then&lt;br /&gt;
		yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if yesno(trap_fraction, true) then -- Returns true for all input except nil, false, &amp;quot;no&amp;quot;, &amp;quot;n&amp;quot;, &amp;quot;0&amp;quot; and a few others. See [[Module:Yesno]].&lt;br /&gt;
		local pos = string.find(input_string, &#039;/&#039;, 1, true);&lt;br /&gt;
		if pos ~= nil then&lt;br /&gt;
			if string.find(input_string, &#039;/&#039;, pos + 1, true) == nil then&lt;br /&gt;
				local denominator = string.sub(input_string, pos+1, -1);&lt;br /&gt;
				local denom_value = tonumber(denominator);&lt;br /&gt;
				if denom_value ~= nil then&lt;br /&gt;
					return math.log10(denom_value);&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	input_number, input_string = p._cleanNumber(input_string);&lt;br /&gt;
	if input_string == nil then&lt;br /&gt;
		return err(&#039;precision input appears non-numeric&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return p._precision(input_string)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._precision(x)&lt;br /&gt;
	if type(x) == &#039;number&#039; then&lt;br /&gt;
		x = tostring(x)&lt;br /&gt;
	end&lt;br /&gt;
	x = string.upper(x)&lt;br /&gt;
&lt;br /&gt;
	local decimal = x:find(&#039;%.&#039;)&lt;br /&gt;
	local exponent_pos = x:find(&#039;E&#039;)&lt;br /&gt;
	local result = 0;&lt;br /&gt;
&lt;br /&gt;
	if exponent_pos ~= nil then&lt;br /&gt;
		local exponent = string.sub(x, exponent_pos + 1)&lt;br /&gt;
		x = string.sub(x, 1, exponent_pos - 1)&lt;br /&gt;
		result = result - tonumber(exponent)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if decimal ~= nil then&lt;br /&gt;
		result = result + string.len(x) - decimal&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local pos = string.len(x);&lt;br /&gt;
	while x:byte(pos) == string.byte(&#039;0&#039;) do&lt;br /&gt;
		pos = pos - 1&lt;br /&gt;
		result = result - 1&lt;br /&gt;
		if pos &amp;lt;= 0 then&lt;br /&gt;
			return 0&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
max&lt;br /&gt;
&lt;br /&gt;
Finds the maximum argument&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math| max | value1 | value2 | ... }}&lt;br /&gt;
&lt;br /&gt;
Note, any values that do not evaluate to numbers are ignored.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.max(args)&lt;br /&gt;
	return p._max(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._max(...)&lt;br /&gt;
	local max_value = binary_fold((function(a, b) return a &amp;gt; b end), ...)&lt;br /&gt;
	if max_value then&lt;br /&gt;
		return max_value&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
median&lt;br /&gt;
&lt;br /&gt;
Find the median of set of numbers&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | median | number1 | number2 | ...}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:Math | median }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.median(args)&lt;br /&gt;
	return p._median(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._median(...)&lt;br /&gt;
	local vals = makeArgArray(...)&lt;br /&gt;
	local count = #vals&lt;br /&gt;
	table.sort(vals)&lt;br /&gt;
&lt;br /&gt;
	if count == 0 then&lt;br /&gt;
		return 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if p._mod(count, 2) == 0 then&lt;br /&gt;
		return (vals[count/2] + vals[count/2+1])/2&lt;br /&gt;
	else&lt;br /&gt;
		return vals[math.ceil(count/2)]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
min&lt;br /&gt;
&lt;br /&gt;
Finds the minimum argument&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math| min | value1 | value2 | ... }}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:Math| min }}&lt;br /&gt;
&lt;br /&gt;
When used with no arguments, it takes its input from the parent&lt;br /&gt;
frame.  Note, any values that do not evaluate to numbers are ignored.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.min(args)&lt;br /&gt;
	return p._min(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._min(...)&lt;br /&gt;
	local min_value = binary_fold((function(a, b) return a &amp;lt; b end), ...)&lt;br /&gt;
	if min_value then&lt;br /&gt;
		return min_value&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
sum&lt;br /&gt;
&lt;br /&gt;
Finds the sum&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math| sum | value1 | value2 | ... }}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:Math| sum }}&lt;br /&gt;
&lt;br /&gt;
Note, any values that do not evaluate to numbers are ignored.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.sum(args)&lt;br /&gt;
	return p._sum(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._sum(...)&lt;br /&gt;
	local sums, count = fold((function(a, b) return a + b end), ...)&lt;br /&gt;
	if not sums then&lt;br /&gt;
		return 0&lt;br /&gt;
	else&lt;br /&gt;
		return sums&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
average&lt;br /&gt;
&lt;br /&gt;
Finds the average&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math| average | value1 | value2 | ... }}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:Math| average }}&lt;br /&gt;
&lt;br /&gt;
Note, any values that do not evaluate to numbers are ignored.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.average(args)&lt;br /&gt;
	return p._average(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._average(...)&lt;br /&gt;
	local sum, count = fold((function(a, b) return a + b end), ...)&lt;br /&gt;
	if not sum then&lt;br /&gt;
		return 0&lt;br /&gt;
	else&lt;br /&gt;
		return sum / count&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
round&lt;br /&gt;
&lt;br /&gt;
Rounds a number to specified precision&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | round | value | precision }}&lt;br /&gt;
&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
function wrap.round(args)&lt;br /&gt;
	local value = p._cleanNumber(args[1] or args.value or 0)&lt;br /&gt;
	local precision = p._cleanNumber(args[2] or args.precision or 0)&lt;br /&gt;
	if value == nil or precision == nil then&lt;br /&gt;
		return err(&#039;round input appears non-numeric&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return p._round(value, precision)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._round(value, precision)&lt;br /&gt;
	local rescale = math.pow(10, precision or 0);&lt;br /&gt;
	return math.floor(value * rescale + 0.5) / rescale;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
log10&lt;br /&gt;
&lt;br /&gt;
returns the log (base 10) of a number&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | log10 | x }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.log10(args)&lt;br /&gt;
	return math.log10(args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
mod&lt;br /&gt;
&lt;br /&gt;
Implements the modulo operator&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | mod | x | y }}&lt;br /&gt;
&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
function wrap.mod(args)&lt;br /&gt;
	local x = p._cleanNumber(args[1])&lt;br /&gt;
	local y = p._cleanNumber(args[2])&lt;br /&gt;
	if not x then&lt;br /&gt;
		return err(&#039;first argument to mod appears non-numeric&#039;)&lt;br /&gt;
	elseif not y then&lt;br /&gt;
		return err(&#039;second argument to mod appears non-numeric&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return p._mod(x, y)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._mod(x, y)&lt;br /&gt;
	local ret = x % y&lt;br /&gt;
	if not (0 &amp;lt;= ret and ret &amp;lt; y) then&lt;br /&gt;
		ret = 0&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
gcd&lt;br /&gt;
&lt;br /&gt;
Calculates the greatest common divisor of multiple numbers&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | gcd | value 1 | value 2 | value 3 | ... }}&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
function wrap.gcd(args)&lt;br /&gt;
	return p._gcd(unpackNumberArgs(args))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._gcd(...)&lt;br /&gt;
	local function findGcd(a, b)&lt;br /&gt;
		local r = b&lt;br /&gt;
		local oldr = a&lt;br /&gt;
		while r ~= 0 do&lt;br /&gt;
			local quotient = math.floor(oldr / r)&lt;br /&gt;
			oldr, r = r, oldr - quotient * r&lt;br /&gt;
		end&lt;br /&gt;
		if oldr &amp;lt; 0 then&lt;br /&gt;
			oldr = oldr * -1&lt;br /&gt;
		end&lt;br /&gt;
		return oldr&lt;br /&gt;
	end&lt;br /&gt;
	local result, count = fold(findGcd, ...)&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
precision_format&lt;br /&gt;
&lt;br /&gt;
Rounds a number to the specified precision and formats according to rules&lt;br /&gt;
originally used for {{template:Rnd}}.  Output is a string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke: Math | precision_format | number | precision }}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function wrap.precision_format(args)&lt;br /&gt;
	local value_string = args[1] or 0&lt;br /&gt;
	local precision = args[2] or 0&lt;br /&gt;
	return p._precision_format(value_string, precision)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._precision_format(value_string, precision)&lt;br /&gt;
	-- For access to Mediawiki built-in formatter.&lt;br /&gt;
	local lang = mw.getContentLanguage();&lt;br /&gt;
&lt;br /&gt;
	local value&lt;br /&gt;
	value, value_string = p._cleanNumber(value_string)&lt;br /&gt;
	precision = p._cleanNumber(precision)&lt;br /&gt;
&lt;br /&gt;
	-- Check for non-numeric input&lt;br /&gt;
	if value == nil or precision == nil then&lt;br /&gt;
		return err(&#039;invalid input when rounding&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local current_precision = p._precision(value)&lt;br /&gt;
	local order = p._order(value)&lt;br /&gt;
&lt;br /&gt;
	-- Due to round-off effects it is neccesary to limit the returned precision under&lt;br /&gt;
	-- some circumstances because the terminal digits will be inaccurately reported.&lt;br /&gt;
	if order + precision &amp;gt;= 14 then&lt;br /&gt;
		if order + p._precision(value_string) &amp;gt;= 14 then&lt;br /&gt;
			precision = 13 - order;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- If rounding off, truncate extra digits&lt;br /&gt;
	if precision &amp;lt; current_precision then&lt;br /&gt;
		value = p._round(value, precision)&lt;br /&gt;
		current_precision = p._precision(value)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local formatted_num = lang:formatNum(math.abs(value))&lt;br /&gt;
	local sign&lt;br /&gt;
&lt;br /&gt;
	-- Use proper unary minus sign rather than ASCII default&lt;br /&gt;
	if value &amp;lt; 0 then&lt;br /&gt;
		sign = &#039;−&#039;&lt;br /&gt;
	else&lt;br /&gt;
		sign = &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Handle cases requiring scientific notation&lt;br /&gt;
	if string.find(formatted_num, &#039;E&#039;, 1, true) ~= nil or math.abs(order) &amp;gt;= 9 then&lt;br /&gt;
		value = value * math.pow(10, -order)&lt;br /&gt;
		current_precision = current_precision + order&lt;br /&gt;
		precision = precision + order&lt;br /&gt;
		formatted_num = lang:formatNum(math.abs(value))&lt;br /&gt;
	else&lt;br /&gt;
		order = 0;&lt;br /&gt;
	end&lt;br /&gt;
	formatted_num = sign .. formatted_num&lt;br /&gt;
&lt;br /&gt;
	-- Pad with zeros, if needed&lt;br /&gt;
	if current_precision &amp;lt; precision then&lt;br /&gt;
		local padding&lt;br /&gt;
		if current_precision &amp;lt;= 0 then&lt;br /&gt;
			if precision &amp;gt; 0 then&lt;br /&gt;
				local zero_sep = lang:formatNum(1.1)&lt;br /&gt;
				formatted_num = formatted_num .. zero_sep:sub(2,2)&lt;br /&gt;
&lt;br /&gt;
				padding = precision&lt;br /&gt;
				if padding &amp;gt; 20 then&lt;br /&gt;
					padding = 20&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				formatted_num = formatted_num .. string.rep(&#039;0&#039;, padding)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			padding = precision - current_precision&lt;br /&gt;
			if padding &amp;gt; 20 then&lt;br /&gt;
				padding = 20&lt;br /&gt;
			end&lt;br /&gt;
			formatted_num = formatted_num .. string.rep(&#039;0&#039;, padding)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add exponential notation, if necessary.&lt;br /&gt;
	if order ~= 0 then&lt;br /&gt;
		-- Use proper unary minus sign rather than ASCII default&lt;br /&gt;
		if order &amp;lt; 0 then&lt;br /&gt;
			order = &#039;−&#039; .. lang:formatNum(math.abs(order))&lt;br /&gt;
		else&lt;br /&gt;
			order = lang:formatNum(order)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		formatted_num = formatted_num .. &#039;&amp;lt;span style=&amp;quot;margin:0 .15em 0 .25em&amp;quot;&amp;gt;×&amp;lt;/span&amp;gt;10&amp;lt;sup&amp;gt;&#039; .. order .. &#039;&amp;lt;/sup&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return formatted_num&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
divide&lt;br /&gt;
&lt;br /&gt;
Implements the division operator&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:Math | divide | x | y | round= | precision= }}&lt;br /&gt;
&lt;br /&gt;
--]]&lt;br /&gt;
function wrap.divide(args)&lt;br /&gt;
	local x = args[1]&lt;br /&gt;
	local y = args[2]&lt;br /&gt;
	local round = args.round&lt;br /&gt;
	local precision =  args.precision&lt;br /&gt;
	if not yesno then&lt;br /&gt;
		yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	return p._divide(x, y, yesno(round), precision)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._divide(x, y, round, precision)&lt;br /&gt;
	if y == nil or y == &amp;quot;&amp;quot; then&lt;br /&gt;
		return err(&amp;quot;Empty divisor&amp;quot;)&lt;br /&gt;
	elseif not tonumber(y) then&lt;br /&gt;
		if type(y) == &#039;string&#039; and string.sub(y, 1, 1) == &#039;&amp;lt;&#039; then&lt;br /&gt;
			return y&lt;br /&gt;
		else&lt;br /&gt;
			return err(&amp;quot;Not a number: &amp;quot; .. y)&lt;br /&gt;
		end&lt;br /&gt;
	elseif x == nil or x == &amp;quot;&amp;quot; then&lt;br /&gt;
		return err(&amp;quot;Empty dividend&amp;quot;)&lt;br /&gt;
	elseif not tonumber(x) then&lt;br /&gt;
		if type(x) == &#039;string&#039; and string.sub(x, 1, 1) == &#039;&amp;lt;&#039; then&lt;br /&gt;
			return x&lt;br /&gt;
		else&lt;br /&gt;
			return err(&amp;quot;Not a number: &amp;quot; .. x)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local z = x / y&lt;br /&gt;
		if round then&lt;br /&gt;
			return p._round(z, 0)&lt;br /&gt;
		elseif precision then&lt;br /&gt;
			return p._round(z, precision)&lt;br /&gt;
		else&lt;br /&gt;
			return z	&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that interprets the input numerically.  If the&lt;br /&gt;
input does not appear to be a number, attempts evaluating it as&lt;br /&gt;
a parser functions expression.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
function p._cleanNumber(number_string)&lt;br /&gt;
	if type(number_string) == &#039;number&#039; then&lt;br /&gt;
		-- We were passed a number, so we don&#039;t need to do any processing.&lt;br /&gt;
		return number_string, tostring(number_string)&lt;br /&gt;
	elseif type(number_string) ~= &#039;string&#039; or not number_string:find(&#039;%S&#039;) then&lt;br /&gt;
		-- We were passed a non-string or a blank string, so exit.&lt;br /&gt;
		return nil, nil;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Attempt basic conversion&lt;br /&gt;
	local number = tonumber(number_string)&lt;br /&gt;
&lt;br /&gt;
	-- If failed, attempt to evaluate input as an expression&lt;br /&gt;
	if number == nil then&lt;br /&gt;
		local success, result = pcall(mw.ext.ParserFunctions.expr, number_string)&lt;br /&gt;
		if success then&lt;br /&gt;
			number = tonumber(result)&lt;br /&gt;
			number_string = tostring(number)&lt;br /&gt;
		else&lt;br /&gt;
			number = nil&lt;br /&gt;
			number_string = nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		number_string = number_string:match(&amp;quot;^%s*(.-)%s*$&amp;quot;) -- String is valid but may contain padding, clean it.&lt;br /&gt;
		number_string = number_string:match(&amp;quot;^%+(.*)$&amp;quot;) or number_string -- Trim any leading + signs.&lt;br /&gt;
		if number_string:find(&#039;^%-?0[xX]&#039;) then&lt;br /&gt;
			-- Number is using 0xnnn notation to indicate base 16; use the number that Lua detected instead.&lt;br /&gt;
			number_string = tostring(number)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return number, number_string&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Wrapper function that does basic argument processing. This ensures that all functions from #invoke can use either the current&lt;br /&gt;
frame or the parent frame, and it also trims whitespace for all arguments and removes blank arguments.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local mt = { __index = function(t, k)&lt;br /&gt;
	return function(frame)&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
		end&lt;br /&gt;
		return wrap[k](getArgs(frame))  -- Argument processing is left to Module:Arguments. Whitespace is trimmed and blank arguments are removed.&lt;br /&gt;
	end&lt;br /&gt;
end }&lt;br /&gt;
&lt;br /&gt;
return setmetatable(p, mt)&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Coordinates&amp;diff=4805</id>
		<title>模块:Coordinates</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Coordinates&amp;diff=4805"/>
		<updated>2022-11-30T23:22:47Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
This module is intended to replace the functionality of {{Coord}} and related&lt;br /&gt;
templates.  It provides several methods, including&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | coord }} : General function formatting and displaying&lt;br /&gt;
coordinate values.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dec2dms }} : Simple function for converting decimal&lt;br /&gt;
degree values to DMS format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | dms2dec }} : Simple function for converting DMS format&lt;br /&gt;
to decimal degree format.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Coordinates | link }} : Export the link used to reach the tools&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
local math_mod = require(&amp;quot;Module:Math&amp;quot;)&lt;br /&gt;
local coordinates = {};&lt;br /&gt;
&lt;br /&gt;
local current_page = mw.title.getCurrentTitle()&lt;br /&gt;
local page_name = mw.uri.encode( current_page.prefixedText, &#039;WIKI&#039; );&lt;br /&gt;
local coord_link = &#039;//geohack.toolforge.org/geohack.php?pagename=&#039; .. page_name .. &#039;&amp;amp;params=&#039;&lt;br /&gt;
local templatestyles = &#039;Module:Coordinates/styles.css&#039;&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, replacement for {{coord/display/title}} ]]&lt;br /&gt;
local function displaytitle(s, notes)&lt;br /&gt;
	local l = &amp;quot;[[Geographic coordinate system|Coordinates]]: &amp;quot; .. s&lt;br /&gt;
	local co = &#039;&amp;lt;span id=&amp;quot;coordinates&amp;quot;&amp;gt;&#039; .. l .. notes .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
	return &#039;&amp;lt;span style=&amp;quot;font-size: small;&amp;quot;&amp;gt;&#039; .. co .. &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, Replacement for {{coord/display/inline}} ]]&lt;br /&gt;
local function displayinline(s, notes)&lt;br /&gt;
	return s .. notes&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, used in detecting DMS formatting ]]&lt;br /&gt;
local function dmsTest(first, second)&lt;br /&gt;
	if type(first) ~= &#039;string&#039; or type(second) ~= &#039;string&#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local s = (first .. second):upper()&lt;br /&gt;
	return s:find(&#039;^[NS][EW]$&#039;) or s:find(&#039;^[EW][NS]$&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ Wrapper function to grab args, see Module:Arguments for this function&#039;s documentation. ]]&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {&lt;br /&gt;
			wrappers = &#039;Template:Coord&#039;&lt;br /&gt;
		})&lt;br /&gt;
		return coordinates[funcName](args, frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, handle optional args. ]]&lt;br /&gt;
local function optionalArg(arg, supplement)&lt;br /&gt;
	return arg and arg .. supplement or &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Formats any error messages generated for display&lt;br /&gt;
]]&lt;br /&gt;
local function errorPrinter(errors)&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	for i,v in ipairs(errors) do&lt;br /&gt;
		local errorHTML = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;Coordinates: &#039; .. v[2] .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
		result = result .. errorHTML .. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Determine the required CSS class to display coordinates&lt;br /&gt;
&lt;br /&gt;
Usually geo-nondefault is hidden by CSS, unless a user has overridden this for himself&lt;br /&gt;
default is the mode as specificied by the user when calling the {{coord}} template&lt;br /&gt;
mode is the display mode (dec or dms) that we will need to determine the css class for&lt;br /&gt;
]]&lt;br /&gt;
local function displayDefault(default, mode)&lt;br /&gt;
	if default == &amp;quot;&amp;quot; then&lt;br /&gt;
		default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if default == mode then&lt;br /&gt;
		return &amp;quot;geo-default&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;geo-nondefault&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
specPrinter&lt;br /&gt;
&lt;br /&gt;
Output formatter.  Takes the structure generated by either parseDec&lt;br /&gt;
or parseDMS and formats it for inclusion on Wikipedia.&lt;br /&gt;
]]&lt;br /&gt;
local function specPrinter(args, coordinateSpec)&lt;br /&gt;
	local uriComponents = coordinateSpec[&amp;quot;param&amp;quot;]&lt;br /&gt;
	if uriComponents == &amp;quot;&amp;quot; then&lt;br /&gt;
		-- RETURN error, should never be empty or nil&lt;br /&gt;
		return &amp;quot;ERROR param was empty&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		uriComponents = uriComponents .. &amp;quot;&amp;amp;title=&amp;quot; .. mw.uri.encode(coordinateSpec[&amp;quot;name&amp;quot;])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local geodmshtml = &#039;&amp;lt;span class=&amp;quot;geo-dms&amp;quot; title=&amp;quot;Maps, aerial photos, and other data for this location&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			.. &#039;&amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;&#039; .. coordinateSpec[&amp;quot;dms-lat&amp;quot;] .. &#039;&amp;lt;/span&amp;gt; &#039;&lt;br /&gt;
			.. &#039;&amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;&#039; ..coordinateSpec[&amp;quot;dms-long&amp;quot;] .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
			.. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local lat = tonumber( coordinateSpec[&amp;quot;dec-lat&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclat&lt;br /&gt;
	if lat &amp;lt; 0 then&lt;br /&gt;
		-- FIXME this breaks the pre-existing precision&lt;br /&gt;
		geodeclat = tostring(coordinateSpec[&amp;quot;dec-lat&amp;quot;]):sub(2) .. &amp;quot;°S&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		geodeclat = (coordinateSpec[&amp;quot;dec-lat&amp;quot;] or 0) .. &amp;quot;°N&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local long = tonumber( coordinateSpec[&amp;quot;dec-long&amp;quot;] ) or 0&lt;br /&gt;
	local geodeclong&lt;br /&gt;
	if long &amp;lt; 0 then&lt;br /&gt;
		-- FIXME does not handle unicode minus&lt;br /&gt;
		geodeclong = tostring(coordinateSpec[&amp;quot;dec-long&amp;quot;]):sub(2) .. &amp;quot;°W&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		geodeclong = (coordinateSpec[&amp;quot;dec-long&amp;quot;] or 0) .. &amp;quot;°E&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local geodechtml = &#039;&amp;lt;span class=&amp;quot;geo-dec&amp;quot; title=&amp;quot;Maps, aerial photos, and other data for this location&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			.. geodeclat .. &#039; &#039;&lt;br /&gt;
			.. geodeclong&lt;br /&gt;
			.. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local geonumhtml = &#039;&amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;&#039;&lt;br /&gt;
			.. coordinateSpec[&amp;quot;dec-lat&amp;quot;] .. &#039;; &#039;&lt;br /&gt;
			.. coordinateSpec[&amp;quot;dec-long&amp;quot;]&lt;br /&gt;
			.. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
	local inner = &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dms&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039; .. geodmshtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;geo-multi-punct&amp;quot;&amp;gt;&amp;amp;#xfeff; / &amp;amp;#xfeff;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span class=&amp;quot;&#039; .. displayDefault(coordinateSpec[&amp;quot;default&amp;quot;], &amp;quot;dec&amp;quot; ) .. &#039;&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
	if not args[&amp;quot;name&amp;quot;] then&lt;br /&gt;
		inner = inner .. geodechtml&lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		inner = inner .. &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039; .. geodechtml&lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; / &#039; .. geonumhtml .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
				.. &#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039;&lt;br /&gt;
				.. args[&amp;quot;name&amp;quot;] .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag{ name = &#039;templatestyles&#039;, args = { src = templatestyles} }&lt;br /&gt;
	       .. &#039;&amp;lt;span class=&amp;quot;plainlinks nourlexpansion&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	       .. &#039;[&#039; .. coord_link .. uriComponents .. &#039; &#039; .. inner .. &#039;]&#039;&lt;br /&gt;
	       .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees ]]&lt;br /&gt;
local function convert_dec2dms_d(coordinate)&lt;br /&gt;
	local d = math_mod._round( coordinate, 0 ) .. &amp;quot;°&amp;quot;&lt;br /&gt;
	return d .. &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees and minutes ]]&lt;br /&gt;
local function convert_dec2dms_dm(coordinate)&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60, 0 );&lt;br /&gt;
	local m = coordinate % 60;&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = coordinate % 360 ..&amp;quot;°&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return d .. string.format( &amp;quot;%02d′&amp;quot;, m )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ Helper function, convert decimal to degrees, minutes, and seconds ]]&lt;br /&gt;
local function convert_dec2dms_dms(coordinate)&lt;br /&gt;
	coordinate = math_mod._round( coordinate * 60 * 60, 0 );&lt;br /&gt;
	local s = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - s) / 60 );&lt;br /&gt;
	local m = coordinate % 60&lt;br /&gt;
	coordinate = math.floor( (coordinate - m) / 60 );&lt;br /&gt;
	local d = coordinate % 360 ..&amp;quot;°&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return d .. string.format( &amp;quot;%02d′&amp;quot;, m ) .. string.format( &amp;quot;%02d″&amp;quot;, s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function, convert decimal latitude or longitude to&lt;br /&gt;
degrees, minutes, and seconds format based on the specified precision.&lt;br /&gt;
]]&lt;br /&gt;
local function convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
	local coord = tonumber(coordinate)&lt;br /&gt;
	local postfix&lt;br /&gt;
	if coord &amp;gt;= 0 then&lt;br /&gt;
		postfix = firstPostfix&lt;br /&gt;
	else&lt;br /&gt;
		postfix = secondPostfix&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	precision = precision:lower();&lt;br /&gt;
	if precision == &amp;quot;dms&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dms( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;dm&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_dm( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	elseif precision == &amp;quot;d&amp;quot; then&lt;br /&gt;
		return convert_dec2dms_d( math.abs( coord ) ) .. postfix;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Convert DMS format into a N or E decimal coordinate&lt;br /&gt;
]]&lt;br /&gt;
local function convert_dms2dec(direction, degrees_str, minutes_str, seconds_str)&lt;br /&gt;
	local degrees = tonumber(degrees_str)&lt;br /&gt;
	local minutes = tonumber(minutes_str) or 0&lt;br /&gt;
	local seconds = tonumber(seconds_str) or 0&lt;br /&gt;
&lt;br /&gt;
	local factor = 1&lt;br /&gt;
	if direction == &amp;quot;S&amp;quot; or direction == &amp;quot;W&amp;quot; then&lt;br /&gt;
		factor = -1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local precision = 0&lt;br /&gt;
	if seconds_str then&lt;br /&gt;
		precision = 5 + math.max( math_mod._precision(seconds_str), 0 );&lt;br /&gt;
	elseif minutes_str and minutes_str ~= &#039;&#039; then&lt;br /&gt;
		precision = 3 + math.max( math_mod._precision(minutes_str), 0 );&lt;br /&gt;
	else&lt;br /&gt;
		precision = math.max( math_mod._precision(degrees_str), 0 );&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local decimal = factor * (degrees+(minutes+seconds/60)/60)&lt;br /&gt;
	return string.format( &amp;quot;%.&amp;quot; .. precision .. &amp;quot;f&amp;quot;, decimal ) -- not tonumber since this whole thing is string based.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Checks input values to for out of range errors.&lt;br /&gt;
]]&lt;br /&gt;
local function validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, source, strong )&lt;br /&gt;
	local errors = {};&lt;br /&gt;
	lat_d = tonumber( lat_d ) or 0;&lt;br /&gt;
	lat_m = tonumber( lat_m ) or 0;&lt;br /&gt;
	lat_s = tonumber( lat_s ) or 0;&lt;br /&gt;
	long_d = tonumber( long_d ) or 0;&lt;br /&gt;
	long_m = tonumber( long_m ) or 0;&lt;br /&gt;
	long_s = tonumber( long_s ) or 0;&lt;br /&gt;
&lt;br /&gt;
	if strong then&lt;br /&gt;
		if lat_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;latitude degrees &amp;lt; 0 with hemisphere flag&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		if long_d &amp;lt; 0 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;longitude degrees &amp;lt; 0 with hemisphere flag&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		--[[&lt;br /&gt;
		#coordinates is inconsistent about whether this is an error.  If globe: is&lt;br /&gt;
		specified, it won&#039;t error on this condition, but otherwise it will.&lt;br /&gt;
&lt;br /&gt;
		For not simply disable this check.&lt;br /&gt;
&lt;br /&gt;
		if long_d &amp;gt; 180 then&lt;br /&gt;
			table.insert(errors, {source, &amp;quot;longitude degrees &amp;gt; 180 with hemisphere flag&amp;quot;})&lt;br /&gt;
		end&lt;br /&gt;
		]]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if lat_d &amp;gt; 90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude degrees &amp;gt; 90&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_d &amp;lt; -90 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude degrees &amp;lt; -90&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude minutes &amp;gt;= 60&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude minutes &amp;lt; 0&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude seconds &amp;gt;= 60&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if lat_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;latitude seconds &amp;lt; 0&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;gt;= 360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude degrees &amp;gt;= 360&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_d &amp;lt;= -360 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude degrees &amp;lt;= -360&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude minutes &amp;gt;= 60&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_m &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude minutes &amp;lt; 0&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;gt;= 60 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude seconds &amp;gt;= 60&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
	if long_s &amp;lt; 0 then&lt;br /&gt;
		table.insert(errors, {source, &amp;quot;longitude seconds &amp;lt; 0&amp;quot;})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return errors;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDec&lt;br /&gt;
&lt;br /&gt;
Transforms decimal format latitude and longitude into the&lt;br /&gt;
structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDec( lat, long, format )&lt;br /&gt;
	local coordinateSpec = {}&lt;br /&gt;
	local errors = {}&lt;br /&gt;
&lt;br /&gt;
	if not long then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;Missing longitude&amp;quot;}}&lt;br /&gt;
	elseif not tonumber(long) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDec&amp;quot;, &amp;quot;Longitude could not be parsed as a number: &amp;quot; .. long}}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	errors = validate( lat, nil, nil, long, nil, nil, &#039;parseDec&#039;, false );&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = lat;&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = long;&lt;br /&gt;
&lt;br /&gt;
	local mode = coordinates.determineMode( lat, long );&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = convert_dec2dms( lat, &amp;quot;N&amp;quot;, &amp;quot;S&amp;quot;, mode)  -- {{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = convert_dec2dms( long, &amp;quot;E&amp;quot;, &amp;quot;W&amp;quot;, mode)  -- {{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}&lt;br /&gt;
&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dec&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
parseDMS&lt;br /&gt;
&lt;br /&gt;
Transforms degrees, minutes, seconds format latitude and longitude&lt;br /&gt;
into the a structure to be used in displaying coordinates&lt;br /&gt;
]]&lt;br /&gt;
local function parseDMS( lat_d, lat_m, lat_s, lat_f, long_d, long_m, long_s, long_f, format )&lt;br /&gt;
	local coordinateSpec, errors, backward = {}, {}&lt;br /&gt;
&lt;br /&gt;
	lat_f = lat_f:upper();&lt;br /&gt;
	long_f = long_f:upper();&lt;br /&gt;
&lt;br /&gt;
	-- Check if specified backward&lt;br /&gt;
	if lat_f == &#039;E&#039; or lat_f == &#039;W&#039; then&lt;br /&gt;
		lat_d, long_d, lat_m, long_m, lat_s, long_s, lat_f, long_f, backward = long_d, lat_d, long_m, lat_m, long_s, lat_s, long_f, lat_f, true;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	errors = validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, &#039;parseDMS&#039;, true );&lt;br /&gt;
	if not long_d then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;Missing longitude&amp;quot; }}&lt;br /&gt;
	elseif not tonumber(long_d) then&lt;br /&gt;
		return nil, {{&amp;quot;parseDMS&amp;quot;, &amp;quot;Longitude could not be parsed as a number:&amp;quot; .. long_d }}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not lat_m and not lat_s and not long_m and not long_s and #errors == 0 then&lt;br /&gt;
		if math_mod._precision( lat_d ) &amp;gt; 0 or math_mod._precision( long_d ) &amp;gt; 0 then&lt;br /&gt;
			if lat_f:upper() == &#039;S&#039; then&lt;br /&gt;
				lat_d = &#039;-&#039; .. lat_d;&lt;br /&gt;
			end&lt;br /&gt;
			if long_f:upper() == &#039;W&#039; then&lt;br /&gt;
				long_d = &#039;-&#039; .. long_d;&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			return parseDec( lat_d, long_d, format );&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-lat&amp;quot;]  = lat_d..&amp;quot;°&amp;quot;..optionalArg(lat_m,&amp;quot;′&amp;quot;) .. optionalArg(lat_s,&amp;quot;″&amp;quot;) .. lat_f&lt;br /&gt;
	coordinateSpec[&amp;quot;dms-long&amp;quot;] = long_d..&amp;quot;°&amp;quot;..optionalArg(long_m,&amp;quot;′&amp;quot;) .. optionalArg(long_s,&amp;quot;″&amp;quot;) .. long_f&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-lat&amp;quot;]  = convert_dms2dec(lat_f, lat_d, lat_m, lat_s) -- {{coord/dms2dec|{{{4}}}|{{{1}}}|0{{{2}}}|0{{{3}}}}}&lt;br /&gt;
	coordinateSpec[&amp;quot;dec-long&amp;quot;] = convert_dms2dec(long_f, long_d, long_m, long_s) -- {{coord/dms2dec|{{{8}}}|{{{5}}}|0{{{6}}}|0{{{7}}}}}&lt;br /&gt;
&lt;br /&gt;
	if format then&lt;br /&gt;
		coordinateSpec.default = format&lt;br /&gt;
	else&lt;br /&gt;
		coordinateSpec.default = &amp;quot;dms&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return coordinateSpec, errors, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Check the input arguments for coord to determine the kind of data being provided&lt;br /&gt;
and then make the necessary processing.&lt;br /&gt;
]]&lt;br /&gt;
local function formatTest(args)&lt;br /&gt;
	local result, errors&lt;br /&gt;
	local backward, primary = false, false&lt;br /&gt;
&lt;br /&gt;
	local function getParam(args, lim)&lt;br /&gt;
		local ret = {}&lt;br /&gt;
		for i = 1, lim do&lt;br /&gt;
			ret[i] = args[i] or &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(ret, &#039;_&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		-- no lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;Missing latitude&amp;quot;}} )&lt;br /&gt;
	elseif not tonumber(args[1]) then&lt;br /&gt;
		-- bad lat logic&lt;br /&gt;
		return errorPrinter( {{&amp;quot;formatTest&amp;quot;, &amp;quot;Unable to parse latitude as a number:&amp;quot; .. args[1]}} )&lt;br /&gt;
	elseif not args[4] and not args[5] and not args[6] then&lt;br /&gt;
		-- dec logic&lt;br /&gt;
		result, errors = parseDec(args[1], args[2], args.format)&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors);&lt;br /&gt;
		end&lt;br /&gt;
		-- formatting for geohack: geohack expects D_N_D_E notation or D;D notation&lt;br /&gt;
		-- wikiminiatlas doesn&#039;t support D;D notation&lt;br /&gt;
		-- #coordinates parserfunction doesn&#039;t support negative decimals with NSWE&lt;br /&gt;
		result.param = table.concat({&lt;br /&gt;
			math.abs(tonumber(args[1])),&lt;br /&gt;
			((tonumber(args[1]) or 0) &amp;lt; 0) and &#039;S&#039; or &#039;N&#039;,&lt;br /&gt;
			math.abs(tonumber(args[2])),&lt;br /&gt;
			((tonumber(args[2]) or 0) &amp;lt; 0) and &#039;W&#039; or &#039;E&#039;,&lt;br /&gt;
			args[3] or &#039;&#039;}, &#039;_&#039;)&lt;br /&gt;
	elseif dmsTest(args[4], args[8]) then&lt;br /&gt;
		-- dms logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], args[3], args[4],&lt;br /&gt;
			args[5], args[6], args[7], args[8], args.format)&lt;br /&gt;
		if args[10] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;Extra unexpected parameters&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 9)&lt;br /&gt;
	elseif dmsTest(args[3], args[6]) then&lt;br /&gt;
		-- dm logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], args[2], nil, args[3],&lt;br /&gt;
			args[4], args[5], nil, args[6], args[&#039;format&#039;])&lt;br /&gt;
		if args[8] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;Extra unexpected parameters&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 7)&lt;br /&gt;
	elseif dmsTest(args[2], args[4]) then&lt;br /&gt;
		-- d logic&lt;br /&gt;
		result, errors, backward = parseDMS(args[1], nil, nil, args[2],&lt;br /&gt;
			args[3], nil, nil, args[4], args.format)&lt;br /&gt;
		if args[6] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;Extra unexpected parameters&#039;})&lt;br /&gt;
		end&lt;br /&gt;
		if not result then&lt;br /&gt;
			return errorPrinter(errors)&lt;br /&gt;
		end&lt;br /&gt;
		result.param = getParam(args, 5)&lt;br /&gt;
	else&lt;br /&gt;
		-- Error&lt;br /&gt;
		return errorPrinter({{&amp;quot;formatTest&amp;quot;, &amp;quot;Unknown argument format&amp;quot;}}) .. &#039;[[Category:Pages with malformed coordinate tags]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	result.name = args.name&lt;br /&gt;
&lt;br /&gt;
	local extra_param = {&#039;dim&#039;, &#039;globe&#039;, &#039;scale&#039;, &#039;region&#039;, &#039;source&#039;, &#039;type&#039;}&lt;br /&gt;
	for _, v in ipairs(extra_param) do&lt;br /&gt;
		if args[v] then&lt;br /&gt;
			table.insert(errors, {&#039;formatTest&#039;, &#039;Parameter: &amp;quot;&#039; .. v .. &#039;=&amp;quot; should be &amp;quot;&#039; .. v .. &#039;:&amp;quot;&#039; })&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local ret = specPrinter(args, result)&lt;br /&gt;
	if #errors &amp;gt; 0 then&lt;br /&gt;
		ret = ret .. &#039; &#039; .. errorPrinter(errors) .. &#039;[[Category:Pages with malformed coordinate tags]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret, backward&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Generate Wikidata tracking categories.&lt;br /&gt;
]]&lt;br /&gt;
local function makeWikidataCategories(qid)&lt;br /&gt;
	local ret&lt;br /&gt;
	local qid = qid or mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	if mw.wikibase and current_page.namespace == 0 then&lt;br /&gt;
		if qid and mw.wikibase.entityExists(qid) and mw.wikibase.getBestStatements(qid, &amp;quot;P625&amp;quot;) and mw.wikibase.getBestStatements(qid, &amp;quot;P625&amp;quot;)[1] then&lt;br /&gt;
			local snaktype = mw.wikibase.getBestStatements(qid, &amp;quot;P625&amp;quot;)[1].mainsnak.snaktype&lt;br /&gt;
			if snaktype == &#039;value&#039; then&lt;br /&gt;
				-- coordinates exist both here and on Wikidata, and can be compared.&lt;br /&gt;
				ret = &#039;Coordinates on Wikidata&#039;&lt;br /&gt;
			elseif snaktype == &#039;somevalue&#039; then&lt;br /&gt;
				ret = &#039;Coordinates on Wikidata set to unknown value&#039;&lt;br /&gt;
			elseif snaktype == &#039;novalue&#039; then&lt;br /&gt;
				ret = &#039;Coordinates on Wikidata set to no value&#039;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- We have to either import the coordinates to Wikidata or remove them here.&lt;br /&gt;
			ret = &#039;Coordinates not on Wikidata&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if ret then&lt;br /&gt;
		return string.format(&#039;[[Category:%s]]&#039;, ret)&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
link&lt;br /&gt;
&lt;br /&gt;
Simple function to export the coordinates link for other uses.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | link }}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.link(frame)&lt;br /&gt;
	return coord_link;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dec2dms&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dec2dms directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dec2dms | decimal_coordinate | positive_suffix |&lt;br /&gt;
		negative_suffix | precision }}&lt;br /&gt;
&lt;br /&gt;
decimal_coordinate is converted to DMS format.  If positive, the positive_suffix&lt;br /&gt;
is appended (typical N or E), if negative, the negative suffix is appended.  The&lt;br /&gt;
specified precision is one of &#039;D&#039;, &#039;DM&#039;, or &#039;DMS&#039; to specify the level of detail&lt;br /&gt;
to use.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dec2dms = makeInvokeFunc(&#039;_dec2dms&#039;)&lt;br /&gt;
function coordinates._dec2dms(args)&lt;br /&gt;
	local coordinate = args[1]&lt;br /&gt;
	local firstPostfix = args[2] or &#039;&#039;&lt;br /&gt;
	local secondPostfix = args[3] or &#039;&#039;&lt;br /&gt;
	local precision = args[4] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	return convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to determine whether to use D, DM, or DMS&lt;br /&gt;
format depending on the precision of the decimal input.&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.determineMode( value1, value2 )&lt;br /&gt;
	local precision = math.max( math_mod._precision( value1 ), math_mod._precision( value2 ) );&lt;br /&gt;
	if precision &amp;lt;= 0 then&lt;br /&gt;
		return &#039;d&#039;&lt;br /&gt;
	elseif precision &amp;lt;= 2 then&lt;br /&gt;
		return &#039;dm&#039;;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;dms&#039;;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
dms2dec&lt;br /&gt;
&lt;br /&gt;
Wrapper to allow templates to call dms2dec directly.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | dms2dec | direction_flag | degrees |&lt;br /&gt;
		minutes | seconds }}&lt;br /&gt;
&lt;br /&gt;
Converts DMS values specified as degrees, minutes, seconds too decimal format.&lt;br /&gt;
direction_flag is one of N, S, E, W, and determines whether the output is&lt;br /&gt;
positive (i.e. N and E) or negative (i.e. S and W).&lt;br /&gt;
]]&lt;br /&gt;
coordinates.dms2dec = makeInvokeFunc(&#039;_dms2dec&#039;)&lt;br /&gt;
function coordinates._dms2dec(args)&lt;br /&gt;
	local direction = args[1]&lt;br /&gt;
	local degrees = args[2]&lt;br /&gt;
	local minutes = args[3]&lt;br /&gt;
	local seconds = args[4]&lt;br /&gt;
&lt;br /&gt;
	return convert_dms2dec(direction, degrees, minutes, seconds)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord&lt;br /&gt;
&lt;br /&gt;
Main entry point for Lua function to replace {{coord}}&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
	{{#invoke:Coordinates | coord }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | long }}&lt;br /&gt;
	{{#invoke:Coordinates | coord | lat | lat_flag | long | long_flag }}&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
	Refer to {{coord}} documentation page for many additional parameters and&lt;br /&gt;
	configuration options.&lt;br /&gt;
&lt;br /&gt;
Note: This function provides the visual display elements of {{coord}}.  In&lt;br /&gt;
order to load coordinates into the database, the {{#coordinates:}} parser&lt;br /&gt;
function must also be called, this is done automatically in the Lua&lt;br /&gt;
version of {{coord}}.&lt;br /&gt;
]]&lt;br /&gt;
coordinates.coord = makeInvokeFunc(&#039;_coord&#039;)&lt;br /&gt;
function coordinates._coord(args)&lt;br /&gt;
	if not tonumber(args[1]) and not args[2] then&lt;br /&gt;
		args[3] = args[1]; args[1] = nil&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject(args.qid)&lt;br /&gt;
		if entity&lt;br /&gt;
			and entity.claims&lt;br /&gt;
			and entity.claims.P625&lt;br /&gt;
			and entity.claims.P625[1].mainsnak.snaktype == &#039;value&#039;&lt;br /&gt;
		then&lt;br /&gt;
			local precision = entity.claims.P625[1].mainsnak.datavalue.value.precision&lt;br /&gt;
			args[1] = entity.claims.P625[1].mainsnak.datavalue.value.latitude&lt;br /&gt;
			args[2] = entity.claims.P625[1].mainsnak.datavalue.value.longitude&lt;br /&gt;
			if precision then&lt;br /&gt;
				precision = -math_mod._round(math.log(precision)/math.log(10),0)&lt;br /&gt;
				args[1] = math_mod._round(args[1],precision)&lt;br /&gt;
				args[2] = math_mod._round(args[2],precision)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local contents, backward = formatTest(args)&lt;br /&gt;
	local Notes = args.notes or &#039;&#039;&lt;br /&gt;
	local Display = args.display and args.display:lower() or &#039;inline&#039;&lt;br /&gt;
&lt;br /&gt;
	local function isInline(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed inline.&lt;br /&gt;
		return s:find(&#039;inline&#039;) ~= nil or s == &#039;i&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function isInTitle(s)&lt;br /&gt;
		-- Finds whether coordinates are displayed in the title.&lt;br /&gt;
		return s:find(&#039;title&#039;) ~= nil or s == &#039;t&#039; or s == &#039;it&#039; or s == &#039;ti&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function coord_wrapper(in_args)&lt;br /&gt;
		-- Calls the parser function {{#coordinates:}}.&lt;br /&gt;
		return mw.getCurrentFrame():callParserFunction(&#039;#coordinates&#039;, in_args) or &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if isInline(Display) then&lt;br /&gt;
		text = text .. displayinline(contents, Notes)&lt;br /&gt;
	end&lt;br /&gt;
	if isInTitle(Display) then&lt;br /&gt;
		text = text&lt;br /&gt;
			.. displaytitle(contents, Notes)&lt;br /&gt;
			.. makeWikidataCategories(args.qid)&lt;br /&gt;
	end&lt;br /&gt;
	if not args.nosave then&lt;br /&gt;
		local page_title, count = mw.title.getCurrentTitle(), 1&lt;br /&gt;
		if backward then&lt;br /&gt;
			local tmp = {}&lt;br /&gt;
			while not string.find((args[count-1] or &#039;&#039;), &#039;[EW]&#039;) do tmp[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
			tmp.count = count; count = 2*(count-1)&lt;br /&gt;
			while count &amp;gt;= tmp.count do table.insert(tmp, 1, (args[count] or &#039;&#039;)); count = count-1 end&lt;br /&gt;
			for i, v in ipairs(tmp) do args[i] = v end&lt;br /&gt;
		else&lt;br /&gt;
			while count &amp;lt;= 9 do args[count] = (args[count] or &#039;&#039;); count = count+1 end&lt;br /&gt;
		end&lt;br /&gt;
		if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= &#039;doc&#039; and page_title.subpageText ~= &#039;testcases&#039; then args[10] = &#039;primary&#039; end&lt;br /&gt;
		args.notes, args.format, args.display = nil&lt;br /&gt;
		text = text .. coord_wrapper(args)&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coord2text&lt;br /&gt;
&lt;br /&gt;
Extracts a single value from a transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coord2text | {{Coord}} | parameter }}&lt;br /&gt;
&lt;br /&gt;
Valid values for the second parameter are: lat (signed integer), long (signed integer), type, scale, dim, region, globe, source&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coord2text(frame)&lt;br /&gt;
	if frame.args[1] == &#039;&#039; or frame.args[2] == &#039;&#039; or not frame.args[2] then return nil end&lt;br /&gt;
	frame.args[2] = mw.text.trim(frame.args[2])&lt;br /&gt;
	if frame.args[2] == &#039;lat&#039; or frame.args[2] == &#039;long&#039; then&lt;br /&gt;
		local result, negative = mw.text.split((mw.ustring.match(frame.args[1],&#039;[%.%d]+°[NS] [%.%d]+°[EW]&#039;) or &#039;&#039;), &#039; &#039;)&lt;br /&gt;
		if frame.args[2] == &#039;lat&#039; then&lt;br /&gt;
			result, negative = result[1], &#039;S&#039;&lt;br /&gt;
		else&lt;br /&gt;
			result, negative = result[2], &#039;W&#039;&lt;br /&gt;
		end&lt;br /&gt;
		result = mw.text.split(result, &#039;°&#039;)&lt;br /&gt;
		if result[2] == negative then result[1] = &#039;-&#039;..result[1] end&lt;br /&gt;
		return result[1]&lt;br /&gt;
	else&lt;br /&gt;
		return mw.ustring.match(frame.args[1], &#039;params=.-_&#039;..frame.args[2]..&#039;:(.-)[ _]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
coordinsert&lt;br /&gt;
&lt;br /&gt;
Injects some text into the Geohack link of a transclusion of {{Coord}} (if that text isn&#039;t already in the transclusion). Outputs the modified transclusion of {{Coord}}.&lt;br /&gt;
IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
    {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }}&lt;br /&gt;
&lt;br /&gt;
Do not make Geohack unhappy by inserting something which isn&#039;t mentioned in the {{Coord}} documentation.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
function coordinates.coordinsert(frame)&lt;br /&gt;
	for i, v in ipairs(frame.args) do&lt;br /&gt;
		if i ~= 1 then&lt;br /&gt;
			if not mw.ustring.find(frame.args[1], (mw.ustring.match(frame.args[i], &#039;^(.-:)&#039;) or &#039;&#039;)) then&lt;br /&gt;
				frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(params=.-)_? &#039;, &#039;%1_&#039;..frame.args[i]..&#039; &#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if frame.args.name then&lt;br /&gt;
		if not mw.ustring.find(frame.args[1], &#039;&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&#039;) then&lt;br /&gt;
			local namestr = frame.args.name&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1],&lt;br /&gt;
				&#039;(&amp;lt;span class=&amp;quot;geo%-default&amp;quot;&amp;gt;)(&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;span[^&amp;lt;&amp;gt;]*&amp;gt;[^&amp;lt;&amp;gt;]*&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;)(&amp;lt;/span&amp;gt;)&#039;,&lt;br /&gt;
				&#039;%1&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;%2&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;amp;#xfeff; (&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;&#039; .. namestr .. &#039;&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;%3&#039;)&lt;br /&gt;
			frame.args[1] = mw.ustring.gsub(frame.args[1], &#039;(&amp;amp;params=[^&amp;amp;&amp;quot;&amp;lt;&amp;gt;%[%] ]*) &#039;, &#039;%1&amp;amp;title=&#039; .. mw.uri.encode(namestr) .. &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return frame.args[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return coordinates&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:If_empty&amp;diff=4803</id>
		<title>模块:If empty</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:If_empty&amp;diff=4803"/>
		<updated>2022-11-30T23:22:47Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {wrappers = &#039;Template:If empty&#039;, removeBlanks = false})&lt;br /&gt;
&lt;br /&gt;
	local lastk = 0&lt;br /&gt;
	for k,v in ipairs(args) do&lt;br /&gt;
		if v ~= &#039;&#039; then&lt;br /&gt;
			return v&lt;br /&gt;
		end&lt;br /&gt;
		lastk = k&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Internal_link_helper/en&amp;diff=4801</id>
		<title>模板:Internal link helper/en</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Internal_link_helper/en&amp;diff=4801"/>
		<updated>2022-11-30T23:22:47Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:ilh|main |lang-code=en |1={{{1|{{{2|}}}}}} |2={{{2|}}} |d={{{d|{{{3|}}}}}} |nocat={{{nocat|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Internal link helper/doc}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:If_empty&amp;diff=4799</id>
		<title>模板:If empty</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:If_empty&amp;diff=4799"/>
		<updated>2022-11-30T23:22:45Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:If empty|main}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Wikidata-i18n&amp;diff=4797</id>
		<title>模块:Wikidata-i18n</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Wikidata-i18n&amp;diff=4797"/>
		<updated>2022-11-30T23:22:45Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- vim: set noexpandtab ft=lua ts=4 sw=4:&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
local r = {}&lt;br /&gt;
&lt;br /&gt;
-- internationalisation&lt;br /&gt;
r.i18n = &lt;br /&gt;
{&lt;br /&gt;
    [&amp;quot;errors&amp;quot;] =&lt;br /&gt;
    {&lt;br /&gt;
        [&amp;quot;property-not-found&amp;quot;] = &amp;quot;未找到属性。&amp;quot;,&lt;br /&gt;
        [&amp;quot;entity-not-found&amp;quot;] = &amp;quot;未找到Wikidata实体。&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;未知声称类型。&amp;quot;,&lt;br /&gt;
        [&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;未知实体类型。&amp;quot;,&lt;br /&gt;
        [&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;未找到修饰词。&amp;quot;,&lt;br /&gt;
        [&amp;quot;site-not-found&amp;quot;] = &amp;quot;未找到维基媒体项目。&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;未知日期时间格式。&amp;quot;,&lt;br /&gt;
		[&amp;quot;local-article-not-found&amp;quot;] = &amp;quot;此维基尚无此条目&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    [&amp;quot;datetime&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		-- $1 is a placeholder for the actual number&lt;br /&gt;
		[0] = &amp;quot;$10亿年&amp;quot;,	-- precision: billion years&lt;br /&gt;
		[1] = &amp;quot;$1亿年&amp;quot;,	-- precision: hundred million years&lt;br /&gt;
		[2] = &amp;quot;$1000万年&amp;quot;,	-- precision: ten million years&lt;br /&gt;
		[3] = &amp;quot;$100万年&amp;quot;,	-- precision: million years&lt;br /&gt;
		[4] = &amp;quot;$10万年&amp;quot;,		-- precision: hundred thousand years&lt;br /&gt;
		[5] = &amp;quot;$1万年&amp;quot;,		-- precision: ten thousand years&lt;br /&gt;
		[6] = &amp;quot;$1千年&amp;quot;,	 	-- precision: millennium&lt;br /&gt;
		[7] = &amp;quot;$1世纪&amp;quot;,			-- precision: century&lt;br /&gt;
		[8] = &amp;quot;$1年代&amp;quot;,				-- precision: decade&lt;br /&gt;
		-- the following use the format of #time parser function&lt;br /&gt;
		[9]  = &amp;quot;Y年&amp;quot;,					-- precision: year, &lt;br /&gt;
		[10] = &amp;quot;Y年n月&amp;quot;,				-- precision: month&lt;br /&gt;
		[11] = &amp;quot;Y年n月j日&amp;quot;,			-- precision: day&lt;br /&gt;
		[12] = &amp;quot;Y年n月j日G时&amp;quot;,			-- precision: hour&lt;br /&gt;
		[13] = &amp;quot;Y年n月j日G:i&amp;quot;,		-- precision: minute&lt;br /&gt;
		[14] = &amp;quot;Y年n月j日G:i:s&amp;quot;,		-- precision: second&lt;br /&gt;
		[&amp;quot;beforenow&amp;quot;] = &amp;quot;公元前$1&amp;quot;,	-- how to format negative numbers for precisions 0 to 5&lt;br /&gt;
		[&amp;quot;afternow&amp;quot;] = &amp;quot;公元$1&amp;quot;,		-- how to format positive numbers for precisions 0 to 5&lt;br /&gt;
		[&amp;quot;bc&amp;quot;] = &#039;公元前$1&#039;,		-- how print negative years&lt;br /&gt;
		[&amp;quot;ad&amp;quot;] = &amp;quot;$1&amp;quot;,				-- how print positive years&lt;br /&gt;
		-- the following are for function getDateValue() and getQualifierDateValue()&lt;br /&gt;
		[&amp;quot;default-format&amp;quot;] = &amp;quot;ymd&amp;quot;, -- default value of the #3 (getDateValue) or&lt;br /&gt;
								    -- #4 (getQualifierDateValue) argument&lt;br /&gt;
		[&amp;quot;default-addon&amp;quot;] = &amp;quot;公元前&amp;quot;,   -- default value of the #4 (getDateValue) or&lt;br /&gt;
									-- #5 (getQualifierDateValue) argument&lt;br /&gt;
		[&amp;quot;prefix-addon&amp;quot;] = true,   -- set to true for languages put &amp;quot;BC&amp;quot; in front of the&lt;br /&gt;
									-- datetime string; or the addon will be suffixed&lt;br /&gt;
		[&amp;quot;addon-sep&amp;quot;] = &amp;quot;&amp;quot;,		-- separator between datetime string and addon (or inverse)&lt;br /&gt;
		[&amp;quot;format&amp;quot;] =				-- options of the 3rd argument&lt;br /&gt;
		{&lt;br /&gt;
			[&amp;quot;mdy&amp;quot;] = &amp;quot;Y年n月j日&amp;quot;, -- this is actually ymd but not mdy, just for backward-compatible&lt;br /&gt;
			[&amp;quot;my&amp;quot;] = &amp;quot;Y年n月&amp;quot;,&lt;br /&gt;
			[&amp;quot;y&amp;quot;] = &amp;quot;Y年&amp;quot;,&lt;br /&gt;
			[&amp;quot;dmy&amp;quot;] = &amp;quot;Y年n月j日&amp;quot;,&lt;br /&gt;
			[&amp;quot;ymd&amp;quot;] = &amp;quot;Y年n月j日&amp;quot;,&lt;br /&gt;
			[&amp;quot;ym&amp;quot;] = &amp;quot;Y年n月&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;monolingualtext&amp;quot;] = &#039;&amp;lt;span lang=&amp;quot;%language&amp;quot;&amp;gt;%text&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	[&amp;quot;warnDump&amp;quot;] = &amp;quot;[[Category:在Wikidata模块中使用了Dump函数]]&amp;quot;,&lt;br /&gt;
	[&amp;quot;ordinal&amp;quot;] = &lt;br /&gt;
	{&lt;br /&gt;
		[1] = &amp;quot;&amp;quot;,&lt;br /&gt;
		[2] = &amp;quot;&amp;quot;,&lt;br /&gt;
		[3] = &amp;quot;&amp;quot;,&lt;br /&gt;
		[&amp;quot;default&amp;quot;] = &amp;quot;&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return r&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Wikidata&amp;diff=4795</id>
		<title>模块:Wikidata</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E5%9D%97:Wikidata&amp;diff=4795"/>
		<updated>2022-11-30T23:22:44Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- vim: set noexpandtab ft=lua ts=4 sw=4:&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local debug = false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
-- module local variables and functions&lt;br /&gt;
&lt;br /&gt;
local wiki =&lt;br /&gt;
{&lt;br /&gt;
	langcode = mw.language.getContentLanguage().code&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- internationalisation&lt;br /&gt;
local i18n =&lt;br /&gt;
{&lt;br /&gt;
	[&amp;quot;errors&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		[&amp;quot;property-not-found&amp;quot;] = &amp;quot;Property not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;entity-not-found&amp;quot;] = &amp;quot;Wikidata entity not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-claim-type&amp;quot;] = &amp;quot;Unknown claim type.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-entity-type&amp;quot;] = &amp;quot;Unknown entity type.&amp;quot;,&lt;br /&gt;
		[&amp;quot;qualifier-not-found&amp;quot;] = &amp;quot;Qualifier not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;site-not-found&amp;quot;] = &amp;quot;Wikimedia project not found.&amp;quot;,&lt;br /&gt;
		[&amp;quot;unknown-datetime-format&amp;quot;] = &amp;quot;Unknown datetime format.&amp;quot;,&lt;br /&gt;
		[&amp;quot;local-article-not-found&amp;quot;] = &amp;quot;Article is not yet available in this wiki.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;datetime&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		-- $1 is a placeholder for the actual number&lt;br /&gt;
		[0] = &amp;quot;$1 billion years&amp;quot;,	-- precision: billion years&lt;br /&gt;
		[1] = &amp;quot;$100 million years&amp;quot;,	-- precision: hundred million years&lt;br /&gt;
		[2] = &amp;quot;$10 million years&amp;quot;,	-- precision: ten million years&lt;br /&gt;
		[3] = &amp;quot;$1 million years&amp;quot;,	-- precision: million years&lt;br /&gt;
		[4] = &amp;quot;$100,000 years&amp;quot;,		-- precision: hundred thousand years&lt;br /&gt;
		[5] = &amp;quot;$10,000 years&amp;quot;,		-- precision: ten thousand years&lt;br /&gt;
		[6] = &amp;quot;$1 millennium&amp;quot;,		-- precision: millennium&lt;br /&gt;
		[7] = &amp;quot;$1 century&amp;quot;,			-- precision: century&lt;br /&gt;
		[8] = &amp;quot;$1s&amp;quot;,				-- precision: decade&lt;br /&gt;
		-- the following use the format of #time parser function&lt;br /&gt;
		[9]  = &amp;quot;Y&amp;quot;,					-- precision: year,&lt;br /&gt;
		[10] = &amp;quot;F Y&amp;quot;,				-- precision: month&lt;br /&gt;
		[11] = &amp;quot;F j, Y&amp;quot;,			-- precision: day&lt;br /&gt;
		[12] = &amp;quot;F j, Y ga&amp;quot;,			-- precision: hour&lt;br /&gt;
		[13] = &amp;quot;F j, Y g:ia&amp;quot;,		-- precision: minute&lt;br /&gt;
		[14] = &amp;quot;F j, Y g:i:sa&amp;quot;,		-- precision: second&lt;br /&gt;
		[&amp;quot;beforenow&amp;quot;] = &amp;quot;$1 BCE&amp;quot;,	-- how to format negative numbers for precisions 0 to 5&lt;br /&gt;
		[&amp;quot;afternow&amp;quot;] = &amp;quot;$1 CE&amp;quot;,		-- how to format positive numbers for precisions 0 to 5&lt;br /&gt;
		[&amp;quot;bc&amp;quot;] = &#039;$1 &amp;quot;BCE&amp;quot;&#039;,		-- how print negative years&lt;br /&gt;
		[&amp;quot;ad&amp;quot;] = &amp;quot;$1&amp;quot;,				-- how print positive years&lt;br /&gt;
		-- the following are for function getDateValue() and getQualifierDateValue()&lt;br /&gt;
		[&amp;quot;default-format&amp;quot;] = &amp;quot;dmy&amp;quot;, -- default value of the #3 (getDateValue) or&lt;br /&gt;
									-- #4 (getQualifierDateValue) argument&lt;br /&gt;
		[&amp;quot;default-addon&amp;quot;] = &amp;quot;BC&amp;quot;,	-- default value of the #4 (getDateValue) or&lt;br /&gt;
									-- #5 (getQualifierDateValue) argument&lt;br /&gt;
		[&amp;quot;prefix-addon&amp;quot;] = false,	-- set to true for languages put &amp;quot;BC&amp;quot; in front of the&lt;br /&gt;
									-- datetime string; or the addon will be suffixed&lt;br /&gt;
		[&amp;quot;addon-sep&amp;quot;] = &amp;quot; &amp;quot;,		-- separator between datetime string and addon (or inverse)&lt;br /&gt;
		[&amp;quot;format&amp;quot;] =				-- options of the 3rd argument&lt;br /&gt;
		{&lt;br /&gt;
			[&amp;quot;mdy&amp;quot;] = &amp;quot;F j, Y&amp;quot;,&lt;br /&gt;
			[&amp;quot;my&amp;quot;] = &amp;quot;F Y&amp;quot;,&lt;br /&gt;
			[&amp;quot;y&amp;quot;] = &amp;quot;Y&amp;quot;,&lt;br /&gt;
			[&amp;quot;dmy&amp;quot;] = &amp;quot;j F Y&amp;quot;,&lt;br /&gt;
			[&amp;quot;ymd&amp;quot;] = &amp;quot;Y-m-d&amp;quot;,&lt;br /&gt;
			[&amp;quot;ym&amp;quot;] = &amp;quot;Y-m&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	[&amp;quot;monolingualtext&amp;quot;] = &#039;&amp;lt;span lang=&amp;quot;%language&amp;quot;&amp;gt;%text&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	[&amp;quot;warnDump&amp;quot;] = &amp;quot;[[Category:Called function &#039;Dump&#039; from module Wikidata]]&amp;quot;,&lt;br /&gt;
	[&amp;quot;ordinal&amp;quot;] =&lt;br /&gt;
	{&lt;br /&gt;
		[1] = &amp;quot;st&amp;quot;,&lt;br /&gt;
		[2] = &amp;quot;nd&amp;quot;,&lt;br /&gt;
		[3] = &amp;quot;rd&amp;quot;,&lt;br /&gt;
		[&amp;quot;default&amp;quot;] = &amp;quot;th&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--require(&amp;quot;Module:i18n&amp;quot;).loadI18n(&amp;quot;Module:Wikidata/i18n&amp;quot;, i18n)&lt;br /&gt;
-- got idea from [[:w:Module:Wd]]&lt;br /&gt;
local module_title; if ... == nil then&lt;br /&gt;
	module_title = mw.getCurrentFrame():getTitle()&lt;br /&gt;
else&lt;br /&gt;
	module_title = ...&lt;br /&gt;
end&lt;br /&gt;
require(&#039;Module:i18n&#039;).loadI18n(module_title..&#039;-i18n&#039;, i18n)&lt;br /&gt;
&lt;br /&gt;
-- this function needs to be internationalised along with the above:&lt;br /&gt;
-- takes cardinal numer as a numeric and returns the ordinal as a string&lt;br /&gt;
-- we need three exceptions in English for 1st, 2nd, 3rd, 21st, .. 31st, etc.&lt;br /&gt;
local function makeOrdinal (cardinal)&lt;br /&gt;
	local ordsuffix = i18n.ordinal.default&lt;br /&gt;
	if cardinal % 10 == 1 then&lt;br /&gt;
		ordsuffix = i18n.ordinal[1]&lt;br /&gt;
	elseif cardinal % 10 == 2 then&lt;br /&gt;
		ordsuffix = i18n.ordinal[2]&lt;br /&gt;
	elseif cardinal % 10 == 3 then&lt;br /&gt;
		ordsuffix = i18n.ordinal[3]&lt;br /&gt;
	end&lt;br /&gt;
	-- In English, 1, 21, 31, etc. use &#039;st&#039;, but 11, 111, etc. use &#039;th&#039;&lt;br /&gt;
	-- similarly for 12 and 13, etc.&lt;br /&gt;
	if (cardinal % 100 == 11) or (cardinal % 100 == 12) or (cardinal % 100 == 13) then&lt;br /&gt;
		ordsuffix = i18n.ordinal.default&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(cardinal) .. ordsuffix&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function printError(code)&lt;br /&gt;
	return &#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&#039; .. (i18n.errors[code] or code) .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
local function parseDateFormat(f, timestamp, addon, prefix_addon, addon_sep) &lt;br /&gt;
	local year_suffix&lt;br /&gt;
	local tstr = &amp;quot;&amp;quot;&lt;br /&gt;
	local lang_obj = mw.language.new(wiki.langcode)&lt;br /&gt;
	local f_parts = mw.text.split(f, &#039;Y&#039;, true)&lt;br /&gt;
	for idx, f_part in pairs(f_parts) do&lt;br /&gt;
		year_suffix = &#039;&#039;&lt;br /&gt;
		if string.match(f_part, &amp;quot;x[mijkot]$&amp;quot;) then&lt;br /&gt;
			-- for non-Gregorian year&lt;br /&gt;
			f_part = f_part .. &#039;Y&#039;&lt;br /&gt;
		elseif idx &amp;lt; #f_parts then&lt;br /&gt;
			-- supress leading zeros in year&lt;br /&gt;
			year_suffix = lang_obj:formatDate(&#039;Y&#039;, timestamp)&lt;br /&gt;
			year_suffix = string.gsub(year_suffix, &#039;^0+&#039;, &#039;&#039;, 1)&lt;br /&gt;
		end&lt;br /&gt;
		tstr = tstr .. lang_obj:formatDate(f_part, timestamp) .. year_suffix&lt;br /&gt;
	end&lt;br /&gt;
	if addon ~= &amp;quot;&amp;quot; and prefix_addon then&lt;br /&gt;
		return addon .. addon_sep .. tstr&lt;br /&gt;
	elseif addon ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return tstr .. addon_sep .. addon&lt;br /&gt;
	else&lt;br /&gt;
		return tstr&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
local function parseDateValue(timestamp, date_format, date_addon)&lt;br /&gt;
	local prefix_addon = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;prefix-addon&amp;quot;]&lt;br /&gt;
	local addon_sep = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;addon-sep&amp;quot;]&lt;br /&gt;
	local addon = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	-- check for negative date&lt;br /&gt;
	if string.sub(timestamp, 1, 1) == &#039;-&#039; then&lt;br /&gt;
		timestamp = &#039;+&#039; .. string.sub(timestamp, 2)&lt;br /&gt;
		addon = date_addon&lt;br /&gt;
	end&lt;br /&gt;
	local _date_format = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;format&amp;quot;][date_format]&lt;br /&gt;
	if _date_format ~= nil then&lt;br /&gt;
		return parseDateFormat(_date_format, timestamp, addon, prefix_addon, addon_sep)&lt;br /&gt;
	else&lt;br /&gt;
		return printError(&amp;quot;unknown-datetime-format&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This local function combines the year/month/day/BC/BCE handling of parseDateValue{}&lt;br /&gt;
-- with the millennium/century/decade handling of formatDate()&lt;br /&gt;
local function parseDateFull(timestamp, precision, date_format, date_addon)&lt;br /&gt;
	local prefix_addon = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;prefix-addon&amp;quot;]&lt;br /&gt;
	local addon_sep = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;addon-sep&amp;quot;]&lt;br /&gt;
	local addon = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	-- check for negative date&lt;br /&gt;
	if string.sub(timestamp, 1, 1) == &#039;-&#039; then&lt;br /&gt;
		timestamp = &#039;+&#039; .. string.sub(timestamp, 2)&lt;br /&gt;
		addon = date_addon&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- get the next four characters after the + (should be the year now in all cases)&lt;br /&gt;
	-- ok, so this is dirty, but let&#039;s get it working first&lt;br /&gt;
	local intyear = tonumber(string.sub(timestamp, 2, 5))&lt;br /&gt;
	if intyear == 0 and precision &amp;lt;= 9 then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- precision is 10000 years or more&lt;br /&gt;
	if precision &amp;lt;= 5 then&lt;br /&gt;
		local factor = 10 ^ ((5 - precision) + 4)&lt;br /&gt;
		local y2 = math.ceil(math.abs(intyear) / factor)&lt;br /&gt;
		local relative = mw.ustring.gsub(i18n.datetime[precision], &amp;quot;$1&amp;quot;, tostring(y2))&lt;br /&gt;
		if addon ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			-- negative date&lt;br /&gt;
			relative = mw.ustring.gsub(i18n.datetime.beforenow, &amp;quot;$1&amp;quot;, relative)&lt;br /&gt;
		else&lt;br /&gt;
			relative = mw.ustring.gsub(i18n.datetime.afternow, &amp;quot;$1&amp;quot;, relative)&lt;br /&gt;
		end&lt;br /&gt;
		return relative&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- precision is decades (8), centuries (7) and millennia (6)&lt;br /&gt;
	local era, card&lt;br /&gt;
	if precision == 6 then&lt;br /&gt;
		card = math.floor((intyear - 1) / 1000) + 1&lt;br /&gt;
		era = mw.ustring.gsub(i18n.datetime[6], &amp;quot;$1&amp;quot;, makeOrdinal(card))&lt;br /&gt;
	end&lt;br /&gt;
	if precision == 7 then&lt;br /&gt;
		card = math.floor((intyear - 1) / 100) + 1&lt;br /&gt;
		era = mw.ustring.gsub(i18n.datetime[7], &amp;quot;$1&amp;quot;, makeOrdinal(card))&lt;br /&gt;
	end&lt;br /&gt;
	if precision == 8 then&lt;br /&gt;
		era = mw.ustring.gsub(i18n.datetime[8], &amp;quot;$1&amp;quot;, tostring(math.floor(math.abs(intyear) / 10) * 10))&lt;br /&gt;
	end&lt;br /&gt;
	if era then&lt;br /&gt;
		if addon ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			era = mw.ustring.gsub(mw.ustring.gsub(i18n.datetime.bc, &#039;&amp;quot;&#039;, &amp;quot;&amp;quot;), &amp;quot;$1&amp;quot;, era)&lt;br /&gt;
		else&lt;br /&gt;
			era = mw.ustring.gsub(mw.ustring.gsub(i18n.datetime.ad, &#039;&amp;quot;&#039;, &amp;quot;&amp;quot;), &amp;quot;$1&amp;quot;, era)&lt;br /&gt;
		end&lt;br /&gt;
		return era&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local _date_format = i18n[&amp;quot;datetime&amp;quot;][&amp;quot;format&amp;quot;][date_format]&lt;br /&gt;
	if _date_format ~= nil then&lt;br /&gt;
		-- check for precision is year and override supplied date_format&lt;br /&gt;
		if precision == 9 then&lt;br /&gt;
			_date_format = i18n[&amp;quot;datetime&amp;quot;][9]&lt;br /&gt;
		end&lt;br /&gt;
		return parseDateFormat(_date_format, timestamp, addon, prefix_addon, addon_sep)&lt;br /&gt;
	else&lt;br /&gt;
		return printError(&amp;quot;unknown-datetime-format&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- the &amp;quot;qualifiers&amp;quot; and &amp;quot;snaks&amp;quot; field have a respective &amp;quot;qualifiers-order&amp;quot; and &amp;quot;snaks-order&amp;quot; field&lt;br /&gt;
-- use these as the second parameter and this function instead of the built-in &amp;quot;pairs&amp;quot; function&lt;br /&gt;
-- to iterate over all qualifiers and snaks in the intended order.&lt;br /&gt;
local function orderedpairs(array, order)&lt;br /&gt;
	if not order then return pairs(array) end&lt;br /&gt;
&lt;br /&gt;
	-- return iterator function&lt;br /&gt;
	local i = 0&lt;br /&gt;
	return function()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if order[i] then&lt;br /&gt;
			return order[i], array[order[i]]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- precision: 0 - billion years, 1 - hundred million years, ..., 6 - millennia, 7 - century, 8 - decade, 9 - year, 10 - month, 11 - day, 12 - hour, 13 - minute, 14 - second&lt;br /&gt;
local function normalizeDate(date)&lt;br /&gt;
	date = mw.text.trim(date, &amp;quot;+&amp;quot;)&lt;br /&gt;
	-- extract year&lt;br /&gt;
	local yearstr = mw.ustring.match(date, &amp;quot;^\-?%d+&amp;quot;)&lt;br /&gt;
	local year = tonumber(yearstr)&lt;br /&gt;
	-- remove leading zeros of year&lt;br /&gt;
	return year .. mw.ustring.sub(date, #yearstr + 1), year&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function formatDate(date, precision, timezone)&lt;br /&gt;
	precision = precision or 11&lt;br /&gt;
	local date, year = normalizeDate(date)&lt;br /&gt;
	if year == 0 and precision &amp;lt;= 9 then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
	-- precision is 10000 years or more&lt;br /&gt;
	if precision &amp;lt;= 5 then&lt;br /&gt;
		local factor = 10 ^ ((5 - precision) + 4)&lt;br /&gt;
		local y2 = math.ceil(math.abs(year) / factor)&lt;br /&gt;
		local relative = mw.ustring.gsub(i18n.datetime[precision], &amp;quot;$1&amp;quot;, tostring(y2))&lt;br /&gt;
		if year &amp;lt; 0 then&lt;br /&gt;
			relative = mw.ustring.gsub(i18n.datetime.beforenow, &amp;quot;$1&amp;quot;, relative)&lt;br /&gt;
		else&lt;br /&gt;
			relative = mw.ustring.gsub(i18n.datetime.afternow, &amp;quot;$1&amp;quot;, relative)&lt;br /&gt;
		end&lt;br /&gt;
		return relative&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- precision is decades, centuries and millennia&lt;br /&gt;
	local era&lt;br /&gt;
	if precision == 6 then era = mw.ustring.gsub(i18n.datetime[6], &amp;quot;$1&amp;quot;, tostring(math.floor((math.abs(year) - 1) / 1000) + 1)) end&lt;br /&gt;
	if precision == 7 then era = mw.ustring.gsub(i18n.datetime[7], &amp;quot;$1&amp;quot;, tostring(math.floor((math.abs(year) - 1) / 100) + 1)) end&lt;br /&gt;
	if precision == 8 then era = mw.ustring.gsub(i18n.datetime[8], &amp;quot;$1&amp;quot;, tostring(math.floor(math.abs(year) / 10) * 10)) end&lt;br /&gt;
	if era then&lt;br /&gt;
		if year &amp;lt; 0 then era = mw.ustring.gsub(mw.ustring.gsub(i18n.datetime.bc, &#039;&amp;quot;&#039;, &amp;quot;&amp;quot;), &amp;quot;$1&amp;quot;, era)&lt;br /&gt;
		elseif year &amp;gt; 0 then era = mw.ustring.gsub(mw.ustring.gsub(i18n.datetime.ad, &#039;&amp;quot;&#039;, &amp;quot;&amp;quot;), &amp;quot;$1&amp;quot;, era) end&lt;br /&gt;
		return era&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- precision is year&lt;br /&gt;
	if precision == 9 then&lt;br /&gt;
		return year&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- precision is less than years&lt;br /&gt;
	if precision &amp;gt; 9 then&lt;br /&gt;
		--[[ the following code replaces the UTC suffix with the given negated timezone to convert the global time to the given local time&lt;br /&gt;
		timezone = tonumber(timezone)&lt;br /&gt;
		if timezone and timezone ~= 0 then&lt;br /&gt;
			timezone = -timezone&lt;br /&gt;
			timezone = string.format(&amp;quot;%.2d%.2d&amp;quot;, timezone / 60, timezone % 60)&lt;br /&gt;
			if timezone[1] ~= &#039;-&#039; then timezone = &amp;quot;+&amp;quot; .. timezone end&lt;br /&gt;
			date = mw.text.trim(date, &amp;quot;Z&amp;quot;) .. &amp;quot; &amp;quot; .. timezone&lt;br /&gt;
		end&lt;br /&gt;
		]]--&lt;br /&gt;
&lt;br /&gt;
		local formatstr = i18n.datetime[precision]&lt;br /&gt;
		if year == 0 then formatstr = mw.ustring.gsub(formatstr, i18n.datetime[9], &amp;quot;&amp;quot;)&lt;br /&gt;
		elseif year &amp;lt; 0 then&lt;br /&gt;
			-- Mediawiki formatDate doesn&#039;t support negative years&lt;br /&gt;
			date = mw.ustring.sub(date, 2)&lt;br /&gt;
			formatstr = mw.ustring.gsub(formatstr, i18n.datetime[9], mw.ustring.gsub(i18n.datetime.bc, &amp;quot;$1&amp;quot;, i18n.datetime[9]))&lt;br /&gt;
		elseif year &amp;gt; 0 and i18n.datetime.ad ~= &amp;quot;$1&amp;quot; then&lt;br /&gt;
			formatstr = mw.ustring.gsub(formatstr, i18n.datetime[9], mw.ustring.gsub(i18n.datetime.ad, &amp;quot;$1&amp;quot;, i18n.datetime[9]))&lt;br /&gt;
		end&lt;br /&gt;
		return mw.language.new(wiki.langcode):formatDate(formatstr, date)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function printDatavalueEntity(data, parameter)&lt;br /&gt;
	-- data fields: entity-type [string], numeric-id [int, Wikidata id]&lt;br /&gt;
	local id&lt;br /&gt;
&lt;br /&gt;
	if data[&amp;quot;entity-type&amp;quot;] == &amp;quot;item&amp;quot; then id = &amp;quot;Q&amp;quot; .. data[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
	elseif data[&amp;quot;entity-type&amp;quot;] == &amp;quot;property&amp;quot; then id = &amp;quot;P&amp;quot; .. data[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
	else return printError(&amp;quot;unknown-entity-type&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if parameter then&lt;br /&gt;
		if parameter == &amp;quot;link&amp;quot; then&lt;br /&gt;
			local linkTarget = mw.wikibase.sitelink(id)&lt;br /&gt;
			local linkName = mw.wikibase.label(id)&lt;br /&gt;
			if linkTarget then&lt;br /&gt;
				-- if there is a local Wikipedia article link to it using the label or the article title&lt;br /&gt;
				return &amp;quot;[[&amp;quot; .. linkTarget .. &amp;quot;|&amp;quot; .. (linkName or linkTarget) .. &amp;quot;]]&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				-- if there is no local Wikipedia article output the label or link to the Wikidata object to let the user input a proper label&lt;br /&gt;
				if linkName then return linkName else return &amp;quot;[[:d:&amp;quot; .. id .. &amp;quot;|&amp;quot; .. id .. &amp;quot;]]&amp;quot; end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return data[parameter]&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return mw.wikibase.label(id) or id&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function printDatavalueTime(data, parameter)&lt;br /&gt;
	-- data fields: time [ISO 8601 time], timezone [int in minutes], before [int], after [int], precision [int], calendarmodel [wikidata URI]&lt;br /&gt;
	--   precision: 0 - billion years, 1 - hundred million years, ..., 6 - millennia, 7 - century, 8 - decade, 9 - year, 10 - month, 11 - day, 12 - hour, 13 - minute, 14 - second&lt;br /&gt;
	--   calendarmodel: e.g. http://www.wikidata.org/entity/Q1985727 for the proleptic Gregorian calendar or http://www.wikidata.org/wiki/Q11184 for the Julian calendar]&lt;br /&gt;
	if parameter then&lt;br /&gt;
		if parameter == &amp;quot;calendarmodel&amp;quot; then data.calendarmodel = mw.ustring.match(data.calendarmodel, &amp;quot;Q%d+&amp;quot;) -- extract entity id from the calendar model URI&lt;br /&gt;
		elseif parameter == &amp;quot;time&amp;quot; then data.time = normalizeDate(data.time) end&lt;br /&gt;
		return data[parameter]&lt;br /&gt;
	else&lt;br /&gt;
		return formatDate(data.time, data.precision, data.timezone)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function printDatavalueMonolingualText(data, parameter)&lt;br /&gt;
	-- data fields: language [string], text [string]&lt;br /&gt;
	if parameter then&lt;br /&gt;
		return data[parameter]&lt;br /&gt;
	else&lt;br /&gt;
		local result = mw.ustring.gsub(mw.ustring.gsub(i18n.monolingualtext, &amp;quot;%%language&amp;quot;, data[&amp;quot;language&amp;quot;]), &amp;quot;%%text&amp;quot;, data[&amp;quot;text&amp;quot;])&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function findClaims(entity, property)&lt;br /&gt;
	if not property or not entity or not entity.claims then return end&lt;br /&gt;
&lt;br /&gt;
	if mw.ustring.match(property, &amp;quot;^P%d+$&amp;quot;) then&lt;br /&gt;
		-- if the property is given by an id (P..) access the claim list by this id&lt;br /&gt;
		return entity.claims[property]&lt;br /&gt;
	else&lt;br /&gt;
		property = mw.wikibase.resolvePropertyId(property)&lt;br /&gt;
		if not property then return end&lt;br /&gt;
&lt;br /&gt;
		return entity.claims[property]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getSnakValue(snak, parameter)&lt;br /&gt;
	if snak.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
		-- call the respective snak parser&lt;br /&gt;
		if snak.datavalue.type == &amp;quot;string&amp;quot; then return snak.datavalue.value&lt;br /&gt;
		elseif snak.datavalue.type == &amp;quot;globecoordinate&amp;quot; then return printDatavalueCoordinate(snak.datavalue.value, parameter)&lt;br /&gt;
		elseif snak.datavalue.type == &amp;quot;quantity&amp;quot; then return printDatavalueQuantity(snak.datavalue.value, parameter)&lt;br /&gt;
		elseif snak.datavalue.type == &amp;quot;time&amp;quot; then return printDatavalueTime(snak.datavalue.value, parameter)&lt;br /&gt;
		elseif snak.datavalue.type == &amp;quot;wikibase-entityid&amp;quot; then return printDatavalueEntity(snak.datavalue.value, parameter)&lt;br /&gt;
		elseif snak.datavalue.type == &amp;quot;monolingualtext&amp;quot; then return printDatavalueMonolingualText(snak.datavalue.value, parameter)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return mw.wikibase.renderSnak(snak)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getQualifierSnak(claim, qualifierId)&lt;br /&gt;
	-- a &amp;quot;snak&amp;quot; is Wikidata terminology for a typed key/value pair&lt;br /&gt;
	-- a claim consists of a main snak holding the main information of this claim,&lt;br /&gt;
	-- as well as a list of attribute snaks and a list of references snaks&lt;br /&gt;
	if qualifierId then&lt;br /&gt;
		-- search the attribute snak with the given qualifier as key&lt;br /&gt;
		if claim.qualifiers then&lt;br /&gt;
			local qualifier = claim.qualifiers[qualifierId]&lt;br /&gt;
			if qualifier then return qualifier[1] end&lt;br /&gt;
		end&lt;br /&gt;
		return nil, printError(&amp;quot;qualifier-not-found&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		-- otherwise return the main snak&lt;br /&gt;
		return claim.mainsnak&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getValueOfClaim(claim, qualifierId, parameter)&lt;br /&gt;
	local error&lt;br /&gt;
	local snak&lt;br /&gt;
	snak, error = getQualifierSnak(claim, qualifierId)&lt;br /&gt;
	if snak then&lt;br /&gt;
		return getSnakValue(snak, parameter)&lt;br /&gt;
	else&lt;br /&gt;
		return nil, error&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getReferences(frame, claim)&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	-- traverse through all references&lt;br /&gt;
	for ref in pairs(claim.references or {}) do&lt;br /&gt;
		local refparts&lt;br /&gt;
		-- traverse through all parts of the current reference&lt;br /&gt;
		for snakkey, snakval in orderedpairs(claim.references[ref].snaks or {}, claim.references[ref][&amp;quot;snaks-order&amp;quot;]) do&lt;br /&gt;
			if refparts then refparts = refparts .. &amp;quot;, &amp;quot; else refparts = &amp;quot;&amp;quot; end&lt;br /&gt;
			-- output the label of the property of the reference part, e.g. &amp;quot;imported from&amp;quot; for P143&lt;br /&gt;
			refparts = refparts .. tostring(mw.wikibase.label(snakkey)) .. &amp;quot;: &amp;quot;&lt;br /&gt;
			-- output all values of this reference part, e.g. &amp;quot;German Wikipedia&amp;quot; and &amp;quot;English Wikipedia&amp;quot; if the referenced claim was imported from both sites&lt;br /&gt;
			for snakidx = 1, #snakval do&lt;br /&gt;
				if snakidx &amp;gt; 1 then refparts = refparts .. &amp;quot;, &amp;quot; end&lt;br /&gt;
				refparts = refparts .. getSnakValue(snakval[snakidx])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if refparts then result = result .. frame:extensionTag(&amp;quot;ref&amp;quot;, refparts) end&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function parseInput(frame)&lt;br /&gt;
	local qid = frame.args.qid&lt;br /&gt;
	if qid and (#qid == 0) then qid = nil end&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local input_parm = mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm ~= &amp;quot;FETCH_WIKIDATA&amp;quot; then&lt;br /&gt;
		return false, input_parm, nil, nil&lt;br /&gt;
	end&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(qid)&lt;br /&gt;
	local claims&lt;br /&gt;
	if entity and entity.claims then&lt;br /&gt;
		claims = entity.claims[propertyID]&lt;br /&gt;
		if not claims then&lt;br /&gt;
			return false, &amp;quot;&amp;quot;, nil, nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return false, &amp;quot;&amp;quot;, nil, nil&lt;br /&gt;
	end&lt;br /&gt;
	return true, entity, claims, propertyID&lt;br /&gt;
end&lt;br /&gt;
local function isType(claims, type)&lt;br /&gt;
	return claims[1] and claims[1].mainsnak.snaktype == &amp;quot;value&amp;quot; and claims[1].mainsnak.datavalue.type == type&lt;br /&gt;
end&lt;br /&gt;
local function getValue(entity, claims, propertyID, delim, labelHook) &lt;br /&gt;
	if labelHook == nil then&lt;br /&gt;
		labelHook = function (qnumber)&lt;br /&gt;
			return nil;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if isType(claims, &amp;quot;wikibase-entityid&amp;quot;) then&lt;br /&gt;
		local out = {}&lt;br /&gt;
		for k, v in pairs(claims) do&lt;br /&gt;
			local qnumber = &amp;quot;Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
			local sitelink = mw.wikibase.sitelink(qnumber)&lt;br /&gt;
			local label = labelHook(qnumber) or mw.wikibase.label(qnumber) or qnumber&lt;br /&gt;
			if sitelink then&lt;br /&gt;
				out[#out + 1] = &amp;quot;[[&amp;quot; .. sitelink .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				out[#out + 1] = &amp;quot;[[:d:&amp;quot; .. qnumber .. &amp;quot;|&amp;quot; .. label .. &amp;quot;]]&amp;lt;abbr title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[*]&amp;lt;/abbr&amp;gt;&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(out, delim)&lt;br /&gt;
	else&lt;br /&gt;
		-- just return best values&lt;br /&gt;
		return entity:formatPropertyValues(propertyID).value&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
-- module global functions&lt;br /&gt;
&lt;br /&gt;
if debug then&lt;br /&gt;
	function p.inspectI18n(frame)&lt;br /&gt;
		local val = i18n&lt;br /&gt;
		for _, key in pairs(frame.args) do&lt;br /&gt;
			key = mw.text.trim(key)&lt;br /&gt;
			val = val[key]&lt;br /&gt;
		end&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.descriptionIn(frame)&lt;br /&gt;
	local langcode = frame.args[1]&lt;br /&gt;
	local id = frame.args[2]&lt;br /&gt;
	-- return description of a Wikidata entity in the given language or the default language of this Wikipedia site&lt;br /&gt;
	return mw.wikibase.getEntityObject(id).descriptions[langcode or wiki.langcode].value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.labelIn(frame)&lt;br /&gt;
	local langcode = frame.args[1]&lt;br /&gt;
	local id = frame.args[2]&lt;br /&gt;
	-- return label of a Wikidata entity in the given language or the default language of this Wikipedia site&lt;br /&gt;
	return mw.wikibase.getEntityObject(id).labels[langcode or wiki.langcode].value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
p.getValue = function(frame)&lt;br /&gt;
	local delimdefault = &amp;quot;, &amp;quot; -- **internationalise later**&lt;br /&gt;
	local delim = frame.args.delimiter or &amp;quot;&amp;quot;&lt;br /&gt;
	delim = string.gsub(delim, &#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	if #delim == 0 then&lt;br /&gt;
		delim = delimdefault&lt;br /&gt;
	end&lt;br /&gt;
	local go, errorOrentity, claims, propertyID = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	return getValue(errorOrentity, claims, propertyID, delim)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Same as above, but uses the short name property for label if available.&lt;br /&gt;
p.getValueShortName = function(frame)&lt;br /&gt;
	local go, errorOrentity, claims, propertyID = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	-- if wiki-linked value output as link if possible&lt;br /&gt;
	local function labelHook (qnumber)&lt;br /&gt;
		local label&lt;br /&gt;
		local claimEntity = mw.wikibase.getEntity(qnumber)&lt;br /&gt;
		if claimEntity ~= nil then&lt;br /&gt;
			if claimEntity.claims.P1813 then&lt;br /&gt;
				for k2, v2 in pairs(claimEntity.claims.P1813) do&lt;br /&gt;
					for _, variant in ipairs{&amp;quot;zh&amp;quot;, &amp;quot;zh-hans&amp;quot;, &amp;quot;zh-hant&amp;quot;, &amp;quot;zh-cn&amp;quot;, &amp;quot;zh-hk&amp;quot;, &amp;quot;zh-mo&amp;quot;, &amp;quot;zh-sg&amp;quot;, &amp;quot;zh-tw&amp;quot;} do&lt;br /&gt;
						if v2.mainsnak.datavalue.value.language == variant then&lt;br /&gt;
							label = v2.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;
		if label == nil or label == &amp;quot;&amp;quot; then return nil end&lt;br /&gt;
		return label&lt;br /&gt;
	end&lt;br /&gt;
	return getValue(errorOrentity, claims, propertyID, &amp;quot;, &amp;quot;, labelHook);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get a value, or a comma separated list of them if multiple values exist&lt;br /&gt;
-- from an arbitrary entry by using its QID.&lt;br /&gt;
-- Use : {{#invoke:Wikidata|getValueFromID|&amp;lt;ID&amp;gt;|&amp;lt;Property&amp;gt;|FETCH_WIKIDATA}}&lt;br /&gt;
-- E.g.: {{#invoke:Wikidata|getValueFromID|Q151973|P26|FETCH_WIKIDATA}} - to fetch value of &#039;spouse&#039; (P26) from &#039;Richard Burton&#039; (Q151973)&lt;br /&gt;
-- Please use sparingly - this is an *expensive call*.&lt;br /&gt;
p.getValueFromID = function(frame)&lt;br /&gt;
	local itemID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local input_parm = mw.text.trim(frame.args[3] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm == &amp;quot;FETCH_WIKIDATA&amp;quot; then&lt;br /&gt;
		local entity = mw.wikibase.getEntity(itemID)&lt;br /&gt;
		local claims&lt;br /&gt;
		if entity and entity.claims then&lt;br /&gt;
			claims = entity.claims[propertyID]&lt;br /&gt;
		end&lt;br /&gt;
		if claims then&lt;br /&gt;
			return getValue(entity, claims, propertyID, &amp;quot;, &amp;quot;)&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return input_parm&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
local function getQualifier(frame, outputHook) &lt;br /&gt;
	local propertyID = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local qualifierID = mw.text.trim(frame.args[2] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local input_parm = mw.text.trim(frame.args[3] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm == &amp;quot;FETCH_WIKIDATA&amp;quot; then&lt;br /&gt;
		local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
		if entity.claims[propertyID] ~= nil then&lt;br /&gt;
			local out = {}&lt;br /&gt;
			for k, v in pairs(entity.claims[propertyID]) do&lt;br /&gt;
				for k2, v2 in pairs(v.qualifiers[qualifierID]) do&lt;br /&gt;
					if v2.snaktype == &#039;value&#039; then&lt;br /&gt;
						out[#out + 1] = outputHook(v2);&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return table.concat(out, &amp;quot;、&amp;quot;), true&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;quot;&amp;quot;, false&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return input_parm, false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
p.getQualifierValue = function(frame)&lt;br /&gt;
	local function outputValue(value)&lt;br /&gt;
		local qnumber = &amp;quot;Q&amp;quot; .. value.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
		if (mw.wikibase.sitelink(qnumber)) then&lt;br /&gt;
			return &amp;quot;[[&amp;quot; .. mw.wikibase.sitelink(qnumber) .. &amp;quot;]]&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;quot;[[:d:&amp;quot; .. qnumber .. &amp;quot;|&amp;quot; ..qnumber .. &amp;quot;]]&amp;lt;abbr title=&#039;&amp;quot; .. i18n[&amp;quot;errors&amp;quot;][&amp;quot;local-article-not-found&amp;quot;] .. &amp;quot;&#039;&amp;gt;[*]&amp;lt;/abbr&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return (getQualifier(frame, outputValue))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get a value like &#039;male&#039; (for property p21) which won&#039;t be linked and numbers without the thousand separators&lt;br /&gt;
p.getRawValue = function(frame)&lt;br /&gt;
	local go, errorOrentity, claims, propertyID = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	local result = entity:formatPropertyValues(propertyID, mw.wikibase.entity.claimRanks).value&lt;br /&gt;
	-- if number type: remove thousand separators, bounds and units&lt;br /&gt;
	if isType(claims, &amp;quot;quantity&amp;quot;) then&lt;br /&gt;
		result = mw.ustring.gsub(result, &amp;quot;(%d),(%d)&amp;quot;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
		result = mw.ustring.gsub(result, &amp;quot;(%d)±.*&amp;quot;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get the unit name for the numeric value returned by getRawValue&lt;br /&gt;
p.getUnits = function(frame)&lt;br /&gt;
	local go, errorOrentity, claims, propertyID = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	local result = entity:formatPropertyValues(propertyID, mw.wikibase.entity.claimRanks).value&lt;br /&gt;
	if isType(claims, &amp;quot;quantity&amp;quot;) then&lt;br /&gt;
		result = mw.ustring.sub(result, mw.ustring.find(result, &amp;quot; &amp;quot;)+1, -1)&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get the unit&#039;s QID to use with the numeric value returned by getRawValue&lt;br /&gt;
p.getUnitID = function(frame)&lt;br /&gt;
	local go, errorOrentity, claims = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	local result&lt;br /&gt;
	if isType(claims, &amp;quot;quantity&amp;quot;) then&lt;br /&gt;
		-- get the url for the unit entry on Wikidata:&lt;br /&gt;
		result = claims[1].mainsnak.datavalue.value.unit&lt;br /&gt;
		-- and just reurn the last bit from &amp;quot;Q&amp;quot; to the end (which is the QID):&lt;br /&gt;
		result = mw.ustring.sub(result, mw.ustring.find(result, &amp;quot;Q&amp;quot;), -1)&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getRawQualifierValue = function(frame)&lt;br /&gt;
	local function outputHook(value)&lt;br /&gt;
		if value.datavalue.value[&amp;quot;numeric-id&amp;quot;] then&lt;br /&gt;
			return mw.wikibase.label(&amp;quot;Q&amp;quot; .. value.datavalue.value[&amp;quot;numeric-id&amp;quot;])&lt;br /&gt;
		else&lt;br /&gt;
			return value.datavalue.value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ret, gotData = getQualifier(frame, outputHook)&lt;br /&gt;
	if gotData then&lt;br /&gt;
		ret = string.upper(string.sub(ret, 1, 1)) .. string.sub(ret, 2)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get a date value for date_of_birth (P569), etc. which won&#039;t be linked&lt;br /&gt;
-- Dates and times are stored in ISO 8601 format (sort of).&lt;br /&gt;
-- At present the local formatDate(date, precision, timezone) function doesn&#039;t handle timezone&lt;br /&gt;
-- So I&#039;ll just supply &amp;quot;Z&amp;quot; in the call to formatDate below:&lt;br /&gt;
p.getDateValue = function(frame)&lt;br /&gt;
	local date_format = mw.text.trim(frame.args[3] or i18n[&amp;quot;datetime&amp;quot;][&amp;quot;default-format&amp;quot;])&lt;br /&gt;
	local date_addon = mw.text.trim(frame.args[4] or i18n[&amp;quot;datetime&amp;quot;][&amp;quot;default-addon&amp;quot;])&lt;br /&gt;
	local go, errorOrentity, claims = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	local out = {}&lt;br /&gt;
	for k, v in pairs(claims) do&lt;br /&gt;
		if v.mainsnak.datavalue.type == &#039;time&#039; then&lt;br /&gt;
			local timestamp = v.mainsnak.datavalue.value.time&lt;br /&gt;
			local dateprecision = v.mainsnak.datavalue.value.precision&lt;br /&gt;
			-- A year can be stored like this: &amp;quot;+1872-00-00T00:00:00Z&amp;quot;,&lt;br /&gt;
			-- which is processed here as if it were the day before &amp;quot;+1872-01-01T00:00:00Z&amp;quot;,&lt;br /&gt;
			-- and that&#039;s the last day of 1871, so the year is wrong.&lt;br /&gt;
			-- So fix the month 0, day 0 timestamp to become 1 January instead:&lt;br /&gt;
			timestamp = timestamp:gsub(&amp;quot;%-00%-00T&amp;quot;, &amp;quot;-01-01T&amp;quot;)&lt;br /&gt;
			out[#out + 1] = parseDateFull(timestamp, dateprecision, date_format, date_addon)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(out, &amp;quot;、&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
p.getQualifierDateValue = function(frame)&lt;br /&gt;
	local date_format = mw.text.trim(frame.args[4] or i18n[&amp;quot;datetime&amp;quot;][&amp;quot;default-format&amp;quot;])&lt;br /&gt;
	local date_addon = mw.text.trim(frame.args[5] or i18n[&amp;quot;datetime&amp;quot;][&amp;quot;default-addon&amp;quot;])&lt;br /&gt;
	local function outputHook(value)&lt;br /&gt;
		local timestamp = value.datavalue.value.time&lt;br /&gt;
		return parseDateValue(timestamp, date_format, date_addon)&lt;br /&gt;
	end&lt;br /&gt;
	return (getQualifier(frame, outputHook))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to fetch all of the images with a particular property, e.g. image (P18), Gene Atlas Image (P692), etc.&lt;br /&gt;
-- Parameters are | propertyID | value / FETCH_WIKIDATA / nil | separator (default=space) | size (default=frameless)&lt;br /&gt;
-- It will return a standard wiki-markup [[File:Filename | size]] for each image with a selectable size and separator (which may be html)&lt;br /&gt;
-- e.g. {{#invoke:Wikidata|getImages|P18|FETCH_WIKIDATA}}&lt;br /&gt;
-- e.g. {{#invoke:Wikidata|getImages|P18|FETCH_WIKIDATA|&amp;lt;br&amp;gt;|250px}}&lt;br /&gt;
-- If a property is chosen that is not of type &amp;quot;commonsMedia&amp;quot;, it will return empty text.&lt;br /&gt;
p.getImages = function(frame)&lt;br /&gt;
	local sep = mw.text.trim(frame.args[3] or &amp;quot; &amp;quot;)&lt;br /&gt;
	local imgsize = mw.text.trim(frame.args[4] or &amp;quot;frameless&amp;quot;)&lt;br /&gt;
	local go, errorOrentity, claims = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	if (claims[1] and claims[1].mainsnak.datatype == &amp;quot;commonsMedia&amp;quot;) then&lt;br /&gt;
		local out = {}&lt;br /&gt;
		for k, v in pairs(claims) do&lt;br /&gt;
			local filename = v.mainsnak.datavalue.value&lt;br /&gt;
			out[#out + 1] = &amp;quot;[[File:&amp;quot; .. filename .. &amp;quot;|&amp;quot; .. imgsize .. &amp;quot;]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(out, sep)&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get the TA98 (Terminologia Anatomica first edition 1998) values like &#039;A01.1.00.005&#039; (property P1323)&lt;br /&gt;
-- which are then linked to http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm&lt;br /&gt;
-- uses the newer mw.wikibase calls instead of directly using the snaks&lt;br /&gt;
-- formatPropertyValues returns a table with the P1323 values concatenated with &amp;quot;, &amp;quot; so we have to split them out into a table in order to construct the return string&lt;br /&gt;
p.getTAValue = function(frame)&lt;br /&gt;
	local ent = mw.wikibase.getEntityObject()&lt;br /&gt;
	local props = ent:formatPropertyValues(&#039;P1323&#039;)&lt;br /&gt;
	local out = {}&lt;br /&gt;
	local t = {}&lt;br /&gt;
	for k, v in pairs(props) do&lt;br /&gt;
		if k == &#039;value&#039; then&lt;br /&gt;
			t = mw.text.split( v, &amp;quot;, &amp;quot;)&lt;br /&gt;
			for k2, v2 in pairs(t) do&lt;br /&gt;
				out[#out + 1] = &amp;quot;[http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/&amp;quot; .. string.sub(v2, 2) .. &amp;quot;%20Entity%20TA98%20EN.htm &amp;quot; .. v2 .. &amp;quot;]&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ret = table.concat(out, &amp;quot;&amp;lt;br&amp;gt; &amp;quot;)&lt;br /&gt;
	if #ret == 0 then&lt;br /&gt;
		ret = &amp;quot;Invalid TA&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This is used to return an image legend from Wikidata&lt;br /&gt;
image is property P18&lt;br /&gt;
image legend is property P2096&lt;br /&gt;
&lt;br /&gt;
Call as {{#invoke:Wikidata |getImageLegend | &amp;lt;PARAMETER&amp;gt; | lang=&amp;lt;ISO-639code&amp;gt; |id=&amp;lt;QID&amp;gt;}}&lt;br /&gt;
Returns PARAMETER, unless it is equal to &amp;quot;FETCH_WIKIDATA&amp;quot;, from Item QID (expensive call)&lt;br /&gt;
If QID is omitted or blank, the current article is used (not an expensive call)&lt;br /&gt;
If lang is omitted, it uses the local wiki language, otherwise it uses the provided ISO-639 language code&lt;br /&gt;
ISO-639: https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html#wp1252447&lt;br /&gt;
&lt;br /&gt;
Ranks are: &#039;preferred&#039; &amp;gt; &#039;normal&#039;&lt;br /&gt;
This returns the label from the first image with &#039;preferred&#039; rank&lt;br /&gt;
Or the label from the first image with &#039;normal&#039; rank if preferred returns nothing&lt;br /&gt;
Ranks: https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
p.getImageLegend = function(frame)&lt;br /&gt;
	-- look for named parameter id; if it&#039;s blank make it nil&lt;br /&gt;
	local id = frame.args.id&lt;br /&gt;
	if id and (#id == 0) then&lt;br /&gt;
		id = nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- look for named parameter lang&lt;br /&gt;
	-- it should contain a two-character ISO-639 language code&lt;br /&gt;
	-- if it&#039;s blank fetch the language of the local wiki&lt;br /&gt;
	local lang = frame.args.lang&lt;br /&gt;
	if (not lang) or (#lang &amp;lt; 2) then&lt;br /&gt;
		lang = mw.language.getContentLanguage().code&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- first unnamed parameter is the local parameter, if supplied&lt;br /&gt;
	local input_parm = mw.text.trim(frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	if input_parm == &amp;quot;FETCH_WIKIDATA&amp;quot; then&lt;br /&gt;
		local ent = mw.wikibase.getEntityObject(id)&lt;br /&gt;
		local imgs&lt;br /&gt;
		if ent and ent.claims then&lt;br /&gt;
			imgs = ent.claims.P18&lt;br /&gt;
		end&lt;br /&gt;
		local imglbl&lt;br /&gt;
		if imgs then&lt;br /&gt;
			-- look for an image with &#039;preferred&#039; rank&lt;br /&gt;
			for k1, v1 in pairs(imgs) do&lt;br /&gt;
				if v1.rank == &amp;quot;preferred&amp;quot; and v1.qualifiers and v1.qualifiers.P2096 then&lt;br /&gt;
					local imglbls = v1.qualifiers.P2096&lt;br /&gt;
					for k2, v2 in pairs(imglbls) do&lt;br /&gt;
						if v2.datavalue.value.language == lang then&lt;br /&gt;
							imglbl = v2.datavalue.value.text&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			-- if we don&#039;t find one, look for an image with &#039;normal&#039; rank&lt;br /&gt;
			if (not imglbl) then&lt;br /&gt;
				for k1, v1 in pairs(imgs) do&lt;br /&gt;
					if v1.rank == &amp;quot;normal&amp;quot; and v1.qualifiers and v1.qualifiers.P2096 then&lt;br /&gt;
						local imglbls = v1.qualifiers.P2096&lt;br /&gt;
						for k2, v2 in pairs(imglbls) do&lt;br /&gt;
							if v2.datavalue.value.language == lang then&lt;br /&gt;
								imglbl = v2.datavalue.value.text&lt;br /&gt;
								break&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return imglbl&lt;br /&gt;
	else&lt;br /&gt;
		return input_parm&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is used to get the QIDs of all of the values of a property, as a comma separated list if multiple values exist&lt;br /&gt;
-- Usage: {{#invoke:Wikidata |getPropertyIDs |&amp;lt;PropertyID&amp;gt; |FETCH_WIKIDATA}}&lt;br /&gt;
-- Usage: {{#invoke:Wikidata |getPropertyIDs |&amp;lt;PropertyID&amp;gt; |&amp;lt;InputParameter&amp;gt; |qid=&amp;lt;QID&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
p.getPropertyIDs = function(frame)&lt;br /&gt;
	local go, errorOrentity, propclaims = parseInput(frame)&lt;br /&gt;
	if not go then&lt;br /&gt;
		return errorOrentity&lt;br /&gt;
	end&lt;br /&gt;
	local entity = errorOrentity&lt;br /&gt;
	-- if wiki-linked value collect the QID in a table&lt;br /&gt;
	if (propclaims[1] and propclaims[1].mainsnak.snaktype == &amp;quot;value&amp;quot; and propclaims[1].mainsnak.datavalue.type == &amp;quot;wikibase-entityid&amp;quot;) then&lt;br /&gt;
		local out = {}&lt;br /&gt;
		for k, v in pairs(propclaims) do&lt;br /&gt;
			out[#out + 1] = &amp;quot;Q&amp;quot; .. v.mainsnak.datavalue.value[&amp;quot;numeric-id&amp;quot;]&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat(out, &amp;quot;、&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		-- not a wikibase-entityid, so return empty&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- returns the page id (Q...) of the current page or nothing of the page is not connected to Wikidata&lt;br /&gt;
function p.pageId(frame)&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject()&lt;br /&gt;
	if not entity then return nil else return entity.id end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.claim(frame)&lt;br /&gt;
	local property = frame.args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	local id = frame.args[&amp;quot;id&amp;quot;]&lt;br /&gt;
	local qualifierId = frame.args[&amp;quot;qualifier&amp;quot;]&lt;br /&gt;
	local parameter = frame.args[&amp;quot;parameter&amp;quot;]&lt;br /&gt;
	local list = frame.args[&amp;quot;list&amp;quot;]&lt;br /&gt;
	local references = frame.args[&amp;quot;references&amp;quot;]&lt;br /&gt;
	local showerrors = frame.args[&amp;quot;showerrors&amp;quot;]&lt;br /&gt;
	local default = frame.args[&amp;quot;default&amp;quot;]&lt;br /&gt;
	if default then showerrors = nil end&lt;br /&gt;
&lt;br /&gt;
	-- get wikidata entity&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(id)&lt;br /&gt;
	if not entity then&lt;br /&gt;
		if showerrors then return printError(&amp;quot;entity-not-found&amp;quot;) else return default end&lt;br /&gt;
	end&lt;br /&gt;
	-- fetch the first claim of satisfying the given property&lt;br /&gt;
	local claims = findClaims(entity, property)&lt;br /&gt;
	if not claims or not claims[1] then&lt;br /&gt;
		if showerrors then return printError(&amp;quot;property-not-found&amp;quot;) else return default end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- get initial sort indices&lt;br /&gt;
	local sortindices = {}&lt;br /&gt;
	for idx in pairs(claims) do&lt;br /&gt;
		sortindices[#sortindices + 1] = idx&lt;br /&gt;
	end&lt;br /&gt;
	-- sort by claim rank&lt;br /&gt;
	local comparator = function(a, b)&lt;br /&gt;
		local rankmap = { deprecated = 2, normal = 1, preferred = 0 }&lt;br /&gt;
		local ranka = rankmap[claims[a].rank or &amp;quot;normal&amp;quot;] .. string.format(&amp;quot;%08d&amp;quot;, a)&lt;br /&gt;
		local rankb = rankmap[claims[b].rank or &amp;quot;normal&amp;quot;] .. string.format(&amp;quot;%08d&amp;quot;, b)&lt;br /&gt;
		return ranka &amp;lt; rankb&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(sortindices, comparator)&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
	local error&lt;br /&gt;
	if list then&lt;br /&gt;
		local value&lt;br /&gt;
		-- iterate over all elements and return their value (if existing)&lt;br /&gt;
		result = {}&lt;br /&gt;
		for idx in pairs(claims) do&lt;br /&gt;
			local claim = claims[sortindices[idx]]&lt;br /&gt;
			value, error = getValueOfClaim(claim, qualifierId, parameter)&lt;br /&gt;
			if not value and showerrors then value = error end&lt;br /&gt;
			if value and references then value = value .. getReferences(frame, claim) end&lt;br /&gt;
			result[#result + 1] = value&lt;br /&gt;
		end&lt;br /&gt;
		result = table.concat(result, list)&lt;br /&gt;
	else&lt;br /&gt;
		-- return first element&lt;br /&gt;
		local claim = claims[sortindices[1]]&lt;br /&gt;
		result, error = getValueOfClaim(claim, qualifierId, parameter)&lt;br /&gt;
		if result and references then result = result .. getReferences(frame, claim) end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if result then return result else&lt;br /&gt;
		if showerrors then return error else return default end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- look into entity object&lt;br /&gt;
function p.ViewSomething(frame)&lt;br /&gt;
	local f = (frame.args[1] or frame.args.id) and frame or frame:getParent()&lt;br /&gt;
	local id = f.args.id&lt;br /&gt;
	if id and (#id == 0) then&lt;br /&gt;
		id = nil&lt;br /&gt;
	end&lt;br /&gt;
	local data = mw.wikibase.getEntityObject(id)&lt;br /&gt;
	if not data then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local index = f.args[i]&lt;br /&gt;
		if not index then&lt;br /&gt;
			if type(data) == &amp;quot;table&amp;quot; then&lt;br /&gt;
				return mw.text.jsonEncode(data, mw.text.JSON_PRESERVE_KEYS + mw.text.JSON_PRETTY)&lt;br /&gt;
			else&lt;br /&gt;
				return tostring(data)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		data = data[index] or data[tonumber(index)]&lt;br /&gt;
		if not data then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- getting sitelink of a given wiki&lt;br /&gt;
-- get sitelink of current item if qid not supplied&lt;br /&gt;
function p.getSiteLink(frame)&lt;br /&gt;
	local qid = frame.args.qid&lt;br /&gt;
	if qid == &amp;quot;&amp;quot; then qid = nil end&lt;br /&gt;
	local f = mw.text.trim( frame.args[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
	if not entity then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	local link = entity:getSitelink( f )&lt;br /&gt;
	if not link then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	return link&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.Dump(frame)&lt;br /&gt;
	local f = (frame.args[1] or frame.args.id) and frame or frame:getParent()&lt;br /&gt;
	local data = mw.wikibase.getEntityObject(f.args.id)&lt;br /&gt;
	if not data then&lt;br /&gt;
		return i18n.warnDump&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local index = f.args[i]&lt;br /&gt;
		if not index then&lt;br /&gt;
			return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;..mw.dumpObject(data)..&amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;.. i18n.warnDump&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		data = data[index] or data[tonumber(index)]&lt;br /&gt;
		if not data then&lt;br /&gt;
			return i18n.warnDump&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization&amp;diff=4793</id>
		<title>模板:Infobox organization</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%A8%A1%E6%9D%BF:Infobox_organization&amp;diff=4793"/>
		<updated>2022-11-30T23:22:42Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​导入1个版本&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| bodyclass = vcard&lt;br /&gt;
&lt;br /&gt;
| titleclass = fn org&lt;br /&gt;
| title = {{{组织名稱|{{{name|{{{organization_name|{{{Non-profit_name|&amp;lt;includeonly&amp;gt;{{PAGENAMEBASE}}&amp;lt;/includeonly&amp;gt;}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| subheader = {{#if:{{{native_name|{{{native name|}}}}}}|&amp;lt;span class=&amp;quot;nickname&amp;quot; {{#if:{{{native_name_lang|}}}|lang=&amp;quot;{{{native_name_lang}}}&amp;quot;}}&amp;gt;{{{native_name|{{{native name}}}}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| image = {{#invoke:InfoboxImage|InfoboxImage |image={{{组织標誌|{{{logo|{{{organization_logo|{{{Non-profit_logo|{{#if:{{wikidata|property|raw|{{{qid|}}}|P158}}|{{wikidata|property|raw|{{{qid|}}}|P158}}}}}}}}}}}}}}}} |size={{{logo_size|}}} |sizedefault=250px |alt={{{logo_alt|}}} }}&lt;br /&gt;
| caption = {{{logo_caption|}}}&lt;br /&gt;
&lt;br /&gt;
| image2 = {{#invoke:InfoboxImage|InfoboxImage |image={{{image|}}} |size={{{image_size|{{{imagesize|{{{size|}}}}}}}}} |sizedefault=frameless |alt={{{image_alt|{{{alt|}}}}}} }}&lt;br /&gt;
| caption2 = {{{caption|}}}&lt;br /&gt;
&lt;br /&gt;
| image3 = {{#invoke:InfoboxImage|InfoboxImage |image={{{map|}}} |size={{{map_size|{{{msize|}}}}}} |sizedefault=250px |alt={{{map_alt|{{{malt|}}}}}} }}&lt;br /&gt;
| caption3 = {{{map_caption|{{{mcaption|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| image4 = {{#invoke:InfoboxImage|InfoboxImage |image={{{map2|}}} |size={{{map2_size|}}} |sizedefault=250px |alt={{{map2_alt|}}} }}&lt;br /&gt;
| caption4 = {{{map2_caption|}}}`&lt;br /&gt;
&lt;br /&gt;
| labelstyle = padding-right:0.6em; width:75px;&amp;lt;!--(to ensure some gap between any (long/unwrapped) labels and subsequent data on same line)--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| label1 = {{longitem|原稱}}&lt;br /&gt;
| class1 = nickname&lt;br /&gt;
|  data1 = {{if empty |{{{former name|}}} |{{{former_name|}}} |{{{former|}}} |{{{formerly|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label2  = {{#if:{{{original_name|}}}|原名}}&lt;br /&gt;
|  data2  = {{#if:{{{original_name|}}}|&amp;lt;span style=&amp;quot;font-weight:bold;&amp;quot;&amp;gt;{{{original_name|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
| label3  = 簡稱&lt;br /&gt;
| class3  = nickname&lt;br /&gt;
|  data3  = {{{abbreviation|}}}&lt;br /&gt;
&lt;br /&gt;
| label4  = 命名缘由&lt;br /&gt;
|  data4  = {{#invoke:Wikidata|getValue|P138|{{{named_after|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label11  = 前身机构&lt;br /&gt;
|  data11  = {{#invoke:Wikidata|getValue|P1365|{{{predecessor|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label12  = 合併自&lt;br /&gt;
|  data12  = {{{merger|}}}&lt;br /&gt;
&lt;br /&gt;
| label13  = 成立時間&lt;br /&gt;
| class13  = note&lt;br /&gt;
|  data13  = {{#invoke:Wikidata|getValue|P571|{{{成立年份|{{{formation|{{{founded_date|{{{founded|{{{established|FETCH_WIKIDATA}}}}}}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label14  = 創始人&lt;br /&gt;
|  data14  = {{#invoke:Wikidata|getValue|P112|{{{founder|{{{founders|FETCH_WIKIDATA}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label15  = 創始地&lt;br /&gt;
|  data15  = {{#invoke:Wikidata|getValue|P740|{{{founding_location|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label16  = 撤销&lt;br /&gt;
|  data16  = {{#invoke:Wikidata|getValue|P576|{{{extinction|{{{dissolved|FETCH_WIKIDATA}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label17  = 併入&lt;br /&gt;
|  data17  = {{{merged|}}}&lt;br /&gt;
&lt;br /&gt;
| label18  = 后继机构&lt;br /&gt;
|  data18  = {{#invoke:Wikidata|getValue|P1366|{{{successor|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label21 = 類型&lt;br /&gt;
|  data21 = {{#invoke:Wikidata|getValue|P31|{{{组织性质|{{{type|{{{organization_type|{{{Non-profit_type|FETCH_WIKIDATA}}}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label22 = {{longitem |{{#if:{{{vat_id|}}} |[[VAT identification number|VAT ID no.]] |{{en-link|納稅人識別號碼|Taxpayer Identification Number|Tax ID no.}}}} }}&lt;br /&gt;
|  data22 = {{#if:{{{vat_id|}}} |{{{vat_id}}} |{{{tax_id|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label23 = {{#if:{{{registration_id_name|}}} |{{Lpid|{{{registration_id_name|}}} }} |注冊號}}&lt;br /&gt;
|  data23 = {{#if:{{{registration_id_name|}}} |&lt;br /&gt;
{{#if:{{{registration_id|}}} | {{Lpid|{{{registration_id_name|}}}|{{{registration_id|}}} }}&lt;br /&gt;
}} }}&lt;br /&gt;
&lt;br /&gt;
| label24 = 法律地位&lt;br /&gt;
|  data24 = {{#invoke:Wikidata|getValue|P1454|{{{status|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label25 = {{longitem|專業頭銜}}&lt;br /&gt;
|  data25 = {{{professional_title|}}}&lt;br /&gt;
&lt;br /&gt;
| label31 = 總部&lt;br /&gt;
|  data31 = {{#invoke:WikidataIB |getValue |rank=best |P159 |name=assets |qual=P276 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{总部地址|{{{headquarters|}}}}}} }}&lt;br /&gt;
&lt;br /&gt;
| label32 = 地點&lt;br /&gt;
| class32 = label&lt;br /&gt;
|  data32 = {{Unbulleted list&lt;br /&gt;
             | 1 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{location_city|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{location_city}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{location_country|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{location_country}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 2 = {{{location|}}}&lt;br /&gt;
             | 3 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{location_city2|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{location_city2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{location_country2|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{location_country2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 4 = {{{location2|}}}&lt;br /&gt;
            }}&lt;br /&gt;
&lt;br /&gt;
| label33 = 地址&lt;br /&gt;
| class33 = label&lt;br /&gt;
|  data33 = {{Unbulleted list&lt;br /&gt;
             | 1 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{addnl_location_city|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{addnl_location_city}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{addnl_location_country|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{addnl_location_country}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 2 = {{{addnl_location|{{{additional_location|}}}}}}&lt;br /&gt;
             | 3 = {{comma separated entries&lt;br /&gt;
                    | 1 = {{#if:{{{addnl_location_city2|}}}    |&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;{{{addnl_location_city2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                    | 2 = {{#if:{{{addnl_location_country2|}}} |&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;{{{addnl_location_country2}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
                   }}&lt;br /&gt;
             | 4 = {{{addnl_location2|{{{additional_location2|}}}}}}&lt;br /&gt;
            }}&lt;br /&gt;
&lt;br /&gt;
| label34 = 坐標&lt;br /&gt;
|  data34 = {{#if:{{{coordinates|{{{coords|}}}}}}|{{#invoke:Coordinates|coordinsert|{{{coordinates|{{{coords|}}}}}}|type:landmark|{{#if:{{{location_country|}}}|region:{{Country abbreviation|{{{location_country}}}}}}}}}|{{#if:{{#property:P625}}|{{#invoke:Coordinates|coord|format=dms}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label41 = 起源&lt;br /&gt;
|  data41 = {{{origins|}}}&lt;br /&gt;
&lt;br /&gt;
| label42 = 產品&lt;br /&gt;
|  data42 = {{{products|{{{product|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label43 = 服務&lt;br /&gt;
| class43 = note&lt;br /&gt;
|  data43 = {{{services|}}}&lt;br /&gt;
&lt;br /&gt;
| label44 = 服务地区&lt;br /&gt;
|  data44 = {{#invoke:Wikidata|getValue|P2541|{{{area_served|{{{region_served|{{{region|FETCH_WIKIDATA}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label45 = 方法&lt;br /&gt;
|  data45 = {{{methods|{{{method|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label46 = 領域&lt;br /&gt;
|  data46 = {{{fields|{{{field|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label47 = {{longitem |會員{{#if:{{{会员人数|{{{num_members|{{{members|}}}}}}}}}}} {{#if:{{{num_members_year|{{{membership_year|}}}}}} |{{nobold|（{{{num_members_year|{{{membership_year|}}}}}}）}} }} }}&lt;br /&gt;
|  data47 = {{#if:{{{会员人数|{{{num_members|{{{members|}}}}}}}}} |{{{会员人数|{{{num_members|{{{members}}}}}}}}} |{{{membership|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label48 = {{longitem |官方語言}}&lt;br /&gt;
|  data48 = {{{languages|{{{language|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label61 = 隸屬&lt;br /&gt;
|  data61 = {{{affiliations|}}}&lt;br /&gt;
&lt;br /&gt;
| label62 = 所有者&lt;br /&gt;
|  data62 = {{{owners|{{{owner|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label63 = {{longitem|秘書長}}&lt;br /&gt;
|  data63 = {{#if:{{{general|}}} |{{{general}}} |{{{sec_gen|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label64 = {{#if:{{{领导职务|{{{leader_title|}}}}}}|{{longitem|{{{领导职务|{{{leader_title}}}}}}}}|領導人}}&lt;br /&gt;
|  data64 = {{{现任领导|{{{leader_name|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label65 = {{longitem|{{{leader_title2}}}}}&lt;br /&gt;
|  data65 = {{#if:{{{leader_title2|}}} |{{{leader_name2|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label66 = {{longitem|{{{leader_title3}}}}}&lt;br /&gt;
|  data66 = {{#if:{{{leader_title3|}}} |{{{leader_name3|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label67 = {{longitem|{{{leader_title4}}}}}&lt;br /&gt;
|  data67 = {{#if:{{{leader_title4|}}} |{{{leader_name4|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label68 = {{longitem|[[董事會]]}}&lt;br /&gt;
|  data68 = {{#invoke:WikidataIB |getValue |rank=best |P3320 |name=assets |qual=P585 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{board_of_directors|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label69 = {{longitem|重要人物}}&lt;br /&gt;
|  data69 = {{#invoke:WikidataIB |getValue |rank=best |P169 |name=assets |qual=P585 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{key_people|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label81 = {{#if:{{{main_organ|}}} |{{longitem|机关刊物}} |出版物}}&lt;br /&gt;
|  data81 = {{#if:{{{main_organ|}}} |{{{main_organ}}} |{{{publication|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label82 = {{longitem|上級組織{{#if:{{{parent_organisation|}}}}}}}&lt;br /&gt;
|  data82 = {{#if:{{{parent_organisation|}}} |{{{parent_organisation}}} |{{{parent_organization|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label83 = 分支機構&lt;br /&gt;
|  data83 = {{#if:{{{subsidiaries|}}} |{{{subsidiaries}}} |{{{subsid|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label84 = 脫離&lt;br /&gt;
|  data84 = {{{secessions|}}}&lt;br /&gt;
&lt;br /&gt;
| label85 = {{longitem |預算{{#if:{{{budget_year|}}} |{{nobold|（{{{budget_year}}}）}} }} }}&lt;br /&gt;
|  data85 = {{{budget|}}}&lt;br /&gt;
&lt;br /&gt;
| label86 = {{longitem |收入{{#if:{{{revenue_year|{{{income_year|}}}}}} |{{nobold|（{{{revenue_year|{{{income_year|}}}}}}）}} }} }}&lt;br /&gt;
|  data86 = {{#invoke:WikidataIB |getValue |rank=best |P2139 |name=net_income |qual=P585 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{revenue|{{{income|}}}}}} }}&lt;br /&gt;
&lt;br /&gt;
| label87 = 支出{{#if:{{{expenses_year|}}} | {{nobold|（{{{expenses_year}}}）}} }}&lt;br /&gt;
|  data87 = {{{disbursed|{{{disbursements|{{{disbursement|{{{expenses|{{{spent|{{{expense|}}}}}}}}}}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label88 = 捐款&lt;br /&gt;
|  data88 = {{#invoke:WikidataIB |getValue |rank=best |P8093 |name=net_income |qual=P585 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{endowment|}}} }}&lt;br /&gt;
&lt;br /&gt;
| label90 = 員工数{{#if:{{{num_staff_year|{{{staff_year|{{{num_employees_year|{{{employees_year|}}}}}}}}}}}} |&amp;lt;br&amp;gt;{{nobold|({{{num_staff_year|{{{staff_year|{{{num_employees_year|{{{employees_year|}}}}}}}}}}}})}} }}&lt;br /&gt;
|  data90 = {{#invoke:WikidataIB |getValue |rank=best |P1128 |name=assets |qual=P585 |qid={{{qid|}}} |fetchwikidata={{{fetchwikidata|ALL}}} |suppressfields={{{suppressfields|}}} |onlysourced=yes |noicon={{{noicon|no}}} |maxvals=1 |{{{num_staff|{{{staff|{{{num_employees|{{{employees|}}}}}}}}}}}} }}&lt;br /&gt;
&lt;br /&gt;
| label91 = {{longitem |志願者数{{#if:{{{num_volunteers_year|{{{volunteers_year|}}}}}} |{{nobold|（{{{num_volunteers_year|{{{volunteers_year|}}}}}}）}} }} }}&lt;br /&gt;
|  data91 = {{{num_volunteers|{{{volunteers|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label101  = 標語&lt;br /&gt;
| class101  = note&lt;br /&gt;
|  data101  = {{{motto|{{{organization_motto|{{{pledge|}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label102 = 目標&lt;br /&gt;
|  data102 = {{{focus|{{{purpose|}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label103 = 口號&lt;br /&gt;
|  data103 = {{{slogan|{{{Non-profit_slogan|{{{non-profit_slogan|}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label104 = 使命聲明&lt;br /&gt;
|  data104 = {{{mission|}}}&lt;br /&gt;
&lt;br /&gt;
| label105 = 獎項&lt;br /&gt;
|  data105 = {{#invoke:Wikidata|getValue|P166|{{{awards|FETCH_WIKIDATA}}}}}&lt;br /&gt;
&lt;br /&gt;
| label106 = 網站&lt;br /&gt;
|  data106 = {{#if:{{{组织网站|{{{website|{{{homepage|}}}}}}}}}|{{{组织网站|{{{website|{{{homepage|}}}}}}}}}|{{{official website|{{#invoke:Wikidata|claim|P856|list=&amp;lt;br&amp;gt;}}}}}}}&lt;br /&gt;
&lt;br /&gt;
| label107 = 備註&lt;br /&gt;
|  data107 = {{{remarks|}}}&lt;br /&gt;
&lt;br /&gt;
| belowstyle = border-top:#aaa 1px solid;&lt;br /&gt;
| below = {{{footnotes|}}}&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4791</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4791"/>
		<updated>2022-11-30T23:20:36Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道實業集團}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 300px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4790</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4790"/>
		<updated>2022-11-30T23:19:50Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道實業集團}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 250px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%96%87%E4%BB%B6:Yuunitetsu_Building.jpg&amp;diff=4789</id>
		<title>文件:Yuunitetsu Building.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%96%87%E4%BB%B6:Yuunitetsu_Building.jpg&amp;diff=4789"/>
		<updated>2022-11-30T23:17:35Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4788</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4788"/>
		<updated>2022-11-30T23:17:34Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道實業集團}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区海原街 3 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4787</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4787"/>
		<updated>2022-11-30T23:02:57Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道實業集團}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营部在 2022 年[[5.2204 uDays Hana]] 版本后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大因此“没有任何营收空间”，&#039;&#039;&#039;完全是受“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线及悠日高铁、花都市营地下铁沿线所有建筑的产权及线路唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”重新建设，因此&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，常被正负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间产权实际脱离出悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4786</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4786"/>
		<updated>2022-11-30T22:58:15Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道實業集團}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路实业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana]] 版本“人文更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大“没有任何营收空间”，&#039;&#039;&#039;完全是“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4785</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4785"/>
		<updated>2022-11-30T22:57:01Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = (uDays) Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana]] 版本“人文更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大“没有任何营收空间”，&#039;&#039;&#039;完全是“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays [[花都市]]悠亭区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4784</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4784"/>
		<updated>2022-11-30T22:55:34Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = (uDays) Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana 版本]]“人文化更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大“没有任何营收空间”，&#039;&#039;&#039;完全是“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays 花都市悠兰区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4783</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4783"/>
		<updated>2022-11-30T22:54:33Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“&#039;&#039;&#039;悠日铁道&#039;&#039;&#039;”或“&#039;&#039;&#039;悠铁&#039;&#039;&#039;”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但&#039;&#039;&#039;实际上是 SantorsiaWorks 的马甲&#039;&#039;&#039;。本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana 版本]]“人文化更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大“没有任何营收空间”，&#039;&#039;&#039;完全是“悠日计画管理组、uDays 管理组补贴的特许存在”&#039;&#039;&#039;。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays 花都市悠兰区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，&#039;&#039;&#039;悠日铁道管辖的线路及车站体量均较小&#039;&#039;&#039;，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4782</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4782"/>
		<updated>2022-11-30T22:53:27Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“悠日铁道”或“悠铁”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但实际上是 SantorsiaWorks 的马甲。本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana 版本]]“人文化更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大“没有任何营收空间”，完全是“悠日计画管理组、uDays 管理组补贴的特许存在”。&lt;br /&gt;
&lt;br /&gt;
悠日铁道总部位于 uDays 花都市悠兰区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，悠日铁道管辖的线路及车站体量均较小，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4781</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4781"/>
		<updated>2022-11-30T22:51:17Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039; (日语罗马字：Yuunitetsu, 英文：uDays Railway)，简称“悠日铁道”或“悠铁”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但实际上是 SantorsiaWorks 的马甲。总部位于 uDays 花都市悠兰区，拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市营地下铁的产权及唯一准许运营权。因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，悠日铁道管辖的线路及车站体量均较小，经常被正面或负面评价形容“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，uDays 端巽线风巽区间实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
悠日铁道本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana 版本]]“人文化更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大，实际上“没有任何营收空间”，完全是“ 悠日计画管理组、uDays 管理组补贴的产物”用于“玩家通勤及对外营销”因此在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
	<entry>
		<id>https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4780</id>
		<title>悠日铁道</title>
		<link rel="alternate" type="text/html" href="https://wiki.czzzz.work/index.php?title=%E6%82%A0%E6%97%A5%E9%93%81%E9%81%93&amp;diff=4780"/>
		<updated>2022-11-30T22:47:55Z</updated>

		<summary type="html">&lt;p&gt;Santorsia：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox company &lt;br /&gt;
| name     = 悠日铁道&amp;lt;br&amp;gt;{{small|{{lang|tw|uDays 悠日鉄道}}}}&lt;br /&gt;
| name_en  = Yuunitetsu&lt;br /&gt;
| logo = yuunitetsu_full.png&lt;br /&gt;
| logo_size = 150px&lt;br /&gt;
| image = Yuunitetsu_Building.jpg&lt;br /&gt;
| image_size = 225px&lt;br /&gt;
| image_caption = 位于花都市悠亭区的悠日铁道本社大楼&lt;br /&gt;
| type = 官方性质&lt;br /&gt;
| foundation       = 2020 年 8 月 16 日&lt;br /&gt;
| location         = [[花都市]]悠亭区白山街 72 号&lt;br /&gt;
| parent           = uDays 管理组&lt;br /&gt;
| subsid           = 悠日高铁、花都市营地下铁&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;uDays 悠日铁道&#039;&#039;&#039;(日语罗马字：Yuunitetsu, 英文-uDays Railway)，简称“悠日铁道”或“悠铁”，是悠日计画 uDays 中最主要的“民营”铁路事业集团，但实际上是 SantorsiaWorks 的马甲。总部位于uDays 花都市悠兰区，其拥有悠日计画 uDays 境内端巽线(含沿线所有建筑产权)及悠日高铁、花都市公营地下铁的产权及唯一运营权。但因由 uDays 境内绝大多数车站都在 2020 年前后依照“捷运方案”建设，悠铁管辖的线路及车站体量均较小，经常被正面或负面评价为“可爱”。在 2022 年 11 月，悠日铁道将其管辖的端巽线风巽段拆出由京音铁道运营，在此之后，端巽线风巽段实际独立于悠日铁道。&lt;br /&gt;
&lt;br /&gt;
悠日铁道本质是 uDays 管理组“悠日铁路”运营方在 2022 年[[5.2204 uDays Hana 版本]]“人文化更新”后易名的产物，因此上整体运营体系与 2020 年领域中央铁路时期相差不大，实际上“没有任何营收空间”，完全是“ 悠日计画管理组、uDays 管理组补贴的产物”用于“玩家通勤及对外营销”因此在外宣中，悠日铁道通常也被用作悠日计画 uDays 境内铁路乃至全悠日计画铁道事业的代名词。因 uDays 管理组要求，许多印有悠日铁道字样及徽标的附加组件被直接对外配布而未根据《第三方公开披露法案》删除此类可被认定为“营销”的内容。&lt;br /&gt;
&lt;br /&gt;
==概况==&lt;br /&gt;
与悠日计画管理组、uDays 管理组密不可分，实际上是 SantorsiaWorks 马甲，“民营”名义但实际上完全以“官方立场”垄断 uDays 境内直辖三市的铁路事业集团。&lt;/div&gt;</summary>
		<author><name>Santorsia</name></author>
	</entry>
</feed>