<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.velthir.xyz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qez</id>
	<title>PT National Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.velthir.xyz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Qez"/>
	<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php/Special:Contributions/Qez"/>
	<updated>2026-04-08T03:55:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=136</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=136"/>
		<updated>2025-07-01T16:19:25Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;nowiki/&amp;gt;[[Torn City]]]&lt;br /&gt;
&lt;br /&gt;
[[tc:Torn City]]&lt;br /&gt;
&lt;br /&gt;
[[tc:Big Al&#039;s]]&lt;br /&gt;
&lt;br /&gt;
[[Torn City]]&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=135</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=135"/>
		<updated>2025-07-01T16:18:25Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;nowiki/&amp;gt;[[Torn City]]]&lt;br /&gt;
&lt;br /&gt;
[[tc:Torn City]]&lt;br /&gt;
&lt;br /&gt;
[[Torn City]]&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=134</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=134"/>
		<updated>2025-07-01T16:17:44Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;nowiki/&amp;gt;[[Torn City]]]&lt;br /&gt;
&lt;br /&gt;
[[tc:Torn City]]&lt;br /&gt;
[[Torn City]]&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=133</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Main_Page&amp;diff=133"/>
		<updated>2025-07-01T16:17:12Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;nowiki/&amp;gt;[[Torn City]]]&lt;br /&gt;
&lt;br /&gt;
[[tc:Torn City]]&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=132</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=132"/>
		<updated>2025-07-01T16:05:50Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
  local test = mw.html.create(&amp;quot;a&amp;quot;)&lt;br /&gt;
  test:attr(&amp;quot;href&amp;quot;, &amp;quot;https://wiki.torn.com/wiki/&amp;quot;.. frame.args[1])&lt;br /&gt;
  test:text(&amp;quot;&amp;quot; .. frame.args[1])&lt;br /&gt;
  return test:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=131</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=131"/>
		<updated>2025-07-01T16:05:27Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
  local test = mw.html.create(&amp;quot;a&amp;quot;)&lt;br /&gt;
  test:attr(&amp;quot;href&amp;quot;, &amp;quot;https://wiki.torn.com/wiki/&amp;quot;.. frame.args[1])&lt;br /&gt;
  test:text(&amp;quot;&amp;quot; .. frame.args[1])&lt;br /&gt;
  return test&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=130</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=130"/>
		<updated>2025-07-01T16:00:26Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
  local test = mw.html.create(&amp;quot;a&amp;quot;)&lt;br /&gt;
  test.attr(&amp;quot;href&amp;quot;, &amp;quot;https://wiki.torn.com/wiki/&amp;quot;.. frame.args[1])&lt;br /&gt;
  test.text(&amp;quot;&amp;quot; .. frame.args[1])&lt;br /&gt;
  return test&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=129</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=129"/>
		<updated>2025-07-01T16:00:05Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
  local test = mw.html.create(&amp;quot;a&amp;quot;)&lt;br /&gt;
  test.attr(&amp;quot;href&amp;quot;, &amp;quot;https://wiki.torn.com/wiki/&amp;quot;..fame.args[1])&lt;br /&gt;
  test.text(&amp;quot;&amp;quot; .. frame.args[1])&lt;br /&gt;
  return test&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=128</id>
		<title>Template:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=128"/>
		<updated>2025-07-01T15:55:16Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Tcw|hello|test}} [[Torn city]]&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=127</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=127"/>
		<updated>2025-07-01T15:54:55Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
    return &amp;quot;Hello, world!&amp;quot; .. frame.args[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=126</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=126"/>
		<updated>2025-07-01T15:54:24Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
    return &amp;quot;Hello, world!&amp;quot; .. frame.args[0]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=125</id>
		<title>Template:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=125"/>
		<updated>2025-07-01T15:53:47Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Tcw|hello|test}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=124</id>
		<title>Template:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Tcw&amp;diff=124"/>
		<updated>2025-07-01T15:53:39Z</updated>

		<summary type="html">&lt;p&gt;Qez: Created page with &amp;quot;{{#invoke:Tcw|Hello|test}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Tcw|Hello|test}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=123</id>
		<title>Module:Tcw</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tcw&amp;diff=123"/>
		<updated>2025-07-01T15:52:10Z</updated>

		<summary type="html">&lt;p&gt;Qez: testing the tcw module and template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame, link )&lt;br /&gt;
    return &amp;quot;Hello, world!&amp;quot; .. link&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=West_Side&amp;diff=119</id>
		<title>West Side</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=West_Side&amp;diff=119"/>
		<updated>2025-06-27T21:15:22Z</updated>

		<summary type="html">&lt;p&gt;Qez: Added the torn city footer to the west side page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==West Side==&lt;br /&gt;
&lt;br /&gt;
The west side is home to a few places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Torn_City}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=West_Side&amp;diff=118</id>
		<title>West Side</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=West_Side&amp;diff=118"/>
		<updated>2025-06-27T21:13:22Z</updated>

		<summary type="html">&lt;p&gt;Qez: Add a starter page to the west side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==West Side==&lt;br /&gt;
&lt;br /&gt;
The west side is home to a few places&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=117</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=117"/>
		<updated>2025-06-27T21:12:04Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name = Torn City&lt;br /&gt;
| title = [[Torn City]]&lt;br /&gt;
| image =&lt;br /&gt;
| bodyclass = hlist&lt;br /&gt;
| group1 = [[West Side]]&lt;br /&gt;
| list1 =&lt;br /&gt;
* [[Education]]&lt;br /&gt;
* [[Gym]]&lt;br /&gt;
* [[Travel Agency]]&lt;br /&gt;
| group2 = [[Red-Light]]&lt;br /&gt;
| list2 =&lt;br /&gt;
* [[Casino]]&lt;br /&gt;
* [[Dump]]&lt;br /&gt;
* [[Loan Shark]]&lt;br /&gt;
* [[Missions]]&lt;br /&gt;
* [[Raceway]]&lt;br /&gt;
| group3 = [[North Side]]&lt;br /&gt;
| list3 =&lt;br /&gt;
* [[Auction House]]&lt;br /&gt;
* [[Bazaar Directory]]&lt;br /&gt;
* [[Church]]&lt;br /&gt;
* [[Item Market]]&lt;br /&gt;
* [[Points Building]]&lt;br /&gt;
* [[Points Market]]&lt;br /&gt;
| group4 = [[Residential]]&lt;br /&gt;
| list4 =&lt;br /&gt;
* [[Estate Agents]]&lt;br /&gt;
* [[Your Private Island]]&lt;br /&gt;
| group5 = [[City Center]]&lt;br /&gt;
| list5 =&lt;br /&gt;
* [[Chronicle Archives]]&lt;br /&gt;
* [[City Hall]]&lt;br /&gt;
* [[Community Center]]&lt;br /&gt;
* [[Hospital]]&lt;br /&gt;
* [[Jail]]&lt;br /&gt;
* [[Museum]]&lt;br /&gt;
* [[Player Committee]]&lt;br /&gt;
* [[Staff]]&lt;br /&gt;
* [[Visitor Center]]&lt;br /&gt;
| group6 = [[Financial]]&lt;br /&gt;
| list6 =&lt;br /&gt;
* [[Bank]]&lt;br /&gt;
* [[Donator House]]&lt;br /&gt;
* [[Messaging Inc]]&lt;br /&gt;
* [[Stock Market]]&lt;br /&gt;
| group7 = [[East Side]]&lt;br /&gt;
| list7 =&lt;br /&gt;
* [[Big Al&#039;s Gun Shop]]&lt;br /&gt;
* [[Bits &#039;n&#039; Bobs]]&lt;br /&gt;
* [[Cyber Force]]&lt;br /&gt;
* [[Docks]]&lt;br /&gt;
* [[Jewelry Store]]&lt;br /&gt;
* [[Nikeh Sports]]&lt;br /&gt;
* [[Pawn Shop]]&lt;br /&gt;
* [[Pharmacy]]&lt;br /&gt;
* [[Post Office]]&lt;br /&gt;
* [[Print Store]]&lt;br /&gt;
* [[Recycling Center]]&lt;br /&gt;
* [[Super Store]]&lt;br /&gt;
* [[Sweet Shop]]&lt;br /&gt;
* [[TC Clothing]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=116</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=116"/>
		<updated>2025-06-27T20:57:11Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you can go to fly outside of [[Torn City]]. A common money maker for players of all levels is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying are [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
Standard requires level 15 to access.&lt;br /&gt;
&lt;br /&gt;
Airstrip requires that you own or rent a [[Private Island]] with an [[Airstrip]] while also having a Pilot hired. &lt;br /&gt;
&lt;br /&gt;
Private is unlocked by owning a block of 9,000,000 shares of [[WLT]]&lt;br /&gt;
&lt;br /&gt;
Business is available provided you have a [[Business Class Ticket]] (BCT) that you&#039;re willing to spend. The 10* [[Lingerie Store]] offers free Business class tickets without having to spend a BCT.&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!!! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=115</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=115"/>
		<updated>2025-06-27T20:54:52Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Air Travel Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying are [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
Standard requires level 15 to access.&lt;br /&gt;
&lt;br /&gt;
Airstrip requires that you own or rent a [[Private Island]] with an [[Airstrip]] while also having a Pilot hired. &lt;br /&gt;
&lt;br /&gt;
Private is unlocked by owning a block of 9,000,000 shares of [[WLT]]&lt;br /&gt;
&lt;br /&gt;
Business is available provided you have a [[Business Class Ticket]] (BCT) that you&#039;re willing to spend. The 10* [[Lingerie Store]] offers free Business class tickets without having to spend a BCT.&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!!! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=114</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=114"/>
		<updated>2025-06-27T20:53:07Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Air Travel Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying are [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
Standard requires level 15 to access.&lt;br /&gt;
&lt;br /&gt;
Airstrip requires that you own or rent a [[Private Island]] with an [[Airstrip]] while also having a Pilot hired. &lt;br /&gt;
&lt;br /&gt;
Private is unlocked by owning a block of 9,000,000 shares of [[WLT]]&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!!! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=113</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=113"/>
		<updated>2025-06-27T20:52:59Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Air Travel Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying are [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
Standard requires level 15 to access.&lt;br /&gt;
&lt;br /&gt;
Airstrip requires that you own or rent a [[Private Island]] with an [[Airstrip]] while also having a Pilot hired. &lt;br /&gt;
&lt;br /&gt;
Private is unlocked by owning a block of 9,000,000 shares of WLT&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!!! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=112</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=112"/>
		<updated>2025-06-27T20:37:31Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!!! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=111</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=111"/>
		<updated>2025-06-27T20:37:04Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=110</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=110"/>
		<updated>2025-06-27T20:36:55Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=109</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=109"/>
		<updated>2025-06-27T20:36:45Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price !!&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=108</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=108"/>
		<updated>2025-06-27T20:36:29Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price !!&lt;br /&gt;
|-&lt;br /&gt;
| Mexico &lt;br /&gt;
| 00:26 &lt;br /&gt;
| $6.5k &lt;br /&gt;
| 00:18 &lt;br /&gt;
| PI &lt;br /&gt;
| 1000 &lt;br /&gt;
| LS &lt;br /&gt;
| 00:08 &lt;br /&gt;
| BCT &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=107</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=107"/>
		<updated>2025-06-27T20:35:30Z</updated>

		<summary type="html">&lt;p&gt;Qez: /* Flight Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot;|Standard !! colspan=&amp;quot;2&amp;quot;|Airstrip !! colspan=&amp;quot;2&amp;quot;|Private !! colspan=&amp;quot;2&amp;quot;|Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price !!&lt;br /&gt;
|-&lt;br /&gt;
| Mexico | 00:26 | $6.5k | 00:18 | PI | 1000 | LS | 00:08 | BCT |&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=106</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=106"/>
		<updated>2025-06-27T20:34:13Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=&amp;quot;2&amp;quot; Standard !! colspan=&amp;quot;2&amp;quot; Airstrip !! colspan=&amp;quot;2&amp;quot; Private !! colspan=&amp;quot;2&amp;quot; Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price !!&lt;br /&gt;
|-&lt;br /&gt;
| Mexico | 00:26 | $6.5k | 00:18 | PI | 1000 | LS | 00:08 | BCT |&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=105</id>
		<title>Travel Agency</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Travel_Agency&amp;diff=105"/>
		<updated>2025-06-27T20:33:31Z</updated>

		<summary type="html">&lt;p&gt;Qez: added the start of a page for the travel agency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Travel Agency&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Travel Agency]] is located within [[Torn City]] and is where you go to fly outside of [[Torn City]]. A common money maker is flying abroad to different locations to purchase [[Plushies]] [[Flowers]] or [[xanax]]. A money making guide for flying can be found at [[Money_making_guide:Flying]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Air Travel Options==&lt;br /&gt;
&lt;br /&gt;
When on the travel agency page you&#039;ll see the options for flying [[Standard_Flight|Standard]], [[Airstrip_Flight|Airstrip]], [[Private_Flight|Private]], or [[Business_Flight|Business]].&lt;br /&gt;
&lt;br /&gt;
==Flight Times==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+Flight Details&lt;br /&gt;
|-&lt;br /&gt;
!  !! colspan=2 Standard !! colspan=2 Airstrip !! colspan=2 Private !! colspan=2 Business!!&lt;br /&gt;
|-&lt;br /&gt;
! Destination !! Time !! Price !! Time !! Price !! Time !! Price !! Time !! Price !!&lt;br /&gt;
|-&lt;br /&gt;
| Mexico | 00:26 | $6.5k | 00:18 | PI | 1000 | LS | 00:08 | BCT |&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=104</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=104"/>
		<updated>2025-06-26T11:48:43Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name = Torn City&lt;br /&gt;
| title = [[Torn City]]&lt;br /&gt;
| image =&lt;br /&gt;
| bodyclass = hlist&lt;br /&gt;
| group1 = [[West Side]]&lt;br /&gt;
| list1 =&lt;br /&gt;
* [[Education]]&lt;br /&gt;
* [[Gym 3000]]&lt;br /&gt;
* [[Travel Agency]]&lt;br /&gt;
| group2 = [[Red-Light]]&lt;br /&gt;
| list2 =&lt;br /&gt;
* [[Casino]]&lt;br /&gt;
* [[Dump]]&lt;br /&gt;
* [[Loan Shark]]&lt;br /&gt;
* [[Missions]]&lt;br /&gt;
* [[Raceway]]&lt;br /&gt;
| group3 = [[North Side]]&lt;br /&gt;
| list3 =&lt;br /&gt;
* [[Auction House]]&lt;br /&gt;
* [[Bazaar Directory]]&lt;br /&gt;
* [[Church]]&lt;br /&gt;
* [[Item Market]]&lt;br /&gt;
* [[Points Building]]&lt;br /&gt;
* [[Points Market]]&lt;br /&gt;
| group4 = [[Residential]]&lt;br /&gt;
| list4 =&lt;br /&gt;
* [[Estate Agents]]&lt;br /&gt;
* [[Your Private Island]]&lt;br /&gt;
| group5 = [[City Center]]&lt;br /&gt;
| list5 =&lt;br /&gt;
* [[Chronicle Archives]]&lt;br /&gt;
* [[City Hall]]&lt;br /&gt;
* [[Community Center]]&lt;br /&gt;
* [[Hospital]]&lt;br /&gt;
* [[Jail]]&lt;br /&gt;
* [[Museum]]&lt;br /&gt;
* [[Player Committee]]&lt;br /&gt;
* [[Staff]]&lt;br /&gt;
* [[Visitor Center]]&lt;br /&gt;
| group6 = [[Financial]]&lt;br /&gt;
| list6 =&lt;br /&gt;
* [[Bank]]&lt;br /&gt;
* [[Donator House]]&lt;br /&gt;
* [[Messaging Inc]]&lt;br /&gt;
* [[Stock Market]]&lt;br /&gt;
| group7 = [[East Side]]&lt;br /&gt;
| list7 =&lt;br /&gt;
* [[Big Al&#039;s Gun Shop]]&lt;br /&gt;
* [[Bits &#039;n&#039; Bobs]]&lt;br /&gt;
* [[Cyber Force]]&lt;br /&gt;
* [[Docks]]&lt;br /&gt;
* [[Jewelry Store]]&lt;br /&gt;
* [[Nikeh Sports]]&lt;br /&gt;
* [[Pawn Shop]]&lt;br /&gt;
* [[Pharmacy]]&lt;br /&gt;
* [[Post Office]]&lt;br /&gt;
* [[Print Store]]&lt;br /&gt;
* [[Recycling Center]]&lt;br /&gt;
* [[Super Store]]&lt;br /&gt;
* [[Sweet Shop]]&lt;br /&gt;
* [[TC Clothing]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=103</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=103"/>
		<updated>2025-06-26T11:48:05Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name = Torn City&lt;br /&gt;
| title = [[Torn City]]&lt;br /&gt;
| image =&lt;br /&gt;
| bodyclass = hlist&lt;br /&gt;
| group1 = [[West Side]]&lt;br /&gt;
| list1 =&lt;br /&gt;
* [[Education]]&lt;br /&gt;
* [[Gym 3000]]&lt;br /&gt;
Travel Agency&lt;br /&gt;
| group2 = [[Red-Light]]&lt;br /&gt;
| list2 =&lt;br /&gt;
* [[Casino]]&lt;br /&gt;
* [[Dump]]&lt;br /&gt;
* [[Loan Shark]]&lt;br /&gt;
* [[Missions]]&lt;br /&gt;
* [[Raceway]]&lt;br /&gt;
| group3 = [[North Side]]&lt;br /&gt;
| list3 =&lt;br /&gt;
* [[Auction House]]&lt;br /&gt;
* [[Bazaar Directory]]&lt;br /&gt;
* [[Church]]&lt;br /&gt;
* [[Item Market]]&lt;br /&gt;
* [[Points Building]]&lt;br /&gt;
* [[Points Market]]&lt;br /&gt;
| group4 = [[Residential]]&lt;br /&gt;
| list4 =&lt;br /&gt;
* [[Estate Agents]]&lt;br /&gt;
* [[Your Private Island]]&lt;br /&gt;
| group5 = [[City Center]]&lt;br /&gt;
| list5 =&lt;br /&gt;
* [[Chronicle Archives]]&lt;br /&gt;
* [[City Hall]]&lt;br /&gt;
* [[Community Center]]&lt;br /&gt;
* [[Hospital]]&lt;br /&gt;
* [[Jail]]&lt;br /&gt;
* [[Museum]]&lt;br /&gt;
* [[Player Committee]]&lt;br /&gt;
* [[Staff]]&lt;br /&gt;
* [[Visitor Center]]&lt;br /&gt;
| group6 = [[Financial]]&lt;br /&gt;
| list6 =&lt;br /&gt;
* [[Bank]]&lt;br /&gt;
* [[Donator House]]&lt;br /&gt;
* [[Messaging Inc]]&lt;br /&gt;
* [[Stock Market]]&lt;br /&gt;
| group7 = [[East Side]]&lt;br /&gt;
| list7 =&lt;br /&gt;
* [[Big Al&#039;s Gun Shop]]&lt;br /&gt;
* [[Bits &#039;n&#039; Bobs]]&lt;br /&gt;
* [[Cyber Force]]&lt;br /&gt;
* [[Docks]]&lt;br /&gt;
* [[Jewelry Store]]&lt;br /&gt;
* [[Nikeh Sports]]&lt;br /&gt;
* [[Pawn Shop]]&lt;br /&gt;
* [[Pharmacy]]&lt;br /&gt;
* [[Post Office]]&lt;br /&gt;
* [[Print Store]]&lt;br /&gt;
* [[Recycling Center]]&lt;br /&gt;
* [[Super Store]]&lt;br /&gt;
* [[Sweet Shop]]&lt;br /&gt;
* [[TC Clothing]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=102</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=102"/>
		<updated>2025-06-26T11:25:18Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
 | name = Torn City&lt;br /&gt;
 | title = [[Torn City]]&lt;br /&gt;
 | image = &lt;br /&gt;
 | bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
 | group1 = Reading&lt;br /&gt;
 | list1 = &lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=101</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=101"/>
		<updated>2025-06-26T11:22:27Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
 | name = Help&lt;br /&gt;
 | title = Torn City&lt;br /&gt;
 | image = &lt;br /&gt;
 | bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
 | group1 = Reading&lt;br /&gt;
 | list1 = &lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
* [[Test]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=100</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=100"/>
		<updated>2025-06-26T11:21:21Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
 | name = Help&lt;br /&gt;
 | title = Torn City&lt;br /&gt;
 | image = &lt;br /&gt;
 | bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
 | group1 = Reading&lt;br /&gt;
 | list1 = &lt;br /&gt;
* {{ll|Help:Navigation|nsp=0}}&lt;br /&gt;
* {{ll|Help:Searching|nsp=0}}&lt;br /&gt;
* {{ll|Help:Tracking changes|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Tracking&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Watchlist|nsp=0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=99</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=99"/>
		<updated>2025-06-26T11:19:17Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
 | name = Help&lt;br /&gt;
 | title = {{ll|Help:Contents|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; Help&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
 | image = [[File:OOjs UI icon info-progressive.svg|30px|link=|alt=]]&lt;br /&gt;
 | bodyclass = hlist&lt;br /&gt;
&lt;br /&gt;
 | group1 = &amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; Reading&amp;lt;/translate&amp;gt;&lt;br /&gt;
 | list1 = &lt;br /&gt;
* {{ll|Help:Navigation|nsp=0}}&lt;br /&gt;
* {{ll|Help:Searching|nsp=0}}&lt;br /&gt;
* {{ll|Help:Tracking changes|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Tracking&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Watchlist|nsp=0}}&lt;br /&gt;
&lt;br /&gt;
| group2 = &amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Editing&amp;lt;/translate&amp;gt;&lt;br /&gt;
| list2 = &lt;br /&gt;
* {{ll|Help:Editing pages|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Basic&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Starting a new page|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; New page&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Formatting|nsp=0}}&lt;br /&gt;
* {{ll|Help:Links|nsp=0}}&lt;br /&gt;
* {{ll|Help:User page|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; User pages&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Talk pages|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; Talks&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Signatures|nsp=0}}&lt;br /&gt;
&lt;br /&gt;
| group3 = &amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Advanced&amp;lt;/translate&amp;gt;&lt;br /&gt;
| list3 = &lt;br /&gt;
* {{ll|Help:Images|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; Images&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Tables|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Tables&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Categories|nsp=0}}&lt;br /&gt;
* {{ll|Help:Subpages|nsp=0}}&lt;br /&gt;
* {{ll|Help:Managing files|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; Files&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Moving a page|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Moving&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Redirects|nsp=0}}&lt;br /&gt;
* {{ll|Help:Protected pages|nsp=0}}&lt;br /&gt;
* {{ll|Help:Templates|nsp=0}}&lt;br /&gt;
* {{ll|Help:Magic words|nsp=0}}&lt;br /&gt;
* {{ll|Help:Namespaces|nsp=0}}&lt;br /&gt;
* {{ll|Help:Special pages|nsp=0}}&lt;br /&gt;
* {{ll|Help:External searches|nsp=0}}&lt;br /&gt;
* {{ll|Help:Bots|nsp=0}}&lt;br /&gt;
&lt;br /&gt;
| group4 = &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Personal&amp;lt;/translate&amp;gt;&lt;br /&gt;
| list4 =&lt;br /&gt;
* {{ll|Help:Preferences|nsp=0}}&lt;br /&gt;
* {{ll|Help:Skins|nsp=0}}&lt;br /&gt;
&lt;br /&gt;
| group5 = &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Admin&amp;lt;/translate&amp;gt;&lt;br /&gt;
| list5 = &lt;br /&gt;
* {{ll|Help:Sysops and permissions|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; Permissions&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Protecting and unprotecting pages|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; Protecting&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Deletion and undeletion|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; Deleting&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Patrolled edits|nsp=0}}&lt;br /&gt;
* {{ll|Help:Blocking users|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Blocking&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:Range blocks|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; Range IP blocks&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{ll|Help:User rights and groups|nsp=0}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=98</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=98"/>
		<updated>2025-06-26T11:18:29Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Navbox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
local getArgs -- lazily initialized&lt;br /&gt;
&lt;br /&gt;
local args&lt;br /&gt;
local border&lt;br /&gt;
local listnums&lt;br /&gt;
local ODD_EVEN_MARKER = &#039;\127_ODDEVEN_\127&#039;&lt;br /&gt;
local RESTART_MARKER = &#039;\127_ODDEVEN0_\127&#039;&lt;br /&gt;
local REGEX_MARKER = &#039;\127_ODDEVEN(%d?)_\127&#039;&lt;br /&gt;
&lt;br /&gt;
local function striped(wikitext)&lt;br /&gt;
	-- Return wikitext with markers replaced for odd/even striping.&lt;br /&gt;
	-- Child (subgroup) navboxes are flagged with a category that is removed&lt;br /&gt;
	-- by parent navboxes. The result is that the category shows all pages&lt;br /&gt;
	-- where a child navbox is not contained in a parent navbox.&lt;br /&gt;
	local orphanCat = &#039;[[Category:Navbox orphans]]&#039;&lt;br /&gt;
	if border == &#039;subgroup&#039; and args.orphan ~= &#039;yes&#039; then&lt;br /&gt;
		-- No change; striping occurs in outermost navbox.&lt;br /&gt;
		return wikitext .. orphanCat&lt;br /&gt;
	end&lt;br /&gt;
	local first, second = &#039;odd&#039;, &#039;even&#039;&lt;br /&gt;
	if args.evenodd then&lt;br /&gt;
		if args.evenodd == &#039;swap&#039; then&lt;br /&gt;
			first, second = second, first&lt;br /&gt;
		else&lt;br /&gt;
			first = args.evenodd&lt;br /&gt;
			second = first&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local changer&lt;br /&gt;
	if first == second then&lt;br /&gt;
		changer = first&lt;br /&gt;
	else&lt;br /&gt;
		local index = 0&lt;br /&gt;
		changer = function (code)&lt;br /&gt;
			if code == &#039;0&#039; then&lt;br /&gt;
				-- Current occurrence is for a group before a nested table.&lt;br /&gt;
				-- Set it to first as a valid although pointless class.&lt;br /&gt;
				-- The next occurrence will be the first row after a title&lt;br /&gt;
				-- in a subgroup and will also be first.&lt;br /&gt;
				index = 0&lt;br /&gt;
				return first&lt;br /&gt;
			end&lt;br /&gt;
			index = index + 1&lt;br /&gt;
			return index % 2 == 1 and first or second&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local regex = orphanCat:gsub(&#039;([%[%]])&#039;, &#039;%%%1&#039;)&lt;br /&gt;
	return (wikitext:gsub(regex, &#039;&#039;):gsub(REGEX_MARKER, changer))  -- () omits gsub count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function processItem(item, nowrapitems)&lt;br /&gt;
	if item:sub(1, 2) == &#039;{|&#039; then&lt;br /&gt;
		-- Applying nowrap to lines in a table does not make sense.&lt;br /&gt;
		-- Add newlines to compensate for trim of x in |parm=x in a template.&lt;br /&gt;
		return &#039;\n&#039; .. item ..&#039;\n&#039;&lt;br /&gt;
	end&lt;br /&gt;
	if nowrapitems == &#039;yes&#039; then&lt;br /&gt;
		local lines = {}&lt;br /&gt;
		for line in (item .. &#039;\n&#039;):gmatch(&#039;([^\n]*)\n&#039;) do&lt;br /&gt;
			local prefix, content = line:match(&#039;^([*:;#]+)%s*(.*)&#039;)&lt;br /&gt;
			if prefix and not content:match(&#039;^&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&#039;) then&lt;br /&gt;
				line = prefix .. &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&#039; .. content .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
			end&lt;br /&gt;
			table.insert(lines, line)&lt;br /&gt;
		end&lt;br /&gt;
		item = table.concat(lines, &#039;\n&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if item:match(&#039;^[*:;#]&#039;) then&lt;br /&gt;
		return &#039;\n&#039; .. item ..&#039;\n&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Separate function so that we can evaluate properly whether hlist should&lt;br /&gt;
-- be added by the module&lt;br /&gt;
local function has_navbar()&lt;br /&gt;
	return args.navbar ~= &#039;off&#039; and args.navbar ~= &#039;plain&#039; and not&lt;br /&gt;
		(not args.name and mw.getCurrentFrame():getParent():getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;) == &#039;Template:Navbox&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	if has_navbar() then&lt;br /&gt;
		titleCell:wikitext(navbar{&lt;br /&gt;
			args.name,&lt;br /&gt;
			-- we depend on this being mini = 1 when the navbox module decides&lt;br /&gt;
			-- to add hlist templatestyles. we also depend on navbar outputting&lt;br /&gt;
			-- a copy of the hlist templatestyles.&lt;br /&gt;
			mini = 1,&lt;br /&gt;
			fontstyle = (args.basestyle or &#039;&#039;) .. &#039;;&#039; .. (args.titlestyle or &#039;&#039;) .. &#039;;background:none transparent;border:none;box-shadow:none; padding:0;&#039;&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Title row&lt;br /&gt;
--&lt;br /&gt;
local function renderTitleRow(tbl)&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	local titleRow = tbl:tag(&#039;tr&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleRow&lt;br /&gt;
			:tag(&#039;th&#039;)&lt;br /&gt;
				:attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-group&#039;)&lt;br /&gt;
				:addClass(args.titlegroupclass)&lt;br /&gt;
				:cssText(args.basestyle)&lt;br /&gt;
				:cssText(args.groupstyle)&lt;br /&gt;
				:cssText(args.titlegroupstyle)&lt;br /&gt;
				:wikitext(args.titlegroup)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleCell = titleRow:tag(&#039;th&#039;):attr(&#039;scope&#039;, &#039;col&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args.titlegroup then&lt;br /&gt;
		titleCell&lt;br /&gt;
			:addClass(&#039;navbox-title1&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titleColspan = 2&lt;br /&gt;
	if args.imageleft then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.image then titleColspan = titleColspan + 1 end&lt;br /&gt;
	if args.titlegroup then titleColspan = titleColspan - 1 end&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:cssText(args.basestyle)&lt;br /&gt;
		:cssText(args.titlestyle)&lt;br /&gt;
		:addClass(&#039;navbox-title&#039;)&lt;br /&gt;
		:attr(&#039;colspan&#039;, titleColspan)&lt;br /&gt;
&lt;br /&gt;
	renderNavBar(titleCell)&lt;br /&gt;
&lt;br /&gt;
	titleCell&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- id for aria-labelledby attribute&lt;br /&gt;
			:attr(&#039;id&#039;, mw.uri.anchorEncode(args.title))&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, &#039;0 4em&#039;)&lt;br /&gt;
			:wikitext(processItem(args.title))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Above/Below rows&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function getAboveBelowColspan()&lt;br /&gt;
	local ret = 2&lt;br /&gt;
	if args.imageleft then ret = ret + 1 end&lt;br /&gt;
	if args.image then ret = ret + 1 end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow(tbl)&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&#039;tr&#039;)&lt;br /&gt;
		:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-abovebelow&#039;)&lt;br /&gt;
			:addClass(args.aboveclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.abovestyle)&lt;br /&gt;
			:attr(&#039;colspan&#039;, getAboveBelowColspan())&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- id for aria-labelledby attribute, if no title&lt;br /&gt;
				:attr(&#039;id&#039;, args.title and nil or mw.uri.anchorEncode(args.above))&lt;br /&gt;
				:wikitext(processItem(args.above, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow(tbl)&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	tbl:tag(&#039;tr&#039;)&lt;br /&gt;
		:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-abovebelow&#039;)&lt;br /&gt;
			:addClass(args.belowclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:cssText(args.belowstyle)&lt;br /&gt;
			:attr(&#039;colspan&#039;, getAboveBelowColspan())&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				:wikitext(processItem(args.below, args.nowrapitems))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   List rows&lt;br /&gt;
--&lt;br /&gt;
local function renderListRow(tbl, index, listnum)&lt;br /&gt;
	local row = tbl:tag(&#039;tr&#039;)&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.imageleft then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-image&#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&#039;width&#039;, &#039;1px&#039;)               -- Minimize width&lt;br /&gt;
				:css(&#039;padding&#039;, &#039;0px 2px 0px 0px&#039;)&lt;br /&gt;
				:cssText(args.imageleftstyle)&lt;br /&gt;
				:attr(&#039;rowspan&#039;, #listnums)&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:wikitext(processItem(args.imageleft))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args[&#039;group&#039; .. listnum] then&lt;br /&gt;
		local groupCell = row:tag(&#039;th&#039;)&lt;br /&gt;
&lt;br /&gt;
		-- id for aria-labelledby attribute, if lone group with no title or above&lt;br /&gt;
		if listnum == 1 and not (args.title or args.above or args.group2) then&lt;br /&gt;
			groupCell&lt;br /&gt;
				:attr(&#039;id&#039;, mw.uri.anchorEncode(args.group1))&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
			:addClass(&#039;navbox-group&#039;)&lt;br /&gt;
			:addClass(args.groupclass)&lt;br /&gt;
			:cssText(args.basestyle)&lt;br /&gt;
			:css(&#039;width&#039;, args.groupwidth or &#039;1%&#039;) -- If groupwidth not specified, minimize width&lt;br /&gt;
&lt;br /&gt;
		groupCell&lt;br /&gt;
			:cssText(args.groupstyle)&lt;br /&gt;
			:cssText(args[&#039;group&#039; .. listnum .. &#039;style&#039;])&lt;br /&gt;
			:wikitext(args[&#039;group&#039; .. listnum])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listCell = row:tag(&#039;td&#039;)&lt;br /&gt;
&lt;br /&gt;
	if args[&#039;group&#039; .. listnum] then&lt;br /&gt;
		listCell&lt;br /&gt;
			:addClass(&#039;navbox-list1&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		listCell:attr(&#039;colspan&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not args.groupwidth then&lt;br /&gt;
		listCell:css(&#039;width&#039;, &#039;100%&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing&lt;br /&gt;
	if index % 2 == 1 then&lt;br /&gt;
		rowstyle = args.oddstyle&lt;br /&gt;
	else&lt;br /&gt;
		rowstyle = args.evenstyle&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local listText = args[&#039;list&#039; .. listnum]&lt;br /&gt;
	local oddEven = ODD_EVEN_MARKER&lt;br /&gt;
	if listText:sub(1, 12) == &#039;&amp;lt;/div&amp;gt;&amp;lt;table&#039; then&lt;br /&gt;
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.&lt;br /&gt;
		oddEven = listText:find(&#039;&amp;lt;th[^&amp;gt;]*&amp;quot;navbox%-title&amp;quot;&#039;) and RESTART_MARKER or &#039;odd&#039;&lt;br /&gt;
	end&lt;br /&gt;
	listCell&lt;br /&gt;
		:css(&#039;padding&#039;, &#039;0px&#039;)&lt;br /&gt;
		:cssText(args.liststyle)&lt;br /&gt;
		:cssText(rowstyle)&lt;br /&gt;
		:cssText(args[&#039;list&#039; .. listnum .. &#039;style&#039;])&lt;br /&gt;
		:addClass(&#039;navbox-list&#039;)&lt;br /&gt;
		:addClass(&#039;navbox-&#039; .. oddEven)&lt;br /&gt;
		:addClass(args.listclass)&lt;br /&gt;
		:addClass(args[&#039;list&#039; .. listnum .. &#039;class&#039;])&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;padding&#039;, (index == 1 and args.list1padding) or args.listpadding or &#039;0em 0.25em&#039;)&lt;br /&gt;
			:wikitext(processItem(listText, args.nowrapitems))&lt;br /&gt;
&lt;br /&gt;
	if index == 1 and args.image then&lt;br /&gt;
		row&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:addClass(&#039;navbox-image&#039;)&lt;br /&gt;
				:addClass(args.imageclass)&lt;br /&gt;
				:css(&#039;width&#039;, &#039;1px&#039;)               -- Minimize width&lt;br /&gt;
				:css(&#039;padding&#039;, &#039;0px 0px 0px 2px&#039;)&lt;br /&gt;
				:cssText(args.imagestyle)&lt;br /&gt;
				:attr(&#039;rowspan&#039;, #listnums)&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:wikitext(processItem(args.image))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Tracking categories&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local function needsHorizontalLists()&lt;br /&gt;
	if border == &#039;subgroup&#039; or args.tracking == &#039;no&#039; then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local listClasses = {&lt;br /&gt;
		[&#039;plainlist&#039;] = true, [&#039;hlist&#039;] = true, [&#039;hlist hnum&#039;] = true,&lt;br /&gt;
		[&#039;hlist hwrap&#039;] = true, [&#039;hlist vcard&#039;] = true, [&#039;vcard hlist&#039;] = true,&lt;br /&gt;
		[&#039;hlist vevent&#039;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	return not (listClasses[args.listclass] or listClasses[args.bodyclass])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- there are a lot of list classes in the wild, so we have a function to find&lt;br /&gt;
-- them and add their TemplateStyles&lt;br /&gt;
local function addListStyles()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	-- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above&lt;br /&gt;
	-- I&#039;m going to do the stupid thing first though&lt;br /&gt;
	-- Also not sure hnum and hwrap are going to live in the same TemplateStyles&lt;br /&gt;
	-- as hlist&lt;br /&gt;
	local function _addListStyles(htmlclass, templatestyles)&lt;br /&gt;
		local class_args = { -- rough order of probability of use&lt;br /&gt;
			&#039;bodyclass&#039;, &#039;listclass&#039;, &#039;aboveclass&#039;, &#039;belowclass&#039;, &#039;titleclass&#039;,&lt;br /&gt;
			&#039;navboxclass&#039;, &#039;groupclass&#039;, &#039;titlegroupclass&#039;, &#039;imageclass&#039;&lt;br /&gt;
		}&lt;br /&gt;
		local patterns = {&lt;br /&gt;
			&#039;^&#039; .. htmlclass .. &#039;$&#039;,&lt;br /&gt;
			&#039;%s&#039; .. htmlclass .. &#039;$&#039;,&lt;br /&gt;
			&#039;^&#039; .. htmlclass .. &#039;%s&#039;,&lt;br /&gt;
			&#039;%s&#039; .. htmlclass .. &#039;%s&#039;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		local found = false&lt;br /&gt;
		for _, arg in ipairs(class_args) do&lt;br /&gt;
			for _, pattern in ipairs(patterns) do&lt;br /&gt;
				if mw.ustring.find(args[arg] or &#039;&#039;, pattern) then&lt;br /&gt;
					found = true&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if found then break end&lt;br /&gt;
		end&lt;br /&gt;
		if found then&lt;br /&gt;
			return frame:extensionTag{&lt;br /&gt;
				name = &#039;templatestyles&#039;, args = { src = templatestyles }&lt;br /&gt;
			}&lt;br /&gt;
		else&lt;br /&gt;
			return &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local hlist_styles = &#039;&#039;&lt;br /&gt;
	-- navbar always has mini = 1, so here (on this wiki) we can assume that&lt;br /&gt;
	-- we don&#039;t need to output hlist styles in navbox again.&lt;br /&gt;
	if not has_navbar() then&lt;br /&gt;
		hlist_styles = _addListStyles(&#039;hlist&#039;, &#039;Flatlist/styles.css&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local plainlist_styles = _addListStyles(&#039;plainlist&#039;, &#039;Plainlist/styles.css&#039;)&lt;br /&gt;
	&lt;br /&gt;
	return hlist_styles .. plainlist_styles&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBackgroundColors()&lt;br /&gt;
	for _, key in ipairs({&#039;titlestyle&#039;, &#039;groupstyle&#039;, &#039;basestyle&#039;, &#039;abovestyle&#039;, &#039;belowstyle&#039;}) do&lt;br /&gt;
		if tostring(args[key]):find(&#039;background&#039;, 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasBorders()&lt;br /&gt;
	for _, key in ipairs({&#039;groupstyle&#039;, &#039;basestyle&#039;, &#039;abovestyle&#039;, &#039;belowstyle&#039;}) do&lt;br /&gt;
		if tostring(args[key]):find(&#039;border&#039;, 1, true) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isIllegible()&lt;br /&gt;
	-- require(&#039;Module:Color contrast&#039;) absent on mediawiki.org&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getTrackingCategories()&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	if needsHorizontalLists() then table.insert(cats, &#039;Navigational boxes without horizontal lists&#039;) end&lt;br /&gt;
	if hasBackgroundColors() then table.insert(cats, &#039;Navboxes using background colours&#039;) end&lt;br /&gt;
	if isIllegible() then table.insert(cats, &#039;Potentially illegible navboxes&#039;) end&lt;br /&gt;
	if hasBorders() then table.insert(cats, &#039;Navboxes using borders&#039;) end&lt;br /&gt;
	return cats&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories(builder)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if title.namespace ~= 10 then return end -- not in template space&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	if subpage == &#039;doc&#039; or subpage == &#039;sandbox&#039; or subpage == &#039;testcases&#039; then return end&lt;br /&gt;
&lt;br /&gt;
	for _, cat in ipairs(getTrackingCategories()) do&lt;br /&gt;
		builder:wikitext(&#039;[[Category:&#039; .. cat .. &#039;]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
--   Main navbox tables&lt;br /&gt;
--&lt;br /&gt;
local function renderMainTable()&lt;br /&gt;
	local tbl = mw.html.create(&#039;table&#039;)&lt;br /&gt;
		:addClass(&#039;nowraplinks&#039;)&lt;br /&gt;
		:addClass(args.bodyclass)&lt;br /&gt;
&lt;br /&gt;
	if args.title and (args.state ~= &#039;plain&#039; and args.state ~= &#039;off&#039;) then&lt;br /&gt;
		if args.state == &#039;collapsed&#039; then args.state = &#039;mw-collapsed&#039; end&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;mw-collapsible&#039;)&lt;br /&gt;
			:addClass(args.state or &#039;autocollapse&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl:css(&#039;border-spacing&#039;, 0)&lt;br /&gt;
	if border == &#039;subgroup&#039; or border == &#039;none&#039; then&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;navbox-subgroup&#039;)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
	else  -- regular navbox - bodystyle and style will be applied to the wrapper table&lt;br /&gt;
		tbl&lt;br /&gt;
			:addClass(&#039;navbox-inner&#039;)&lt;br /&gt;
			:css(&#039;background&#039;, &#039;transparent&#039;)&lt;br /&gt;
			:css(&#039;color&#039;, &#039;inherit&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	tbl:cssText(args.innerstyle)&lt;br /&gt;
&lt;br /&gt;
	renderTitleRow(tbl)&lt;br /&gt;
	renderAboveRow(tbl)&lt;br /&gt;
	for i, listnum in ipairs(listnums) do&lt;br /&gt;
		renderListRow(tbl, i, listnum)&lt;br /&gt;
	end&lt;br /&gt;
	renderBelowRow(tbl)&lt;br /&gt;
&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbox(navboxArgs)&lt;br /&gt;
	args = navboxArgs&lt;br /&gt;
	listnums = {}&lt;br /&gt;
&lt;br /&gt;
	for k, _ in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;string&#039; then&lt;br /&gt;
			local listnum = k:match(&#039;^list(%d+)$&#039;)&lt;br /&gt;
			if listnum then table.insert(listnums, tonumber(listnum)) end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(listnums)&lt;br /&gt;
&lt;br /&gt;
	border = mw.text.trim(args.border or args[1] or &#039;&#039;)&lt;br /&gt;
	if border == &#039;child&#039; then&lt;br /&gt;
		border = &#039;subgroup&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- render the main body of the navbox&lt;br /&gt;
	local tbl = renderMainTable()&lt;br /&gt;
	&lt;br /&gt;
	-- get templatestyles&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local base_templatestyles = frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Module:Navbox/styles.css&#039; }&lt;br /&gt;
	}&lt;br /&gt;
	local templatestyles = &#039;&#039;&lt;br /&gt;
	if args.templatestyles and args.templatestyles ~= &#039;&#039; then&lt;br /&gt;
		templatestyles = frame:extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = args.templatestyles }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local res = mw.html.create()&lt;br /&gt;
	-- &#039;navbox-styles&#039; exists for two reasons:&lt;br /&gt;
	--  1. To wrap the styles to work around phab: T200206 more elegantly. Instead&lt;br /&gt;
	--	   of combinatorial rules, this ends up being linear number of CSS rules.&lt;br /&gt;
	--  2. To allow MobileFrontend to rip the styles out with &#039;nomobile&#039; such that&lt;br /&gt;
	--     they are not dumped into the mobile view.&lt;br /&gt;
	res:tag(&#039;div&#039;)&lt;br /&gt;
		:addClass(&#039;navbox-styles&#039;)&lt;br /&gt;
		:addClass(&#039;nomobile&#039;)&lt;br /&gt;
		:wikitext(base_templatestyles .. templatestyles)&lt;br /&gt;
		:done()&lt;br /&gt;
	&lt;br /&gt;
	-- render the appropriate wrapper around the navbox, depending on the border param&lt;br /&gt;
	if border == &#039;none&#039; then&lt;br /&gt;
		local nav = res:tag(&#039;div&#039;)&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;navigation&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr(&#039;aria-labelledby&#039;, mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr(&#039;aria-label&#039;, &#039;Navbox&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif border == &#039;subgroup&#039; then&lt;br /&gt;
		-- We assume that this navbox is being rendered in a list cell of a&lt;br /&gt;
		-- parent navbox, and is therefore inside a div with padding:0em 0.25em.&lt;br /&gt;
		-- We start with a &amp;lt;/div&amp;gt; to avoid the padding being applied, and at the&lt;br /&gt;
		-- end add a &amp;lt;div&amp;gt; to balance out the parent&#039;s &amp;lt;/div&amp;gt;&lt;br /&gt;
		res&lt;br /&gt;
			:wikitext(&#039;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
			:wikitext(&#039;&amp;lt;div&amp;gt;&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		local nav = res:tag(&#039;div&#039;)&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;navigation&#039;)&lt;br /&gt;
			:addClass(&#039;navbox&#039;)&lt;br /&gt;
			:addClass(args.navboxclass)&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
			:cssText(args.style)&lt;br /&gt;
			:css(&#039;padding&#039;, &#039;3px&#039;)&lt;br /&gt;
			:wikitext(addListStyles())&lt;br /&gt;
			:node(tbl)&lt;br /&gt;
		-- aria-labelledby title, otherwise above, otherwise lone group&lt;br /&gt;
		if args.title or args.above or (args.group1 and not args.group2) then&lt;br /&gt;
			nav:attr(&#039;aria-labelledby&#039;, mw.uri.anchorEncode(args.title or args.above or args.group1))&lt;br /&gt;
		else&lt;br /&gt;
			nav:attr(&#039;aria-label&#039;, &#039;Navbox&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.nocat or &#039;false&#039;):lower() == &#039;false&#039; then&lt;br /&gt;
		renderTrackingCategories(res)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return striped(tostring(res))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbox(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;
	args = getArgs(frame, {wrappers = {&#039;Template:Navbox&#039;, &#039;Template:Navbox subgroup&#039;}})&lt;br /&gt;
	if frame.args.border then&lt;br /&gt;
		-- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}.&lt;br /&gt;
		args.border = frame.args.border&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Read the arguments in the order they&#039;ll be output in, to make references number in the right order.&lt;br /&gt;
	local _&lt;br /&gt;
	_ = args.title&lt;br /&gt;
	_ = args.above&lt;br /&gt;
	for i = 1, 20 do&lt;br /&gt;
		_ = args[&amp;quot;group&amp;quot; .. tostring(i)]&lt;br /&gt;
		_ = args[&amp;quot;list&amp;quot; .. tostring(i)]&lt;br /&gt;
	end&lt;br /&gt;
	_ = args.below&lt;br /&gt;
&lt;br /&gt;
	return p._navbox(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=97</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=97"/>
		<updated>2025-06-26T11:17:08Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
local ul&lt;br /&gt;
&lt;br /&gt;
function p.addItem (mini, full, link, descrip, args, url)&lt;br /&gt;
	local l&lt;br /&gt;
	if url then&lt;br /&gt;
		l = {&#039;[&#039;, &#039;&#039;, &#039;]&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		l = {&#039;[[&#039;, &#039;|&#039;, &#039;]]&#039;}&lt;br /&gt;
	end&lt;br /&gt;
	ul:tag(&#039;li&#039;)&lt;br /&gt;
		:addClass(&#039;nv-&#039;..full)&lt;br /&gt;
		:wikitext(l[1] .. link .. l[2])&lt;br /&gt;
		:tag(args.mini and &#039;abbr&#039; or &#039;span&#039;)&lt;br /&gt;
			:attr(&#039;title&#039;, descrip..&#039; this template&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args.mini and mini or full)&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(l[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.brackets (position, c, args, div)&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;margin-&#039;..position, &#039;-0.125em&#039;)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(c)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbar(args)&lt;br /&gt;
	local show = {true, true, true, false, false, false}&lt;br /&gt;
	local titleArg = 1&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		titleArg = 2&lt;br /&gt;
		if not args.plain then args.mini = 1 end&lt;br /&gt;
		if args.fontcolor then&lt;br /&gt;
			args.fontstyle = &#039;color:&#039; .. args.fontcolor .. &#039;;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		args.style = &#039;float:left; text-align:left&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.template then&lt;br /&gt;
		titleArg = &#039;template&#039;&lt;br /&gt;
		show = {true, false, false, false, false, false}&lt;br /&gt;
		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}&lt;br /&gt;
		for k,v in ipairs(require (&#039;Module:TableTools&#039;).compressSparseArray(args)) do&lt;br /&gt;
			local num = index[v]&lt;br /&gt;
			if num then show[num] = true end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.noedit then show[3] = false end&lt;br /&gt;
	&lt;br /&gt;
	local titleText = args[titleArg] or (&#039;:&#039; .. mw.getCurrentFrame():getParent():getTitle())&lt;br /&gt;
	local title = mw.title.new(mw.text.trim(titleText), &#039;Template&#039;)&lt;br /&gt;
	if not title then&lt;br /&gt;
		error(&#039;Invalid title &#039; .. titleText)&lt;br /&gt;
	end&lt;br /&gt;
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or &#039;&#039;&lt;br /&gt;
	&lt;br /&gt;
	local div = mw.html.create():tag(&#039;div&#039;)&lt;br /&gt;
	div&lt;br /&gt;
		:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
		:addClass(&#039;hlist&#039;)&lt;br /&gt;
		:addClass(&#039;navbar&#039;)&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
&lt;br /&gt;
	if args.mini then div:addClass(&#039;mini&#039;) end&lt;br /&gt;
&lt;br /&gt;
	if not (args.mini or args.plain) then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;word-spacing&#039;, 0)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.text or &#039;This box:&#039;)&lt;br /&gt;
				:wikitext(&#039; &#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;right&#039;, &#039;&amp;amp;#91; &#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	ul = div:tag(&#039;ul&#039;)&lt;br /&gt;
	if show[1] then p.addItem(&#039;v&#039;, &#039;view&#039;, title.fullText, &#039;View&#039;, args) end&lt;br /&gt;
	if show[2] then p.addItem(&#039;t&#039;, &#039;talk&#039;, talkpage, &#039;Discuss&#039;, args) end&lt;br /&gt;
	if show[3] then p.addItem(&#039;e&#039;, &#039;edit&#039;, title:fullUrl(&#039;action=edit&#039;), &#039;Edit&#039;, args, true) end&lt;br /&gt;
	if show[4] then p.addItem(&#039;h&#039;, &#039;hist&#039;, title:fullUrl(&#039;action=history&#039;), &#039;History of&#039;, args, true) end&lt;br /&gt;
	if show[5] then&lt;br /&gt;
		local move = mw.title.new (&#039;Special:Movepage&#039;)&lt;br /&gt;
		p.addItem(&#039;m&#039;, &#039;move&#039;, move:fullUrl(&#039;target=&#039;..title.fullText), &#039;Move&#039;, args, true) end&lt;br /&gt;
	if show[6] then p.addItem(&#039;w&#039;, &#039;watch&#039;, title:fullUrl(&#039;action=watch&#039;), &#039;Watch&#039;, args, true) end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;left&#039;, &#039; &amp;amp;#93;&#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		div&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, args.mini and &#039;0 4em&#039; or &#039;0 7em&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args[1])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES&lt;br /&gt;
	-- CARE WHEN SYNCING&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	return frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Flatlist/styles.css&#039; }&lt;br /&gt;
	} .. frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;, args = { src = &#039;Module:Navbar/styles.css&#039; }&lt;br /&gt;
	} .. tostring(div:done())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(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 p._navbar(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=96</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=96"/>
		<updated>2025-06-26T10:50:14Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
function p.box( f )&lt;br /&gt;
	local args = require( &#039;Module:ProcessArgs&#039; ).merge( true )&lt;br /&gt;
	local Navbox = {}&lt;br /&gt;
&lt;br /&gt;
	if args.title then&lt;br /&gt;
		local class = args.class or &#039;collapsible&#039;&lt;br /&gt;
		local bodyStyle = args.bodystyle or &#039;&#039;&lt;br /&gt;
		if bodyStyle ~= &#039;&#039; then&lt;br /&gt;
			bodyStyle = &#039;style=&amp;quot;&#039; .. bodyStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( Navbox, &#039; {| class=&amp;quot;navbox hlist &#039; .. class .. &#039;&amp;quot; &#039; .. bodyStyle )&lt;br /&gt;
		&lt;br /&gt;
		local titleStyle = args.titlestyle or &#039;&#039;&lt;br /&gt;
		if titleStyle ~= &#039;&#039; then&lt;br /&gt;
			titleStyle = &#039;style=&amp;quot;&#039; .. titleStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local navbar = args[1] or &#039;&#039;&lt;br /&gt;
		if navbar ~= &#039;&#039; then&lt;br /&gt;
			local mini = &#039;&#039;&lt;br /&gt;
			if navbar:match( &#039;navbar%-mini&#039; ) then&lt;br /&gt;
				mini = &#039;1&#039;&lt;br /&gt;
			end&lt;br /&gt;
			navbar = &#039;&amp;lt;div class=&amp;quot;navbox-navbar&amp;quot;&amp;gt;&#039; .. f:expandTemplate( {&lt;br /&gt;
				title = &#039;navbar&#039;,&lt;br /&gt;
				args = {&lt;br /&gt;
					args.name,&lt;br /&gt;
					mini = mini&lt;br /&gt;
				}&lt;br /&gt;
			} ) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( Navbox, &#039;! class=&amp;quot;navbox-top&amp;quot; colspan=&amp;quot;2&amp;quot; &#039; .. titleStyle .. &#039; | &#039; .. navbar .. &#039;&amp;lt;span class=&amp;quot;navbox-title&amp;quot;&amp;gt;&#039; .. args.title .. &#039;&amp;lt;/span&amp;gt;&#039; )&lt;br /&gt;
	else&lt;br /&gt;
		table.insert( Navbox, &#039; {| class=&amp;quot;navbox-child&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local groupNums = {}&lt;br /&gt;
	for k, v in pairs( args ) do&lt;br /&gt;
		if type( k ) == &#039;string&#039; then&lt;br /&gt;
			local groupNum = k:match( &#039;group(%d+)&#039; )&lt;br /&gt;
			if groupNum and v then&lt;br /&gt;
				table.insert( groupNums, tonumber( groupNum ) )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( groupNums )&lt;br /&gt;
	&lt;br /&gt;
	local groupStyle = args.groupstyle or &#039;&#039;&lt;br /&gt;
	local listStyle = args.liststyle or &#039;&#039;&lt;br /&gt;
	for _, v in ipairs( groupNums ) do&lt;br /&gt;
		local list = args[&#039;list&#039; .. v]&lt;br /&gt;
		if list then&lt;br /&gt;
			table.insert( Navbox, &#039;|-\n! class=&amp;quot;navbox-group&amp;quot; style=&amp;quot;&#039; .. groupStyle .. &#039;&amp;quot; | &#039; .. args[&#039;group&#039; .. v] )&lt;br /&gt;
			table.insert( Navbox, &#039;| class=&amp;quot;navbox-list&amp;quot; style=&amp;quot;&#039; .. listStyle .. &#039;&amp;quot; | &#039; .. list:gsub( &#039;^([*#:{])&#039;, &#039;\n%1&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.insert( Navbox, &#039;|}&#039; )&lt;br /&gt;
	&lt;br /&gt;
	Navbox = table.concat( Navbox, &#039;\n&#039; ):gsub( &#039; style=&amp;quot;&amp;quot;&#039;, &#039;&#039; )&lt;br /&gt;
	return Navbox&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=95</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=95"/>
		<updated>2025-06-26T10:49:42Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
function p.box( f )&lt;br /&gt;
	local args = require( &#039;Module:ProcessArgs&#039; ).merge( true )&lt;br /&gt;
	local navbox = {}&lt;br /&gt;
&lt;br /&gt;
	if args.title then&lt;br /&gt;
		local class = args.class or &#039;collapsible&#039;&lt;br /&gt;
		local bodyStyle = args.bodystyle or &#039;&#039;&lt;br /&gt;
		if bodyStyle ~= &#039;&#039; then&lt;br /&gt;
			bodyStyle = &#039;style=&amp;quot;&#039; .. bodyStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( navbox, &#039; {| class=&amp;quot;navbox hlist &#039; .. class .. &#039;&amp;quot; &#039; .. bodyStyle )&lt;br /&gt;
		&lt;br /&gt;
		local titleStyle = args.titlestyle or &#039;&#039;&lt;br /&gt;
		if titleStyle ~= &#039;&#039; then&lt;br /&gt;
			titleStyle = &#039;style=&amp;quot;&#039; .. titleStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local navbar = args[1] or &#039;&#039;&lt;br /&gt;
		if navbar ~= &#039;&#039; then&lt;br /&gt;
			local mini = &#039;&#039;&lt;br /&gt;
			if navbar:match( &#039;navbar%-mini&#039; ) then&lt;br /&gt;
				mini = &#039;1&#039;&lt;br /&gt;
			end&lt;br /&gt;
			navbar = &#039;&amp;lt;div class=&amp;quot;navbox-navbar&amp;quot;&amp;gt;&#039; .. f:expandTemplate( {&lt;br /&gt;
				title = &#039;navbar&#039;,&lt;br /&gt;
				args = {&lt;br /&gt;
					args.name,&lt;br /&gt;
					mini = mini&lt;br /&gt;
				}&lt;br /&gt;
			} ) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( navbox, &#039;! class=&amp;quot;navbox-top&amp;quot; colspan=&amp;quot;2&amp;quot; &#039; .. titleStyle .. &#039; | &#039; .. navbar .. &#039;&amp;lt;span class=&amp;quot;navbox-title&amp;quot;&amp;gt;&#039; .. args.title .. &#039;&amp;lt;/span&amp;gt;&#039; )&lt;br /&gt;
	else&lt;br /&gt;
		table.insert( navbox, &#039; {| class=&amp;quot;navbox-child&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local groupNums = {}&lt;br /&gt;
	for k, v in pairs( args ) do&lt;br /&gt;
		if type( k ) == &#039;string&#039; then&lt;br /&gt;
			local groupNum = k:match( &#039;group(%d+)&#039; )&lt;br /&gt;
			if groupNum and v then&lt;br /&gt;
				table.insert( groupNums, tonumber( groupNum ) )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( groupNums )&lt;br /&gt;
	&lt;br /&gt;
	local groupStyle = args.groupstyle or &#039;&#039;&lt;br /&gt;
	local listStyle = args.liststyle or &#039;&#039;&lt;br /&gt;
	for _, v in ipairs( groupNums ) do&lt;br /&gt;
		local list = args[&#039;list&#039; .. v]&lt;br /&gt;
		if list then&lt;br /&gt;
			table.insert( navbox, &#039;|-\n! class=&amp;quot;navbox-group&amp;quot; style=&amp;quot;&#039; .. groupStyle .. &#039;&amp;quot; | &#039; .. args[&#039;group&#039; .. v] )&lt;br /&gt;
			table.insert( navbox, &#039;| class=&amp;quot;navbox-list&amp;quot; style=&amp;quot;&#039; .. listStyle .. &#039;&amp;quot; | &#039; .. list:gsub( &#039;^([*#:{])&#039;, &#039;\n%1&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.insert( Navbox, &#039;|}&#039; )&lt;br /&gt;
	&lt;br /&gt;
	Navbox = table.concat( Navbox, &#039;\n&#039; ):gsub( &#039; style=&amp;quot;&amp;quot;&#039;, &#039;&#039; )&lt;br /&gt;
	return Navbox&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=94</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=94"/>
		<updated>2025-06-26T10:48:36Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
function p.box( f )&lt;br /&gt;
	local args = require( &#039;Module:ProcessArgs&#039; ).merge( true )&lt;br /&gt;
	local navbox = {}&lt;br /&gt;
&lt;br /&gt;
	if args.title then&lt;br /&gt;
		local class = args.class or &#039;collapsible&#039;&lt;br /&gt;
		local bodyStyle = args.bodystyle or &#039;&#039;&lt;br /&gt;
		if bodyStyle ~= &#039;&#039; then&lt;br /&gt;
			bodyStyle = &#039;style=&amp;quot;&#039; .. bodyStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( navbox, &#039; {| class=&amp;quot;navbox hlist &#039; .. class .. &#039;&amp;quot; &#039; .. bodyStyle )&lt;br /&gt;
		&lt;br /&gt;
		local titleStyle = args.titlestyle or &#039;&#039;&lt;br /&gt;
		if titleStyle ~= &#039;&#039; then&lt;br /&gt;
			titleStyle = &#039;style=&amp;quot;&#039; .. titleStyle .. &#039;&amp;quot;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		local navbar = args[1] or &#039;&#039;&lt;br /&gt;
		if navbar ~= &#039;&#039; then&lt;br /&gt;
			local mini = &#039;&#039;&lt;br /&gt;
			if navbar:match( &#039;navbar%-mini&#039; ) then&lt;br /&gt;
				mini = &#039;1&#039;&lt;br /&gt;
			end&lt;br /&gt;
			navbar = &#039;&amp;lt;div class=&amp;quot;navbox-navbar&amp;quot;&amp;gt;&#039; .. f:expandTemplate( {&lt;br /&gt;
				title = &#039;navbar&#039;,&lt;br /&gt;
				args = {&lt;br /&gt;
					args.name,&lt;br /&gt;
					mini = mini&lt;br /&gt;
				}&lt;br /&gt;
			} ) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		table.insert( navbox, &#039;! class=&amp;quot;navbox-top&amp;quot; colspan=&amp;quot;2&amp;quot; &#039; .. titleStyle .. &#039; | &#039; .. navbar .. &#039;&amp;lt;span class=&amp;quot;navbox-title&amp;quot;&amp;gt;&#039; .. args.title .. &#039;&amp;lt;/span&amp;gt;&#039; )&lt;br /&gt;
	else&lt;br /&gt;
		table.insert( navbox, &#039; {| class=&amp;quot;navbox-child&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local groupNums = {}&lt;br /&gt;
	for k, v in pairs( args ) do&lt;br /&gt;
		if type( k ) == &#039;string&#039; then&lt;br /&gt;
			local groupNum = k:match( &#039;group(%d+)&#039; )&lt;br /&gt;
			if groupNum and v then&lt;br /&gt;
				table.insert( groupNums, tonumber( groupNum ) )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( groupNums )&lt;br /&gt;
	&lt;br /&gt;
	local groupStyle = args.groupstyle or &#039;&#039;&lt;br /&gt;
	local listStyle = args.liststyle or &#039;&#039;&lt;br /&gt;
	for _, v in ipairs( groupNums ) do&lt;br /&gt;
		local list = args[&#039;list&#039; .. v]&lt;br /&gt;
		if list then&lt;br /&gt;
			table.insert( navbox, &#039;|-\n! class=&amp;quot;navbox-group&amp;quot; style=&amp;quot;&#039; .. groupStyle .. &#039;&amp;quot; | &#039; .. args[&#039;group&#039; .. v] )&lt;br /&gt;
			table.insert( navbox, &#039;| class=&amp;quot;navbox-list&amp;quot; style=&amp;quot;&#039; .. listStyle .. &#039;&amp;quot; | &#039; .. list:gsub( &#039;^([*#:{])&#039;, &#039;\n%1&#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.insert( navbox, &#039;|}&#039; )&lt;br /&gt;
	&lt;br /&gt;
	navbox = table.concat( navbox, &#039;\n&#039; ):gsub( &#039; style=&amp;quot;&amp;quot;&#039;, &#039;&#039; )&lt;br /&gt;
	return navbox&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=92</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=92"/>
		<updated>2025-06-26T10:31:37Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|state = uncollapsed&lt;br /&gt;
|name = &lt;br /&gt;
|title = &lt;br /&gt;
|gtitle1 = Level 1 Title 1&lt;br /&gt;
|group1 =&lt;br /&gt;
|gtitle2 = Level 1 Title 2&lt;br /&gt;
|group2 =&lt;br /&gt;
|gtitle3 = Level 1 Title 3&lt;br /&gt;
|group3 =&lt;br /&gt;
|gtitle4 = Level 1 Title 4&lt;br /&gt;
|group4 =&lt;br /&gt;
|gtitle5 = Level 1 Title 5&lt;br /&gt;
|gtype5 = subgroup&lt;br /&gt;
|group5 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Level 2 Title 1&lt;br /&gt;
  |group1 =&lt;br /&gt;
  |gtitle2 = Level 2 Title 2&lt;br /&gt;
  |group2 =&lt;br /&gt;
  |gtitle3 = Level 2 Title 3&lt;br /&gt;
  |gtype3 = subgroup&lt;br /&gt;
  |group3 =&lt;br /&gt;
    {{Navbox&lt;br /&gt;
    |subgroup = yes&lt;br /&gt;
    |gtitle1 = Level 3 Title 1&lt;br /&gt;
    |group1 =&lt;br /&gt;
    |gtitle2 = Level 3 Title 2&lt;br /&gt;
    |group2 =&lt;br /&gt;
    }}&lt;br /&gt;
  |gtitle4 = Level 2 Title 4&lt;br /&gt;
  |group4 =&lt;br /&gt;
  }}&lt;br /&gt;
|gtitle6 = Level 1 Title 6&lt;br /&gt;
|group6 =&lt;br /&gt;
|gtitle7 = Level 1 Title 7&lt;br /&gt;
|group7 =&lt;br /&gt;
|fstyle = &lt;br /&gt;
|footer = this is a test footer&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=91</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=91"/>
		<updated>2025-06-26T10:30:30Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|state = uncollapsed&lt;br /&gt;
|name = &lt;br /&gt;
|title = &lt;br /&gt;
|gtitle1 = Level 1 Title 1&lt;br /&gt;
|group1 =&lt;br /&gt;
|gtitle2 = Level 1 Title 2&lt;br /&gt;
|group2 =&lt;br /&gt;
|gtitle3 = Level 1 Title 3&lt;br /&gt;
|group3 =&lt;br /&gt;
|gtitle4 = Level 1 Title 4&lt;br /&gt;
|group4 =&lt;br /&gt;
|gtitle5 = Level 1 Title 5&lt;br /&gt;
|gtype5 = subgroup&lt;br /&gt;
|group5 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Level 2 Title 1&lt;br /&gt;
  |group1 =&lt;br /&gt;
  |gtitle2 = Level 2 Title 2&lt;br /&gt;
  |group2 =&lt;br /&gt;
  |gtitle3 = Level 2 Title 3&lt;br /&gt;
  |gtype3 = subgroup&lt;br /&gt;
  |group3 =&lt;br /&gt;
    {{Navbox&lt;br /&gt;
    |subgroup = yes&lt;br /&gt;
    |gtitle1 = Level 3 Title 1&lt;br /&gt;
    |group1 =&lt;br /&gt;
    |gtitle2 = Level 3 Title 2&lt;br /&gt;
    |group2 =&lt;br /&gt;
    }}&lt;br /&gt;
  |gtitle4 = Level 2 Title 4&lt;br /&gt;
  |group4 =&lt;br /&gt;
  }}&lt;br /&gt;
|gtitle6 = Level 1 Title 6&lt;br /&gt;
|group6 =&lt;br /&gt;
|gtitle7 = Level 1 Title 7&lt;br /&gt;
|group7 =&lt;br /&gt;
|fstyle = &lt;br /&gt;
|footer = &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=90</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=90"/>
		<updated>2025-06-26T10:29:50Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|name = &lt;br /&gt;
|title = &lt;br /&gt;
|gtitle1 = Group title 1&lt;br /&gt;
|group1 =&lt;br /&gt;
|gtitle2 = Group title 2&lt;br /&gt;
|group2 =&lt;br /&gt;
|gtitle3 = Group title 3&lt;br /&gt;
|group3 =&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=89</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=89"/>
		<updated>2025-06-26T10:27:42Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|title = [[Torn City]]&lt;br /&gt;
|name = Torn City&lt;br /&gt;
|gtype1 = subgroup&lt;br /&gt;
|gtitle1 = Normal&lt;br /&gt;
|group1 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Cooked&lt;br /&gt;
  |group1 =&lt;br /&gt;
   * testing1&lt;br /&gt;
   * testing&lt;br /&gt;
   * hmm&lt;br /&gt;
  |gtitle2 = Raw&lt;br /&gt;
  |group2 =&lt;br /&gt;
   * testing&lt;br /&gt;
   * testing&lt;br /&gt;
  }}&lt;br /&gt;
|gtype2 = subgroup&lt;br /&gt;
|gtitle2 = [[Chambers of Xeric]]&lt;br /&gt;
|group2 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Cooked&lt;br /&gt;
  |group1 =&lt;br /&gt;
   * testing&lt;br /&gt;
  |gtitle2 = Raw&lt;br /&gt;
  |group2 =&lt;br /&gt;
   * testing&lt;br /&gt;
   * testing&lt;br /&gt;
   * testing&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Yesno&amp;diff=88</id>
		<title>Module:Yesno</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Yesno&amp;diff=88"/>
		<updated>2025-06-26T10:23:44Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
{{Helper module|name=Yesno&lt;br /&gt;
|fname1=(arg)&lt;br /&gt;
|ftype1=Any value&lt;br /&gt;
|fuse1=Reads arg for yes/no and returns the appropriate boolean or nil&lt;br /&gt;
|fname2=(arg1,arg2)&lt;br /&gt;
|ftype2=Any value, Any value&lt;br /&gt;
|fuse2=Reads arg1 for yes/no and returns the appropriate boolean; returns arg2 if arg1 was not an applicable value&lt;br /&gt;
}}&lt;br /&gt;
--]]&lt;br /&gt;
-- &amp;lt;pre&amp;gt;&lt;br /&gt;
-- Used to evaluate args to booleans where applicable&lt;br /&gt;
--&lt;br /&gt;
-- Based on &amp;lt;https://en.wikipedia.org/wiki/Module:Yesno&amp;gt;&lt;br /&gt;
-- see page history there for contributors&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
return function( arg, default )&lt;br /&gt;
	arg = type( arg ) == &#039;string&#039; and arg:lower() or arg&lt;br /&gt;
&lt;br /&gt;
	if arg == nil then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if&lt;br /&gt;
		arg == true or&lt;br /&gt;
		arg == &#039;yes&#039; or&lt;br /&gt;
		arg == &#039;y&#039; or&lt;br /&gt;
		arg == &#039;true&#039; or&lt;br /&gt;
		tonumber( arg ) ==  1&lt;br /&gt;
	then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if&lt;br /&gt;
		arg == false or&lt;br /&gt;
		arg == &#039;no&#039; or&lt;br /&gt;
		arg == &#039;n&#039; or&lt;br /&gt;
		arg == &#039;false&#039; or&lt;br /&gt;
		tonumber( arg ) == 0&lt;br /&gt;
	then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return default&lt;br /&gt;
end&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Yesno&amp;diff=87</id>
		<title>Module:Yesno</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Yesno&amp;diff=87"/>
		<updated>2025-06-26T10:23:03Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- &amp;lt;nowiki&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Implements {{tnavbar}} and variants&lt;br /&gt;
--&lt;br /&gt;
-- @todo move the hardcoded css to [[MediaWiki:Common.css]] given how many pages it&#039;s found on&lt;br /&gt;
--&lt;br /&gt;
require(&#039;strict&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local yesno = require( &#039;Module:Yesno&#039; )&lt;br /&gt;
&lt;br /&gt;
function p._navbar( args )&lt;br /&gt;
	local navbarstyle = args.style or &#039;&#039;&lt;br /&gt;
	local fontstyle = args.fontstyle or &#039;&#039;&lt;br /&gt;
	local view, talk, edit = (args.view or true), (args.talk or true), (args.edit or true)&lt;br /&gt;
&lt;br /&gt;
	local desc = {&lt;br /&gt;
		view = &#039;view&#039;,&lt;br /&gt;
		talk = &#039;talk&#039;,&lt;br /&gt;
		edit = &#039;edit&#039;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local tag = mw.html.create( &#039;div&#039; )&lt;br /&gt;
		:addClass( &#039;navbar&#039; )&lt;br /&gt;
		:addClass( &#039;plainlinks&#039; )&lt;br /&gt;
		:addClass( &#039;noprint&#039; )&lt;br /&gt;
		:css( {&lt;br /&gt;
			[&#039;white-space&#039;] = &#039;nowrap&#039;,&lt;br /&gt;
			[&#039;font-weight&#039;] = &#039;normal&#039;,&lt;br /&gt;
			[&#039;font-size&#039;] = &#039;x-small&#039;&lt;br /&gt;
		} )&lt;br /&gt;
		:cssText( navbarstyle )&lt;br /&gt;
&lt;br /&gt;
	if yesno( args.mini ) then&lt;br /&gt;
		desc = {&lt;br /&gt;
			view = &#039;v&#039;,&lt;br /&gt;
			talk = &#039;t&#039;,&lt;br /&gt;
			edit = &#039;e&#039;&lt;br /&gt;
		}&lt;br /&gt;
		tag:addClass( &#039;navbar-mini&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local viewSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;View this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.view )&lt;br /&gt;
&lt;br /&gt;
	local talkSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;Discussion about this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.talk )&lt;br /&gt;
&lt;br /&gt;
	local editSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;Edit this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.edit )&lt;br /&gt;
&lt;br /&gt;
	local title = args[1] and mw.text.trim( args[1] ) or error(&#039;No page title given&#039;)&lt;br /&gt;
	local ns, titleTbl, pagelink, talklink&lt;br /&gt;
&lt;br /&gt;
	if mw.ustring.sub( title, 1, 1 ) == &#039;:&#039; then&lt;br /&gt;
		-- mainspace&lt;br /&gt;
		title = mw.ustring.sub( title, 2 )&lt;br /&gt;
		pagelink = title&lt;br /&gt;
		talklink = &#039;Talk:&#039; .. title&lt;br /&gt;
&lt;br /&gt;
	elseif mw.ustring.match( title, &#039;:&#039; ) then&lt;br /&gt;
		-- split title to see if it has a valid namespace&lt;br /&gt;
		titleTbl = mw.text.split( title, &#039;:&#039; )&lt;br /&gt;
		ns = mw.site.namespaces[titleTbl[1]]&lt;br /&gt;
&lt;br /&gt;
		if ns ~= nil then&lt;br /&gt;
			pagelink = ns.name .. &#039;:&#039; .. table.concat( titleTbl, &#039;&#039;, 2 )&lt;br /&gt;
&lt;br /&gt;
			if ns.isTalk then&lt;br /&gt;
				talklink = page&lt;br /&gt;
			else&lt;br /&gt;
				talklink = ns.talk.name .. &#039;:&#039; .. table.concat( titleTbl, &#039;&#039;, 2 )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- this happens if there&#039;s no semi-colons in title&lt;br /&gt;
	-- or if there is semi-colons but it didn&#039;t have valid ns name&lt;br /&gt;
	if not pagelink then&lt;br /&gt;
		pagelink = &#039;Template:&#039; .. title&lt;br /&gt;
		talklink = &#039;Template talk:&#039; .. title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tag:wikitext( &#039;[[&#039; .. pagelink .. &#039;|&#039; .. tostring( viewSpan ) .. &#039;]]&#039; )&lt;br /&gt;
		:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
		:tag( &#039;span&#039; )&lt;br /&gt;
			:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
			:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
&lt;br /&gt;
	if talk == &#039;autoconfirmed&#039; then&lt;br /&gt;
		tag&lt;br /&gt;
			:tag( &#039;span&#039; )&lt;br /&gt;
				:addClass( &#039;autoconfirmed-show&#039; )&lt;br /&gt;
				:css( &#039;display&#039;, &#039;none&#039; )&lt;br /&gt;
				:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( talklink ) ) .. &#039; &#039; .. tostring( talkSpan ) .. &#039;]&#039; )&lt;br /&gt;
				:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
				:tag( &#039;span&#039; )&lt;br /&gt;
					:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
					:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
					:done()&lt;br /&gt;
				:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
				:done()&lt;br /&gt;
	elseif yesno(talk) then&lt;br /&gt;
		tag:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( talklink ) ) .. &#039; &#039; .. tostring( talkSpan ) .. &#039;]&#039; )&lt;br /&gt;
			:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
			:tag( &#039;span&#039; )&lt;br /&gt;
				:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
				:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tag:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( pagelink, &#039;action=edit&#039; ) ) .. &#039; &#039; .. tostring( editSpan ) .. &#039;]&#039; )&lt;br /&gt;
&lt;br /&gt;
	return tostring( tag )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar( frame )&lt;br /&gt;
	return p._navbar( frame:getParent().args )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Tnavbar&amp;diff=86</id>
		<title>Module:Tnavbar</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Tnavbar&amp;diff=86"/>
		<updated>2025-06-26T10:22:37Z</updated>

		<summary type="html">&lt;p&gt;Qez: Created page with &amp;quot;-- &amp;lt;nowiki&amp;gt; -- -- Implements {{tnavbar}} and variants -- -- @todo move the hardcoded css to MediaWiki:Common.css given how many pages it&amp;#039;s found on -- require(&amp;#039;strict&amp;#039;)  local p = {} local yesno = require( &amp;#039;Module:Yesno&amp;#039; )  function p._navbar( args ) 	local navbarstyle = args.style or &amp;#039;&amp;#039; 	local fontstyle = args.fontstyle or &amp;#039;&amp;#039; 	local view, talk, edit = (args.view or true), (args.talk or true), (args.edit or true)  	local desc = { 		view = &amp;#039;view&amp;#039;, 		talk = &amp;#039;talk&amp;#039;, 		e...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- &amp;lt;nowiki&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Implements {{tnavbar}} and variants&lt;br /&gt;
--&lt;br /&gt;
-- @todo move the hardcoded css to [[MediaWiki:Common.css]] given how many pages it&#039;s found on&lt;br /&gt;
--&lt;br /&gt;
require(&#039;strict&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local yesno = require( &#039;Module:Yesno&#039; )&lt;br /&gt;
&lt;br /&gt;
function p._navbar( args )&lt;br /&gt;
	local navbarstyle = args.style or &#039;&#039;&lt;br /&gt;
	local fontstyle = args.fontstyle or &#039;&#039;&lt;br /&gt;
	local view, talk, edit = (args.view or true), (args.talk or true), (args.edit or true)&lt;br /&gt;
&lt;br /&gt;
	local desc = {&lt;br /&gt;
		view = &#039;view&#039;,&lt;br /&gt;
		talk = &#039;talk&#039;,&lt;br /&gt;
		edit = &#039;edit&#039;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local tag = mw.html.create( &#039;div&#039; )&lt;br /&gt;
		:addClass( &#039;navbar&#039; )&lt;br /&gt;
		:addClass( &#039;plainlinks&#039; )&lt;br /&gt;
		:addClass( &#039;noprint&#039; )&lt;br /&gt;
		:css( {&lt;br /&gt;
			[&#039;white-space&#039;] = &#039;nowrap&#039;,&lt;br /&gt;
			[&#039;font-weight&#039;] = &#039;normal&#039;,&lt;br /&gt;
			[&#039;font-size&#039;] = &#039;x-small&#039;&lt;br /&gt;
		} )&lt;br /&gt;
		:cssText( navbarstyle )&lt;br /&gt;
&lt;br /&gt;
	if yesno( args.mini ) then&lt;br /&gt;
		desc = {&lt;br /&gt;
			view = &#039;v&#039;,&lt;br /&gt;
			talk = &#039;t&#039;,&lt;br /&gt;
			edit = &#039;e&#039;&lt;br /&gt;
		}&lt;br /&gt;
		tag:addClass( &#039;navbar-mini&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local viewSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;View this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.view )&lt;br /&gt;
&lt;br /&gt;
	local talkSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;Discussion about this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.talk )&lt;br /&gt;
&lt;br /&gt;
	local editSpan = mw.html.create( &#039;span&#039; )&lt;br /&gt;
		:attr( &#039;title&#039;, &#039;Edit this template&#039; )&lt;br /&gt;
		:cssText( fontstyle )&lt;br /&gt;
		:wikitext( desc.edit )&lt;br /&gt;
&lt;br /&gt;
	local title = args[1] and mw.text.trim( args[1] ) or error(&#039;No page title given&#039;)&lt;br /&gt;
	local ns, titleTbl, pagelink, talklink&lt;br /&gt;
&lt;br /&gt;
	if mw.ustring.sub( title, 1, 1 ) == &#039;:&#039; then&lt;br /&gt;
		-- mainspace&lt;br /&gt;
		title = mw.ustring.sub( title, 2 )&lt;br /&gt;
		pagelink = title&lt;br /&gt;
		talklink = &#039;Talk:&#039; .. title&lt;br /&gt;
&lt;br /&gt;
	elseif mw.ustring.match( title, &#039;:&#039; ) then&lt;br /&gt;
		-- split title to see if it has a valid namespace&lt;br /&gt;
		titleTbl = mw.text.split( title, &#039;:&#039; )&lt;br /&gt;
		ns = mw.site.namespaces[titleTbl[1]]&lt;br /&gt;
&lt;br /&gt;
		if ns ~= nil then&lt;br /&gt;
			pagelink = ns.name .. &#039;:&#039; .. table.concat( titleTbl, &#039;&#039;, 2 )&lt;br /&gt;
&lt;br /&gt;
			if ns.isTalk then&lt;br /&gt;
				talklink = page&lt;br /&gt;
			else&lt;br /&gt;
				talklink = ns.talk.name .. &#039;:&#039; .. table.concat( titleTbl, &#039;&#039;, 2 )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- this happens if there&#039;s no semi-colons in title&lt;br /&gt;
	-- or if there is semi-colons but it didn&#039;t have valid ns name&lt;br /&gt;
	if not pagelink then&lt;br /&gt;
		pagelink = &#039;Template:&#039; .. title&lt;br /&gt;
		talklink = &#039;Template talk:&#039; .. title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tag:wikitext( &#039;[[&#039; .. pagelink .. &#039;|&#039; .. tostring( viewSpan ) .. &#039;]]&#039; )&lt;br /&gt;
		:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
		:tag( &#039;span&#039; )&lt;br /&gt;
			:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
			:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
&lt;br /&gt;
	if talk == &#039;autoconfirmed&#039; then&lt;br /&gt;
		tag&lt;br /&gt;
			:tag( &#039;span&#039; )&lt;br /&gt;
				:addClass( &#039;autoconfirmed-show&#039; )&lt;br /&gt;
				:css( &#039;display&#039;, &#039;none&#039; )&lt;br /&gt;
				:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( talklink ) ) .. &#039; &#039; .. tostring( talkSpan ) .. &#039;]&#039; )&lt;br /&gt;
				:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
				:tag( &#039;span&#039; )&lt;br /&gt;
					:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
					:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
					:done()&lt;br /&gt;
				:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
				:done()&lt;br /&gt;
	elseif yesno(talk) then&lt;br /&gt;
		tag:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( talklink ) ) .. &#039; &#039; .. tostring( talkSpan ) .. &#039;]&#039; )&lt;br /&gt;
			:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
			:tag( &#039;span&#039; )&lt;br /&gt;
				:css( &#039;font-size&#039;, &#039;80%&#039; )&lt;br /&gt;
				:wikitext( &#039;&amp;amp;bull;&#039; )&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext( &#039;&amp;amp;nbsp;&#039; )&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tag:wikitext( &#039;[&#039; .. tostring( mw.uri.fullUrl( pagelink, &#039;action=edit&#039; ) ) .. &#039; &#039; .. tostring( editSpan ) .. &#039;]&#039; )&lt;br /&gt;
&lt;br /&gt;
	return tostring( tag )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar( frame )&lt;br /&gt;
	return p._navbar( frame:getParent().args )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=85</id>
		<title>Module:Navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbox&amp;diff=85"/>
		<updated>2025-06-26T10:22:11Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- &amp;lt;nowiki&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Implements {{Navbox}}&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local tnavbar = require( &#039;Module:Tnavbar&#039; )&lt;br /&gt;
local yesno = require( &#039;Module:Yesno&#039; )&lt;br /&gt;
local page_title = mw.title.getCurrentTitle().fullText&lt;br /&gt;
--&lt;br /&gt;
-- Helper for inserting a new row into the navbox&lt;br /&gt;
--&lt;br /&gt;
-- @param tbl {mw.html table}&lt;br /&gt;
-- @return tbl {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function insertRow( tbl )&lt;br /&gt;
	return tbl:tag( &#039;tr&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Creates the navbox table&lt;br /&gt;
--&lt;br /&gt;
-- @param args {table}&lt;br /&gt;
-- @return tbl {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function createTbl( args )&lt;br /&gt;
&lt;br /&gt;
	local tbl = mw.html.create( &#039;table&#039; )&lt;br /&gt;
&lt;br /&gt;
	tbl&lt;br /&gt;
		:addClass( yesno(args.subgroup, false) and &#039;navbox-subgroup&#039; or &#039;navbox &amp;lt;mw:editsection&#039; )&lt;br /&gt;
		:addClass( &#039;nowraplinks&#039; )&lt;br /&gt;
&lt;br /&gt;
	if not yesno(args.subgroup, false) and&lt;br /&gt;
		( args.state == &#039;collapsed&#039; or&lt;br /&gt;
		  args.state == &#039;uncollapsed&#039; or&lt;br /&gt;
		  args.state == &#039;autocollapse&#039; or&lt;br /&gt;
		  -- defaults to autocollapse&lt;br /&gt;
		  args.state == nil )&lt;br /&gt;
	then&lt;br /&gt;
		tbl:addClass( &#039;mw-collapsible&#039; )&lt;br /&gt;
&lt;br /&gt;
		if args.state == &#039;collapsed&#039; then&lt;br /&gt;
			tbl:addClass( &#039;mw-collapsed&#039; )&lt;br /&gt;
		elseif args.state == &#039;uncollapsed&#039; then&lt;br /&gt;
			tbl:addClass(&#039;navbox-uncollapsed&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			tbl:addClass( &#039;mw-collapsed&#039; )&lt;br /&gt;
			tbl:addClass( &#039;navbox-autocollapse&#039; )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if yesno(args.collapsible, false) then&lt;br /&gt;
		tbl:addClass( &#039;navbox-collapsible&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.style then&lt;br /&gt;
		tbl:cssText( args.style )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- used by [[MediaWiki:Gadget-navbox-tracking.js]] for tracking purposes&lt;br /&gt;
	tbl:attr( { [&#039;data-navbox-name&#039;] = args.name } )&lt;br /&gt;
&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Wrapper for [[Module:Tnavbar]]&lt;br /&gt;
--&lt;br /&gt;
-- @param args {table}&lt;br /&gt;
-- @return {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function navbar( args )&lt;br /&gt;
&lt;br /&gt;
	local div = mw.html.create( &#039;div&#039; )&lt;br /&gt;
		:css( {&lt;br /&gt;
			float = &#039;left&#039;,&lt;br /&gt;
			[&#039;text-align&#039;] = &#039;left&#039;&lt;br /&gt;
		} )&lt;br /&gt;
		:wikitext( tnavbar._navbar( { [1] = args.name, [&#039;mini&#039;] = true, [&#039;talk&#039;] = &#039;autoconfirmed&#039; } ) )&lt;br /&gt;
	return div&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Creates the header (what you see when the navbox is collapsed)&lt;br /&gt;
--&lt;br /&gt;
-- @param tbl {mw.html table}&lt;br /&gt;
-- @param args {table}&lt;br /&gt;
-- @return {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function header( tbl, args )&lt;br /&gt;
	local div = insertRow( tbl )&lt;br /&gt;
		:tag( &#039;th&#039; )&lt;br /&gt;
			:attr( &#039;colspan&#039;, &#039;2&#039; )&lt;br /&gt;
			:addClass( &#039;navbox-title&#039; )&lt;br /&gt;
				:wikitext( args.name and tostring( navbar( args ) ) )&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:addClass( &#039;navbox-title-name&#039; )&lt;br /&gt;
					:wikitext( args.title )&lt;br /&gt;
&lt;br /&gt;
	return div:allDone()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Inserts a row into the navbox&lt;br /&gt;
--&lt;br /&gt;
-- @param tbl {mw.html table}&lt;br /&gt;
-- @param gtitle {string}&lt;br /&gt;
-- @param group {string}&lt;br /&gt;
-- @param gtype {string}&lt;br /&gt;
-- @param style {string}&lt;br /&gt;
-- @return {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function row( tbl, gtitle, group, gtype, style, _name, subgroup )&lt;br /&gt;
	local tr = insertRow( tbl )&lt;br /&gt;
	local td&lt;br /&gt;
&lt;br /&gt;
	if gtitle then&lt;br /&gt;
		td = tr&lt;br /&gt;
			:addClass( &#039;navbox-group&#039; )&lt;br /&gt;
			:tag( &#039;th&#039; )&lt;br /&gt;
				:addClass( &#039;navbox-group-title&#039; )&lt;br /&gt;
				:wikitext( gtitle )&lt;br /&gt;
				:done()&lt;br /&gt;
			:tag( &#039;td&#039; )&lt;br /&gt;
	else&lt;br /&gt;
		td = tr&lt;br /&gt;
			:addClass( &#039;navbox-group&#039; )&lt;br /&gt;
			:addClass( &#039;navbox-group-split&#039; )&lt;br /&gt;
			:tag( &#039;td&#039; )&lt;br /&gt;
				:addClass( &#039;navbox-group-title-hidden&#039; )&lt;br /&gt;
				:attr( &#039;colspan&#039;, &#039;0&#039; )&lt;br /&gt;
				:css( &#039;display&#039;, &#039;none&#039; )&lt;br /&gt;
				:done()&lt;br /&gt;
			:tag( &#039;td&#039; )&lt;br /&gt;
				:attr( &#039;colspan&#039;, &#039;2&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	   List styling&lt;br /&gt;
	   This is unlikely to be implemented in the near future due to it requiring extra css to work&lt;br /&gt;
	   and mobile currently not supporting that css.&lt;br /&gt;
	   As an example, it lets you do the following instead if using {{*}} all the time&lt;br /&gt;
	   | group3 =&lt;br /&gt;
	   * {{plink|foo}}&lt;br /&gt;
	   * {{plink|bar}}&lt;br /&gt;
	   * {{plink|baz}}&lt;br /&gt;
	]]&lt;br /&gt;
	if mw.ustring.match( group, &#039;^%s*%*&#039; ) then&lt;br /&gt;
		td:newline()&lt;br /&gt;
&lt;br /&gt;
		-- trim whitespace on bullets&lt;br /&gt;
		local spl = mw.text.split( group, &#039;\n&#039; )&lt;br /&gt;
&lt;br /&gt;
		for i = 1, #spl do&lt;br /&gt;
			spl[i] = mw.text.trim( spl[i] )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		group = &#039;\n&#039; .. table.concat( spl, &#039;\n&#039; )		&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--local group2 = group&lt;br /&gt;
	--local group3 = group2&lt;br /&gt;
	-- analytics&lt;br /&gt;
&lt;br /&gt;
	--if _name then&lt;br /&gt;
	--	local name = mw.ustring.gsub(_name,&#039; &#039;,&#039;_&#039;)&lt;br /&gt;
	--	for v in mw.ustring.gmatch(group,&#039;%[%[[^%]]+%]%]&#039;) do&lt;br /&gt;
	--		if mw.ustring.match(v,&#039;%[%[File:.+|link=&#039;) then&lt;br /&gt;
	--			local link = mw.ustring.match(v,&#039;|link=([^%]|]+)&#039;)&lt;br /&gt;
	--			if link then&lt;br /&gt;
	--				local linkrep = mw.ustring.gsub(link,&#039;([%%%]%[%-^$*()+?])&#039;,&#039;%%%1&#039;)&lt;br /&gt;
	--				local _link = mw.ustring.gsub(link,&#039; &#039;,&#039;_&#039;)&lt;br /&gt;
	--				local newfile = mw.ustring.gsub(v,&#039;|link=&#039;..linkrep,string.format(&#039;|link=https://oldschool.runescape.wiki/w/%s?f=%s&#039;,_link,name))&lt;br /&gt;
	--				local w = mw.ustring.gsub(v,&#039;([%%%]%[%-^$*()+?])&#039;,&#039;%%%1&#039;)&lt;br /&gt;
	--				group2 = mw.ustring.gsub(group2,w,newfile)&lt;br /&gt;
	--			end&lt;br /&gt;
	--		elseif mw.ustring.match(v,&#039;%[%[Category:&#039;) then&lt;br /&gt;
				-- nothing&lt;br /&gt;
	--		else&lt;br /&gt;
	--			local link = mw.ustring.match(v,&#039;%[%[([^%]|]+)&#039;)&lt;br /&gt;
	--			local txt = mw.ustring.match(v,&#039;%|([^%]|]+)&#039;) or link&lt;br /&gt;
&lt;br /&gt;
	--			local newlink = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
				-- black links if current page&lt;br /&gt;
	--			if link == page_title then&lt;br /&gt;
	--				newlink = string.format(&#039;&amp;lt;b&amp;gt;%s&amp;lt;/b&amp;gt;&#039;,txt)&lt;br /&gt;
	--			else&lt;br /&gt;
	--				local _link = mw.ustring.gsub(link or &#039;&#039;,&#039; &#039;,&#039;_&#039;)&lt;br /&gt;
	--				newlink = string.format(&#039;[https://oldschool.runescape.wiki.com/w/%s?n=%s %s]&#039;,_link,name,txt)&lt;br /&gt;
	--			end&lt;br /&gt;
	--			local w = mw.ustring.gsub(v,&#039;([%%%]%[%-^$*()+?])&#039;,&#039;%%%1&#039;)&lt;br /&gt;
	--			group2 = mw.ustring.gsub(group2,w,newlink)&lt;br /&gt;
	--		end&lt;br /&gt;
	--	end&lt;br /&gt;
&lt;br /&gt;
		--[==[&lt;br /&gt;
			fix [[these kind]]s of [[link]]s post analytics parse&lt;br /&gt;
			]==]&lt;br /&gt;
	--	group3 = group2&lt;br /&gt;
&lt;br /&gt;
	--	for v in mw.ustring.gmatch(group2,&#039;%[https://oldschool.runescape.wiki.com/w[^%]]-%]%a&#039;) do&lt;br /&gt;
	--		local rep = mw.ustring.gsub(v,&#039;%]&#039;,&#039;&#039;)&lt;br /&gt;
	--		rep = rep..&#039;]&#039;&lt;br /&gt;
	--		local w = mw.ustring.gsub(v,&#039;([%%%]%[%-^$*()+?])&#039;,&#039;%%%1&#039;)&lt;br /&gt;
&lt;br /&gt;
	--		group3 = mw.ustring.gsub(group2,w,rep)&lt;br /&gt;
	--	end&lt;br /&gt;
	--end&lt;br /&gt;
&lt;br /&gt;
	td&lt;br /&gt;
		:addClass( &#039;navbox-list&#039; )&lt;br /&gt;
		:wikitext( group ) --group3&lt;br /&gt;
&lt;br /&gt;
	if gtype and mw.ustring.lower( gtype ) == &#039;subgroup&#039; then&lt;br /&gt;
		td&lt;br /&gt;
			:addClass( &#039;navbox-parent&#039; )&lt;br /&gt;
			:css( {&lt;br /&gt;
				padding = &#039;0&#039;&lt;br /&gt;
			} )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if style then&lt;br /&gt;
		td:cssText( style )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return td:allDone()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Inserts a footer into the navbox&lt;br /&gt;
--&lt;br /&gt;
-- @param tbl {mw.html table}&lt;br /&gt;
-- @param args {table}&lt;br /&gt;
-- @return {mw.html table}&lt;br /&gt;
--&lt;br /&gt;
local function footer( tbl, args )&lt;br /&gt;
	local th = insertRow( tbl )&lt;br /&gt;
		:tag( &#039;th&#039; )&lt;br /&gt;
			:attr( &#039;colspan&#039;, &#039;2&#039; )&lt;br /&gt;
			:addClass( &#039;navbox-footer&#039; )&lt;br /&gt;
&lt;br /&gt;
	if args.fstyle then&lt;br /&gt;
		th:cssText( args.fstyle )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if mw.ustring.match( args.footer, &#039;^%s*%*&#039; ) then&lt;br /&gt;
		th:newline()&lt;br /&gt;
&lt;br /&gt;
		-- trim whitespace on bullets&lt;br /&gt;
		local spl = mw.text.split( args.footer, &#039;\n&#039; )&lt;br /&gt;
&lt;br /&gt;
		for i = 1, #spl do&lt;br /&gt;
			spl[i] = mw.text.trim( spl[i] )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		args.footer = table.concat( spl, &#039;\n&#039; )&lt;br /&gt;
&lt;br /&gt;
		th:addClass( &#039;navbox-list&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	th:wikitext( args.footer )&lt;br /&gt;
&lt;br /&gt;
	return th:allDone()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Adds [[Category:Navbox templates]] to navbox template pages&lt;br /&gt;
--&lt;br /&gt;
-- @return {string}&lt;br /&gt;
--&lt;br /&gt;
local function categories()&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	local page = title.text&lt;br /&gt;
	local ns = title.nsText&lt;br /&gt;
&lt;br /&gt;
	if ns == &#039;Template&#039; then&lt;br /&gt;
		-- sort in category by pagename&lt;br /&gt;
		return &#039;[[Category:Navbox templates| &#039; .. page .. &#039;]]&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Adds [[Template:Navbox/doc]] to navbox template pages&lt;br /&gt;
--&lt;br /&gt;
-- @param args {table}&lt;br /&gt;
-- @return {string}&lt;br /&gt;
--&lt;br /&gt;
local function docs( args )&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	local base = title.baseText&lt;br /&gt;
	local ns = title.nsText&lt;br /&gt;
&lt;br /&gt;
		-- not if a subpage of [[Template:Navbox]]&lt;br /&gt;
	if base ~= &#039;Navbox&#039; and&lt;br /&gt;
		-- in template ns&lt;br /&gt;
		ns == &#039;Template&#039; and&lt;br /&gt;
		-- not a navbox group within a navbox&lt;br /&gt;
		not yesno(args.subgroup, false) and&lt;br /&gt;
		-- not a collapsible navbox within a navbox&lt;br /&gt;
		not yesno(args.collapsible, false) and&lt;br /&gt;
		-- not if the doc argument is not set to &amp;quot;yes&amp;quot;&lt;br /&gt;
		yesno(args.doc, false)&lt;br /&gt;
	then&lt;br /&gt;
		return frame:expandTemplate{ title = &#039;Navbox/doc&#039; }&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Navbox method to allow it to be called by other modules&lt;br /&gt;
--&lt;br /&gt;
-- @param _args {table}&lt;br /&gt;
-- @return {string}&lt;br /&gt;
--&lt;br /&gt;
function p._navbox( _args )&lt;br /&gt;
	local args = {}&lt;br /&gt;
	local wkCss = &#039;&#039;&lt;br /&gt;
	local wkDiv = &#039;&#039;&lt;br /&gt;
	local j&lt;br /&gt;
	&lt;br /&gt;
	-- preserves parser function behaviour where an empty string is considered undefined&lt;br /&gt;
	-- or nil in lua&#039;s case&lt;br /&gt;
	for k, v in pairs( _args ) do&lt;br /&gt;
		if v ~= &#039;&#039; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local tbl = createTbl( args )&lt;br /&gt;
&lt;br /&gt;
	if not yesno(args.subgroup, false) then&lt;br /&gt;
		tbl = header( tbl, args )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- insert up to 25 rows&lt;br /&gt;
	for i = 1, 25 do&lt;br /&gt;
		j = tostring( i )&lt;br /&gt;
&lt;br /&gt;
		if args[&#039;group&#039; .. j] then&lt;br /&gt;
			tbl = row( tbl, args[&#039;gtitle&#039; .. j], args[&#039;group&#039; .. j], args[&#039;gtype&#039; .. j], args[&#039;style&#039; .. j], args.name, args.subgroup )&lt;br /&gt;
		else&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.footer then&lt;br /&gt;
		tbl = footer( tbl, args )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl = tostring( tbl )&lt;br /&gt;
&lt;br /&gt;
	local cats = &#039;&#039;&lt;br /&gt;
	if not yesno(args.subgroup, false) and not yesno(args.hidecat, false) then&lt;br /&gt;
		cats = categories()&lt;br /&gt;
	end&lt;br /&gt;
	local docs = docs( args )&lt;br /&gt;
&lt;br /&gt;
	return tbl .. cats .. docs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Main navbox method accessed through #invoke&lt;br /&gt;
--&lt;br /&gt;
-- @param frame {table}&lt;br /&gt;
-- @return {string}&lt;br /&gt;
--&lt;br /&gt;
function p.navbox( frame )&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	return p._navbox( args )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
-- &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=84</id>
		<title>Template:Torn City</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Template:Torn_City&amp;diff=84"/>
		<updated>2025-06-26T10:19:48Z</updated>

		<summary type="html">&lt;p&gt;Qez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
|title = [[Torn City]]&lt;br /&gt;
|name = Torn City&lt;br /&gt;
|gtype1 = subgroup&lt;br /&gt;
|gtitle1 = Normal&lt;br /&gt;
|group1 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Cooked&lt;br /&gt;
  |group1 =&lt;br /&gt;
   * {{plink|Shrimps}}&lt;br /&gt;
   * testing&lt;br /&gt;
   * {{plink|Sardine}}&lt;br /&gt;
  |gtitle2 = Raw&lt;br /&gt;
  |group2 =&lt;br /&gt;
   * {{plink|Raw shrimps|txt=Shrimps}}&lt;br /&gt;
   * {{plink|Raw sardine|txt=Sardine}}&lt;br /&gt;
  }}&lt;br /&gt;
|gtype2 = subgroup&lt;br /&gt;
|gtitle2 = [[Chambers of Xeric]]&lt;br /&gt;
|group2 =&lt;br /&gt;
  {{Navbox&lt;br /&gt;
  |subgroup = yes&lt;br /&gt;
  |gtitle1 = Cooked&lt;br /&gt;
  |group1 =&lt;br /&gt;
   * {{plink|Pysk fish (0)|txt=Pysk}}&lt;br /&gt;
  |gtitle2 = Raw&lt;br /&gt;
  |group2 =&lt;br /&gt;
   * {{plink|Raw pysk fish (0)|txt=Pysk}}&lt;br /&gt;
   * {{plink|Raw suphi fish (1)|txt=Suphi}}&lt;br /&gt;
   * {{plink|Raw leckish fish (2)|txt=Leckish}}&lt;br /&gt;
   * {{plink|Raw brawk fish (3)|txt=Brawk}}&lt;br /&gt;
   * {{plink|Raw mycil fish (4)|txt=Mycil}}&lt;br /&gt;
   * {{plink|Raw roqed fish (5)|txt=Roqed}}&lt;br /&gt;
   * {{plink|Raw kyren fish (6)|txt=Kyren}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
	<entry>
		<id>https://wiki.velthir.xyz/index.php?title=Module:Navbar/styles.css&amp;diff=82</id>
		<title>Module:Navbar/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.velthir.xyz/index.php?title=Module:Navbar/styles.css&amp;diff=82"/>
		<updated>2025-06-26T10:09:04Z</updated>

		<summary type="html">&lt;p&gt;Qez: Created page with &amp;quot;/** {{Shared Template Warning}}  * This TemplateStyles page is separately used for Template:Navbar  * because of course there are two versions of the same template.  * Be careful when adjusting styles accordingly.  */ .navbar { 	display: inline; 	font-size: 88%; 	font-weight: normal; }  .navbar ul { 	display: inline; 	white-space: nowrap; }  .navbar li { 	word-spacing: -0.125em; }  /* Navbar styling when nested in navbox */ .navbox .navbar { 	display: block; 	font-si...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/** {{Shared Template Warning}}&lt;br /&gt;
 * This TemplateStyles page is separately used for [[Template:Navbar]]&lt;br /&gt;
 * because of course there are two versions of the same template.&lt;br /&gt;
 * Be careful when adjusting styles accordingly.&lt;br /&gt;
 */&lt;br /&gt;
.navbar {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbar ul {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbar li {&lt;br /&gt;
	word-spacing: -0.125em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Navbar styling when nested in navbox */&lt;br /&gt;
.navbox .navbar {&lt;br /&gt;
	display: block;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navbox-title .navbar {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin-right: 0.5em;&lt;br /&gt;
	width: 6em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Qez</name></author>
	</entry>
</feed>