<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://camp2.rectangle.zone/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mislirneality</id>
	<title>The Wiki Camp 2 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://camp2.rectangle.zone/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mislirneality"/>
	<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/wiki/Special:Contributions/Mislirneality"/>
	<updated>2026-04-06T15:58:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=150419</id>
		<title>Extension:Wikiscape</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=150419"/>
		<updated>2026-03-07T04:23:12Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lights dim|#6495ED}} {{WIP}}&lt;br /&gt;
[[File:Another Medium (No Mercy(HOMESTUCK REFERENCE???)).mp3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
| license = unspecified&lt;br /&gt;
| show-popularity = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:1560px; height:1180px; overflow:hidden; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: relative; bottom: -730px; left:560px&amp;quot;&amp;gt;[[File:Nerpawhite.png|70px|alt=nerpa says &amp;quot;鼻くそ&amp;quot;.|鼻くそ]] &amp;lt;!-- i wanna give it the {{Clippy}} speech bubble when you click on it... --&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: absolute; z-index:-1&amp;quot;&amp;gt;[[File:Wikiscape_stage.png|1560px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  {{Drag CSS|.playersoul|direction=both|min-width=48px|min-height=48px|max-width=1560px|max-height=1180px|width=785px|height=600px|position=absolute}}&lt;br /&gt;
  &amp;lt;div class=&amp;quot;playersoul&amp;quot;&amp;gt;[[File:Spr_temmie_r_0.gif|62px|your temmie! hoi!]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#css: &lt;br /&gt;
img {image-rendering: crisp-edges;} &lt;br /&gt;
.mw-body {background-color: #000 !important;} }}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150418</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150418"/>
		<updated>2026-03-07T04:22:57Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- CSS styling ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------- Begin main block / Check for unknown parameters ----------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------------- Begin table / Badge / Check status ----------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;table class=&amp;quot;infobox ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot; role=&amp;quot;none&amp;quot; aria-labelledby=&amp;quot;extension-name&amp;quot; aria-describedby=&amp;quot;extension-description&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption role=&amp;quot;none&amp;quot;&amp;gt;&#039;&#039;&#039;[[Manual:Extensions|&amp;lt;!--T:1--&amp;gt; MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span id=&amp;quot;extension-name&amp;quot; class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Image ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Types ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#type|2=&amp;lt;!--T:12--&amp;gt; Implementation}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = {{ll|API:Action API|2=&amp;lt;!--T:95--&amp;gt; API}}&lt;br /&gt;
 |beta feature    = {{ll|Beta Features|2=&amp;lt;!--T:96--&amp;gt; Beta Feature}}&lt;br /&gt;
 |contenthandler  = {{ll|Manual:ContentHandler|ContentHandler}}&lt;br /&gt;
 |database        = {{ll|Manual:Database layout|2=&amp;lt;!--T:97--&amp;gt; Database}}&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:100--&amp;gt; Extended syntax}}&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = {{ll|Manual:Hooks|2=&amp;lt;!--T:102--&amp;gt; Hook}}&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:104--&amp;gt; Link markup}}&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = {{ll|Manual:Personalization|2=&amp;lt;!--T:106--&amp;gt; MyWiki}}&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = {{ll|Manual:Parameters to index.php#Actions|2=&amp;lt;!--T:108--&amp;gt; Page action}}&lt;br /&gt;
 |parser          = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:109--&amp;gt; Parser extension}}&lt;br /&gt;
 |parser function = {{ll|Manual:Parser functions|2=&amp;lt;!--T:110--&amp;gt; Parser function}}&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = {{ll|Manual:Skins|2=&amp;lt;!--T:113--&amp;gt; Skin}}&lt;br /&gt;
 |special page    = {{ll|Manual:Special pages|2=&amp;lt;!--T:114--&amp;gt; Special page}}&lt;br /&gt;
 |locale          = {{ll|Manual:Localization|2=&amp;lt;!--T:115--&amp;gt; Locale}}&lt;br /&gt;
 |tag             = {{ll|Manual:Tag extensions|2=&amp;lt;!--T:116--&amp;gt; Tag}}&lt;br /&gt;
 |user access     = {{ll|Manual:Security|2=&amp;lt;!--T:117--&amp;gt; User access}}&lt;br /&gt;
 |user identity   = {{ll|Manual:Security|2=&amp;lt;!--T:118--&amp;gt; User identity}}&lt;br /&gt;
 |user rights     = {{ll|Manual:Security|2=&amp;lt;!--T:119--&amp;gt; User rights}}&lt;br /&gt;
 |user activity   = {{ll|Manual:Security|2=&amp;lt;!--T:120--&amp;gt; User activity}}&lt;br /&gt;
 |variable        = {{ll|Manual:Variables|2=&amp;lt;!--T:121--&amp;gt; Variable}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Description ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#description|2=&amp;lt;!--T:13--&amp;gt; Description}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;span id=&amp;quot;extension-description&amp;quot;&amp;gt;{{{description}}}&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Author &amp;amp; username-------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{author|}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#username|2=&amp;lt;!--T:14--&amp;gt; Author(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|talk]]&amp;lt;/sup&amp;gt;|&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{{author|}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Maintainer ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#maintainer|2=&amp;lt;!--T:46--&amp;gt; Maintainer(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Version &amp;amp; dates --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:15--&amp;gt; Latest version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:16--&amp;gt; Latest preview version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------- Compatibility policy -----------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Compatibility#mediawiki_extensions|2=&amp;lt;!--T:43--&amp;gt; Compatibility policy}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Release_notes&amp;lt;/tvar&amp;gt;|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- MW version ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- PHP version ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------- Requires updating the database? ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#needs-updatephp|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:17--&amp;gt; &#039;php run update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Composer name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Composer|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:19--&amp;gt; Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Virtual name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Manual:$wgVirtualDomainsMapping|2=&amp;lt;!--T:278--&amp;gt; Virtual domain}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Database tables --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#table1|2=&amp;lt;!--T:20--&amp;gt; Tables}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Namespace -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#namespace|2=&amp;lt;!--T:26--&amp;gt; Namespace}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Parameters ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{parameters|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#parameters|2=&amp;lt;!--T:27--&amp;gt; Parameters}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{parameters|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Tags -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#tags|2=&amp;lt;!--T:28--&amp;gt; Tags}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------------------- Rights ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{rights|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#rights|2=&amp;lt;!--T:29--&amp;gt; Added rights}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{rights|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Services -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#service|Services defined}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Hooks used ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{hook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#hook|2=&amp;lt;!--T:30--&amp;gt; Hooks used}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;{{{hook1|}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Hooks provided --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#newhook|2=&amp;lt;!--T:31--&amp;gt; Hooks provided}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- License ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{license|}}}|&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#license|2=&amp;lt;!--T:292--&amp;gt; License}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{license|}}}&amp;lt;/td&amp;gt;&amp;lt;!-- categorization&lt;br /&gt;
--&amp;gt;}}&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------ Download, readme &amp;amp; changelog -------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Help -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#help|2=&amp;lt;!--T:260--&amp;gt; Help}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Example ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#example|2=&amp;lt;!--T:25--&amp;gt; Example}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Compatibility --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Show popularity -------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;lt;!--T:270--&amp;gt; This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:271--&amp;gt; Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&lt;br /&gt;
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ translatewiki.net ------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[Special:Translate|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[Special:Translate/ext-{{lc:{{PAGENAME}}| |}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------- Suppress &#039;Check usage&#039; link? ------------------------&lt;br /&gt;
&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Vagrant role ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|MediaWiki-Vagrant#Using roles|2=&amp;lt;!--T:34--&amp;gt; Vagrant role}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- Phabricator, Bugzilla &amp;amp; issues ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Phabricator|2=&amp;lt;!--T:35--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Gerrit/GitHub|2=&amp;lt;!--T:40--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------- End table / Index tweak &amp;amp; more categorization -----------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- End main block / Documentation ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
| license = unspecified&lt;br /&gt;
| show-popularity = no&lt;br /&gt;
| parameters = &lt;br /&gt;
* doo doo doo&lt;br /&gt;
| templatemode = nocats&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150415</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150415"/>
		<updated>2026-03-07T04:18:51Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: i learned how to read&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- CSS styling ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------- Begin main block / Check for unknown parameters ----------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------------- Begin table / Badge / Check status ----------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;table class=&amp;quot;infobox ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot; role=&amp;quot;none&amp;quot; aria-labelledby=&amp;quot;extension-name&amp;quot; aria-describedby=&amp;quot;extension-description&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption role=&amp;quot;none&amp;quot;&amp;gt;&#039;&#039;&#039;[[Manual:Extensions|&amp;lt;!--T:1--&amp;gt; MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span id=&amp;quot;extension-name&amp;quot; class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Image ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Types ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#type|2=&amp;lt;!--T:12--&amp;gt; Implementation}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = {{ll|API:Action API|2=&amp;lt;!--T:95--&amp;gt; API}}&lt;br /&gt;
 |beta feature    = {{ll|Beta Features|2=&amp;lt;!--T:96--&amp;gt; Beta Feature}}&lt;br /&gt;
 |contenthandler  = {{ll|Manual:ContentHandler|ContentHandler}}&lt;br /&gt;
 |database        = {{ll|Manual:Database layout|2=&amp;lt;!--T:97--&amp;gt; Database}}&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:100--&amp;gt; Extended syntax}}&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = {{ll|Manual:Hooks|2=&amp;lt;!--T:102--&amp;gt; Hook}}&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:104--&amp;gt; Link markup}}&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = {{ll|Manual:Personalization|2=&amp;lt;!--T:106--&amp;gt; MyWiki}}&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = {{ll|Manual:Parameters to index.php#Actions|2=&amp;lt;!--T:108--&amp;gt; Page action}}&lt;br /&gt;
 |parser          = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:109--&amp;gt; Parser extension}}&lt;br /&gt;
 |parser function = {{ll|Manual:Parser functions|2=&amp;lt;!--T:110--&amp;gt; Parser function}}&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = {{ll|Manual:Skins|2=&amp;lt;!--T:113--&amp;gt; Skin}}&lt;br /&gt;
 |special page    = {{ll|Manual:Special pages|2=&amp;lt;!--T:114--&amp;gt; Special page}}&lt;br /&gt;
 |locale          = {{ll|Manual:Localization|2=&amp;lt;!--T:115--&amp;gt; Locale}}&lt;br /&gt;
 |tag             = {{ll|Manual:Tag extensions|2=&amp;lt;!--T:116--&amp;gt; Tag}}&lt;br /&gt;
 |user access     = {{ll|Manual:Security|2=&amp;lt;!--T:117--&amp;gt; User access}}&lt;br /&gt;
 |user identity   = {{ll|Manual:Security|2=&amp;lt;!--T:118--&amp;gt; User identity}}&lt;br /&gt;
 |user rights     = {{ll|Manual:Security|2=&amp;lt;!--T:119--&amp;gt; User rights}}&lt;br /&gt;
 |user activity   = {{ll|Manual:Security|2=&amp;lt;!--T:120--&amp;gt; User activity}}&lt;br /&gt;
 |variable        = {{ll|Manual:Variables|2=&amp;lt;!--T:121--&amp;gt; Variable}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Description ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#description|2=&amp;lt;!--T:13--&amp;gt; Description}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;span id=&amp;quot;extension-description&amp;quot;&amp;gt;{{{description}}}&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Author &amp;amp; username-------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#username|2=&amp;lt;!--T:14--&amp;gt; Author(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Maintainer ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#maintainer|2=&amp;lt;!--T:46--&amp;gt; Maintainer(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Version &amp;amp; dates --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:15--&amp;gt; Latest version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:16--&amp;gt; Latest preview version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------- Compatibility policy -----------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Compatibility#mediawiki_extensions|2=&amp;lt;!--T:43--&amp;gt; Compatibility policy}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Release_notes&amp;lt;/tvar&amp;gt;|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- MW version ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- PHP version ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------- Requires updating the database? ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#needs-updatephp|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:17--&amp;gt; &#039;php run update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Composer name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Composer|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:19--&amp;gt; Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Virtual name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Manual:$wgVirtualDomainsMapping|2=&amp;lt;!--T:278--&amp;gt; Virtual domain}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Database tables --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#table1|2=&amp;lt;!--T:20--&amp;gt; Tables}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Namespace -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#namespace|2=&amp;lt;!--T:26--&amp;gt; Namespace}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Parameters ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{parameters|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#parameters|2=&amp;lt;!--T:27--&amp;gt; Parameters}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{parameters|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Tags -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#tags|2=&amp;lt;!--T:28--&amp;gt; Tags}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------------------- Rights ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{rights|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#rights|2=&amp;lt;!--T:29--&amp;gt; Added rights}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{rights|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Services -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#service|Services defined}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Hooks used ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{hook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#hook|2=&amp;lt;!--T:30--&amp;gt; Hooks used}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;{{{hook1|}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Hooks provided --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#newhook|2=&amp;lt;!--T:31--&amp;gt; Hooks provided}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- License ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{license|}}}|&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#license|2=&amp;lt;!--T:292--&amp;gt; License}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{license|}}}&amp;lt;/td&amp;gt;&amp;lt;!-- categorization&lt;br /&gt;
--&amp;gt;}}&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------ Download, readme &amp;amp; changelog -------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Help -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#help|2=&amp;lt;!--T:260--&amp;gt; Help}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Example ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#example|2=&amp;lt;!--T:25--&amp;gt; Example}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Compatibility --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Show popularity -------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;lt;!--T:270--&amp;gt; This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:271--&amp;gt; Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&lt;br /&gt;
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ translatewiki.net ------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[Special:Translate|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[Special:Translate/ext-{{lc:{{PAGENAME}}| |}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------- Suppress &#039;Check usage&#039; link? ------------------------&lt;br /&gt;
&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Vagrant role ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|MediaWiki-Vagrant#Using roles|2=&amp;lt;!--T:34--&amp;gt; Vagrant role}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- Phabricator, Bugzilla &amp;amp; issues ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Phabricator|2=&amp;lt;!--T:35--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Gerrit/GitHub|2=&amp;lt;!--T:40--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------- End table / Index tweak &amp;amp; more categorization -----------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- End main block / Documentation ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
| license = unspecified&lt;br /&gt;
| show-popularity = no&lt;br /&gt;
| parameters = &lt;br /&gt;
* doo doo doo&lt;br /&gt;
| templatemode = nocats&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150405</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150405"/>
		<updated>2026-03-07T04:07:08Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- CSS styling ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------- Begin main block / Check for unknown parameters ----------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------------- Begin table / Badge / Check status ----------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;table class=&amp;quot;infobox ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot; role=&amp;quot;none&amp;quot; aria-labelledby=&amp;quot;extension-name&amp;quot; aria-describedby=&amp;quot;extension-description&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption role=&amp;quot;none&amp;quot;&amp;gt;&#039;&#039;&#039;[[Manual:Extensions|&amp;lt;!--T:1--&amp;gt; MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span id=&amp;quot;extension-name&amp;quot; class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}{{#translation:}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Image ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Types ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#type|2=&amp;lt;!--T:12--&amp;gt; Implementation}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = {{ll|API:Action API|2=&amp;lt;!--T:95--&amp;gt; API}}&lt;br /&gt;
 |beta feature    = {{ll|Beta Features|2=&amp;lt;!--T:96--&amp;gt; Beta Feature}}&lt;br /&gt;
 |contenthandler  = {{ll|Manual:ContentHandler|ContentHandler}}&lt;br /&gt;
 |database        = {{ll|Manual:Database layout|2=&amp;lt;!--T:97--&amp;gt; Database}}&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:100--&amp;gt; Extended syntax}}&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = {{ll|Manual:Hooks|2=&amp;lt;!--T:102--&amp;gt; Hook}}&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:104--&amp;gt; Link markup}}&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = {{ll|Manual:Personalization|2=&amp;lt;!--T:106--&amp;gt; MyWiki}}&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = {{ll|Manual:Parameters to index.php#Actions|2=&amp;lt;!--T:108--&amp;gt; Page action}}&lt;br /&gt;
 |parser          = {{ll|Manual:Extending wiki markup|2=&amp;lt;!--T:109--&amp;gt; Parser extension}}&lt;br /&gt;
 |parser function = {{ll|Manual:Parser functions|2=&amp;lt;!--T:110--&amp;gt; Parser function}}&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = {{ll|Manual:Skins|2=&amp;lt;!--T:113--&amp;gt; Skin}}&lt;br /&gt;
 |special page    = {{ll|Manual:Special pages|2=&amp;lt;!--T:114--&amp;gt; Special page}}&lt;br /&gt;
 |locale          = {{ll|Manual:Localization|2=&amp;lt;!--T:115--&amp;gt; Locale}}&lt;br /&gt;
 |tag             = {{ll|Manual:Tag extensions|2=&amp;lt;!--T:116--&amp;gt; Tag}}&lt;br /&gt;
 |user access     = {{ll|Manual:Security|2=&amp;lt;!--T:117--&amp;gt; User access}}&lt;br /&gt;
 |user identity   = {{ll|Manual:Security|2=&amp;lt;!--T:118--&amp;gt; User identity}}&lt;br /&gt;
 |user rights     = {{ll|Manual:Security|2=&amp;lt;!--T:119--&amp;gt; User rights}}&lt;br /&gt;
 |user activity   = {{ll|Manual:Security|2=&amp;lt;!--T:120--&amp;gt; User activity}}&lt;br /&gt;
 |variable        = {{ll|Manual:Variables|2=&amp;lt;!--T:121--&amp;gt; Variable}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Description ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#description|2=&amp;lt;!--T:13--&amp;gt; Description}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;span id=&amp;quot;extension-description&amp;quot;&amp;gt;{{{description}}}&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Author &amp;amp; username-------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#username|2=&amp;lt;!--T:14--&amp;gt; Author(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Maintainer ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#maintainer|2=&amp;lt;!--T:46--&amp;gt; Maintainer(s)}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Version &amp;amp; dates --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:15--&amp;gt; Latest version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#version|2=&amp;lt;!--T:16--&amp;gt; Latest preview version}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------- Compatibility policy -----------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Compatibility#mediawiki_extensions|2=&amp;lt;!--T:43--&amp;gt; Compatibility policy}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Release_notes&amp;lt;/tvar&amp;gt;|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{#translation:}}||[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- MW version ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- PHP version ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------- Requires updating the database? ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Template:Extension#needs-updatephp|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:17--&amp;gt; &#039;php run update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Composer name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{ll|Composer|2=&amp;lt;abbr title=&amp;quot;&amp;lt;!--T:19--&amp;gt; Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Virtual name ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Manual:$wgVirtualDomainsMapping|2=&amp;lt;!--T:278--&amp;gt; Virtual domain}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ Database tables --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#table1|2=&amp;lt;!--T:20--&amp;gt; Tables}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table2}}} table|{{{table2}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table3}}} table|{{{table3}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table4}}} table|{{{table4}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table5}}} table|{{{table5}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table6}}} table|{{{table6}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table7}}} table|{{{table7}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table8}}} table|{{{table8}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table9}}} table|{{{table9}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table10}}} table|{{{table10}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table11}}} table|{{{table11}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table12}}} table|{{{table12}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table13}}} table|{{{table13}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table14}}} table|{{{table14}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table15}}} table|{{{table15}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table16}}} table|{{{table16}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table17}}} table|{{{table17}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table18}}} table|{{{table18}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table19}}} table|{{{table19}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;&lt;br /&gt;
*{{ll|{{translatable}}/{{{table20}}} table|{{{table20}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Namespace -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#namespace|2=&amp;lt;!--T:26--&amp;gt; Namespace}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Parameters ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{parameters|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#parameters|2=&amp;lt;!--T:27--&amp;gt; Parameters}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{parameters|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Tags -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#tags|2=&amp;lt;!--T:28--&amp;gt; Tags}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------------------- Rights ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{rights|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#rights|2=&amp;lt;!--T:29--&amp;gt; Added rights}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{rights|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Services -----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#service|Services defined}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------------------------- Hooks used ----------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#invoke:Extension|getHooks|header=&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#hook|2=&amp;lt;!--T:30--&amp;gt; Hooks used}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|footer=&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Hooks provided --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;{{ll|Template:Extension#newhook|2=&amp;lt;!--T:31--&amp;gt; Hooks provided}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- License ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{license|}}}|&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#license|2=&amp;lt;!--T:292--&amp;gt; License}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{license|}}}&amp;lt;/td&amp;gt;&amp;lt;!-- categorization&lt;br /&gt;
--&amp;gt;}}&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------ Download, readme &amp;amp; changelog -------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------------ Help -------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#help|2=&amp;lt;!--T:260--&amp;gt; Help}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
---------------------------------- Example ------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|Template:Extension#example|2=&amp;lt;!--T:25--&amp;gt; Example}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Compatibility --------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------- Show popularity -------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;lt;!--T:270--&amp;gt; This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:271--&amp;gt; Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&lt;br /&gt;
{{#ifeq:{{{show-popularity|}}}|yes|{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------------ translatewiki.net ------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[Special:Translate|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[Special:Translate/ext-{{lc:{{PAGENAME}}| |}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
------------------------- Suppress &#039;Check usage&#039; link? ------------------------&lt;br /&gt;
&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
-------------------------------- Vagrant role ---------------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;{{ll|MediaWiki-Vagrant#Using roles|2=&amp;lt;!--T:34--&amp;gt; Vagrant role}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- Phabricator, Bugzilla &amp;amp; issues ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Phabricator|2=&amp;lt;!--T:35--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;{{ll|Gerrit/GitHub|2=&amp;lt;!--T:40--&amp;gt; Issues}}&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--------------- End table / Index tweak &amp;amp; more categorization -----------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
----------------------- End main block / Documentation ------------------------&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
| license = unspecified&lt;br /&gt;
| show-popularity = no&lt;br /&gt;
| parameters = &lt;br /&gt;
* doo doo doo&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Ll&amp;diff=150403</id>
		<title>Template:Ll</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Ll&amp;diff=150403"/>
		<updated>2026-03-07T03:47:36Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: lazy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[{{{1}}}|{{{2}}}]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150400</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150400"/>
		<updated>2026-03-07T03:13:54Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;table class=&amp;quot;infobox notheme ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption&amp;gt;&#039;&#039;&#039;[[Manual:Extensions| MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{{name}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without an image]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#type|&amp;lt;!--T:12--&amp;gt; Implementation]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = [[API:Action API|&amp;lt;!--T:95--&amp;gt; API]]&lt;br /&gt;
 |beta feature    = [[Beta Features|&amp;lt;!--T:96--&amp;gt; Beta Feature]]&lt;br /&gt;
 |contenthandler  = [[Manual:ContentHandler|ContentHandler]]&lt;br /&gt;
 |database        = [[Manual:Database layout|&amp;lt;!--T:97--&amp;gt; Database]]&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = [[Manual:Extending wiki markup|&amp;lt;!--T:100--&amp;gt; Extended syntax]]&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = [[Manual:Hooks|&amp;lt;!--T:102--&amp;gt; Hook]]&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = [[Manual:Extending wiki markup|&amp;lt;!--T:104--&amp;gt; Link markup]]&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = [[Manual:Personalization|&amp;lt;!--T:106--&amp;gt; MyWiki]]&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = [[Manual:Parameters to index.php#Actions|&amp;lt;!--T:108--&amp;gt; Page action]]&lt;br /&gt;
 |parser          = [[Manual:Extending wiki markup|&amp;lt;!--T:109--&amp;gt; Parser extension]]&lt;br /&gt;
 |parser function = [[Manual:Parser functions|&amp;lt;!--T:110--&amp;gt; Parser function]]&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = [[Manual:Skins|&amp;lt;!--T:113--&amp;gt; Skin]]&lt;br /&gt;
 |special page    = [[Manual:Special pages|&amp;lt;!--T:114--&amp;gt; Special page]]&lt;br /&gt;
 |locale          = [[Manual:Localization|&amp;lt;!--T:115--&amp;gt; Locale]]&lt;br /&gt;
 |tag             = [[Manual:Tag extensions|&amp;lt;!--T:116--&amp;gt; Tag]]&lt;br /&gt;
 |user access     = [[Manual:Security|&amp;lt;!--T:117--&amp;gt; User access]]&lt;br /&gt;
 |user identity   = [[Manual:Security|&amp;lt;!--T:118--&amp;gt; User identity]]&lt;br /&gt;
 |user rights     = [[Manual:Security|&amp;lt;!--T:119--&amp;gt; User rights]]&lt;br /&gt;
 |user activity   = [[Manual:Security|&amp;lt;!--T:120--&amp;gt; User activity]]&lt;br /&gt;
 |variable        = [[Manual:Variables|&amp;lt;!--T:121--&amp;gt; Variable]]&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#description|&amp;lt;!--T:13--&amp;gt; Description]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{description}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#username|&amp;lt;!--T:14--&amp;gt; Author(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|talk]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#maintainer|&amp;lt;!--T:46--&amp;gt; Maintainer(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:15--&amp;gt; Latest version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:16--&amp;gt; Latest preview version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Compatibility#mediawiki_extensions|&amp;lt;!--T:43--&amp;gt; Compatibility policy]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#needs-updatephp|&amp;lt;abbr title=&amp;quot;&#039;php update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Composer|&amp;lt;abbr title=&amp;quot;Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Manual:$wgVirtualDomainsMapping|&amp;lt;!--T:278--&amp;gt; Virtual domain]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#table1|&amp;lt;!--T:20--&amp;gt; Tables]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[{{{{{table1}}} table|{{{table1}}}}}]]&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;[[{{{table2}}} table|{{{table2}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;[[{{{table3}}} table|{{{table3}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;[[{{{table4}}} table|{{{table4}}}]]!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;[[{{{table5}}} table|{{{table5}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;[[{{{table6}}} table|{{{table6}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;[[{{{table7}}} table|{{{table7}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;[[{{{table8}}} table|{{{table8}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;[[{{{table9}}} table|{{{table9}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;[[{{{table10}}} table|{{{table10}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;[[{{{table11}}} table|{{{table11}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;[[{{{table12}}} table|{{{table12}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;[[{{{table13}}} table|{{{table13}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;[[{{{table14}}} table|{{{table14}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;[[{{{table15}}} table|{{{table15}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;[[{{{table16}}} table|{{{table16}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;[[{{{table17}}} table|{{{table17}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;[[{{{table18}}} table|{{{table18}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;[[{{{table19}}} table|{{{table19}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;[[{{{table20}}} table|{{{table20}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#license|&amp;lt;!--T:21--&amp;gt; License]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getFormattedLicense|{{{license|}}}&lt;br /&gt;
 |GPL-2.0           = &amp;lt;!--T:122--&amp;gt; GNU General Public License 2.0&lt;br /&gt;
 |GPL-2.0-only      = &amp;lt;!--T:123--&amp;gt; GNU General Public License 2.0 only&lt;br /&gt;
 |GPL-2.0-or-later  = &amp;lt;!--T:124--&amp;gt; GNU General Public License 2.0 or later&lt;br /&gt;
 |GPL-3.0           = &amp;lt;!--T:125--&amp;gt; GNU General Public License 3.0&lt;br /&gt;
 |GPL-3.0-only      = &amp;lt;!--T:126--&amp;gt; GNU General Public License 3.0 only&lt;br /&gt;
 |GPL-3.0-or-later  = &amp;lt;!--T:127--&amp;gt; GNU General Public License 3.0 or later&lt;br /&gt;
 |AGPL-3.0          = &amp;lt;!--T:128--&amp;gt; GNU Affero General Public License 3.0&lt;br /&gt;
 |AGPL-3.0-or-later = &amp;lt;!--T:248--&amp;gt; GNU Affero General Public License 3.0 or later&lt;br /&gt;
 |LGPL-2.1          = &amp;lt;!--T:129--&amp;gt; GNU Lesser General Public License 2.1&lt;br /&gt;
 |LGPL-2.1-only     = &amp;lt;!--T:130--&amp;gt; GNU Lesser General Public License 2.1 only&lt;br /&gt;
 |LGPL-2.1-or-later = &amp;lt;!--T:131--&amp;gt; GNU Lesser General Public License 2.1 or later&lt;br /&gt;
 |LGPL-3.0          = &amp;lt;!--T:132--&amp;gt; GNU Lesser General Public License 3.0&lt;br /&gt;
 |LGPL-3.0-only     = &amp;lt;!--T:133--&amp;gt; GNU Lesser General Public License 3.0 only&lt;br /&gt;
 |LGPL-3.0-or-later = &amp;lt;!--T:134--&amp;gt; GNU Lesser General Public License 3.0 or later&lt;br /&gt;
 |FDL               = &amp;lt;!--T:135--&amp;gt; GNU Free Documentation License&lt;br /&gt;
 |MIT               = &amp;lt;!--T:136--&amp;gt; MIT License&lt;br /&gt;
 |ISC               = &amp;lt;!--T:137--&amp;gt; ISC License&lt;br /&gt;
 |BSD-2-Clause      = &amp;lt;!--T:138--&amp;gt; BSD 2-clause &amp;quot;Simplified&amp;quot; License&lt;br /&gt;
 |BSD-3-Clause      = &amp;lt;!--T:139--&amp;gt; BSD 3-clause &amp;quot;Modified&amp;quot; License&lt;br /&gt;
 |BSD-4-Clause      = &amp;lt;!--T:140--&amp;gt; BSD 4-clause &amp;quot;Original&amp;quot; License&lt;br /&gt;
 |MPL-1.0           = &amp;lt;!--T:141--&amp;gt; Mozilla Public License 1.0&lt;br /&gt;
 |MPL-2.0           = &amp;lt;!--T:142--&amp;gt; Mozilla Public License 2.0&lt;br /&gt;
 |WTFPL             = &amp;lt;!--T:143--&amp;gt; WTFPL 2.0&lt;br /&gt;
 |Apache-2.0        = &amp;lt;!--T:144--&amp;gt; Apache License 2.0&lt;br /&gt;
 |Zlib              = &amp;lt;!--T:145--&amp;gt; zlib License&lt;br /&gt;
 |CC0-1.0           = &amp;lt;!--T:146--&amp;gt; Creative Commons Zero v1.0 Universal&lt;br /&gt;
 |CC-BY-3.0         = &amp;lt;!--T:147--&amp;gt; Creative Commons Attribution 3.0&lt;br /&gt;
 |CC-BY-SA-2.0      = &amp;lt;!--T:148--&amp;gt; Creative Commons Attribution Share Alike 2.0&lt;br /&gt;
 |CC-BY-SA-2.5      = &amp;lt;!--T:149--&amp;gt; Creative Commons Attribution Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-2.5   = &amp;lt;!--T:150--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-3.0   = &amp;lt;!--T:151--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 3.0&lt;br /&gt;
 |CC-BY-NC-3.0      = &amp;lt;!--T:152--&amp;gt; Creative Commons Attribution NonCommercial 3.0&lt;br /&gt;
 |CC-BY-SA-3.0      = &amp;lt;!--T:153--&amp;gt; Creative Commons Attribution Share Alike 3.0&lt;br /&gt;
 |CC-BY-SA-4.0      = &amp;lt;!--T:154--&amp;gt; Creative Commons Attribution Share Alike 4.0&lt;br /&gt;
 |ECL-2.0           = &amp;lt;!--T:155--&amp;gt; [[w:Educational Community License|Educational Community License 2.0]]&lt;br /&gt;
 |PD                = &amp;lt;!--T:156--&amp;gt; [[w:Public domain|Public domain]]&lt;br /&gt;
 |+                 = &amp;lt;!--T:157--&amp;gt; &amp;amp;#32;or later&lt;br /&gt;
 |unspecified       = &amp;lt;!--T:22--&amp;gt; No license specified &lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- no category --&amp;gt;|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#help|&amp;lt;!--T:260--&amp;gt; Help]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#example|&amp;lt;!--T:25--&amp;gt; Example]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#namespace|&amp;lt;!--T:26--&amp;gt; Namespace]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#parameters|&amp;lt;!--T:27--&amp;gt; Parameters]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#tags|&amp;lt;!--T:28--&amp;gt; Tags]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#rights|&amp;lt;!--T:29--&amp;gt; Added rights]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{{rights|}}}|[[Category:Extensions which add rights]]|}} }}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#service|Services defined]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#invoke:Extension|getHooks|header=&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#hook|&amp;lt;!--T:30--&amp;gt; Hooks used]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|footer=&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#newhook|&amp;lt;!--T:31--&amp;gt; Hooks provided]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[translatewiki:Special:Translate/{{PAGENAME}}|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME}}| |}}}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[MediaWiki-Vagrant#Using roles|&amp;lt;!--T:34--&amp;gt; Vagrant role]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Phabricator|&amp;lt;!--T:35--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gerrit/GitHub|&amp;lt;!--T:40--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
   nothing--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{DEFAULTSORT:{{#if:{{{name|}}}|&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{{name}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{PAGENAME}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;[[Category:All extensions]]&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#invoke:Extension|getExtensionJsonCategory}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;!--Check if the source page was deleted/archived--&amp;gt; {{#invoke:Extension|maintenanceLinks}}&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Extension|noshift=1}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Extension |templatemode =&lt;br /&gt;
|name                 = &lt;br /&gt;
|status               = &lt;br /&gt;
|type1                = &lt;br /&gt;
|type2                = &lt;br /&gt;
|hook1                = &lt;br /&gt;
|hook2                = &lt;br /&gt;
|newhook1             = &lt;br /&gt;
|newhook2             = &lt;br /&gt;
|username             = &lt;br /&gt;
|author               = &lt;br /&gt;
|maintainer           =&lt;br /&gt;
|description          = &lt;br /&gt;
|image                = &lt;br /&gt;
|imagesize            = &lt;br /&gt;
|version              = &lt;br /&gt;
|update               = &lt;br /&gt;
|version preview      = &lt;br /&gt;
|update preview       = &lt;br /&gt;
|compatibility policy =&lt;br /&gt;
|mediawiki            = &lt;br /&gt;
|php                  = &lt;br /&gt;
|needs-updatephp      = &lt;br /&gt;
|composer             =&lt;br /&gt;
|virtual domain       =&lt;br /&gt;
|table1               = &lt;br /&gt;
|table2               = &lt;br /&gt;
|license              = &lt;br /&gt;
|download             = &lt;br /&gt;
|repo                 =&lt;br /&gt;
|readme               = &lt;br /&gt;
|changelog            = &lt;br /&gt;
|help                 = &lt;br /&gt;
|example              = &lt;br /&gt;
|namespace            = &lt;br /&gt;
|parameters           = &lt;br /&gt;
|tags                 = &lt;br /&gt;
|rights               = &lt;br /&gt;
|compatibility        = &lt;br /&gt;
|phabricator          =&lt;br /&gt;
|translate            = &lt;br /&gt;
|vagrant-role         = &lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;{{Extension |templatemode=nocats&lt;br /&gt;
|name            = {{{name}}}&lt;br /&gt;
|status          = {{{status}}}&lt;br /&gt;
|type1           = {{{type1}}}&lt;br /&gt;
|type2           = {{{type2}}}&lt;br /&gt;
|hook1           = hook1&lt;br /&gt;
|hook2           = hook2&lt;br /&gt;
|newhook1        = newhook1&lt;br /&gt;
|newhook2        = newhook2&lt;br /&gt;
|username        = SomeUser&lt;br /&gt;
|author          = SomeAuthor&lt;br /&gt;
|maintainer      = SomeOtherUser&lt;br /&gt;
|description     = {{{description}}}&lt;br /&gt;
|image           = Spr_temmie_r_0.gif&lt;br /&gt;
|imagesize       = 400&lt;br /&gt;
|version         = {{{version}}}&lt;br /&gt;
|update          = {{{update}}}&lt;br /&gt;
|version preview = {{{version preview}}}&lt;br /&gt;
|update preview  = {{{update preview}}}&lt;br /&gt;
|compatibility policy = {{{compatibility policy}}}&lt;br /&gt;
|mediawiki       = {{{mediawiki}}}&lt;br /&gt;
|php             = {{{php}}}&lt;br /&gt;
|needs-updatephp = {{{needs-updatephp}}}&lt;br /&gt;
|composer        = {{{composer}}}&lt;br /&gt;
|virtual domain  = {{{virtual domain}}}&lt;br /&gt;
|table1          = {{{table1}}}&lt;br /&gt;
|table2          = {{{table2}}}&lt;br /&gt;
|license         = {{{license}}}&lt;br /&gt;
|download        = {{{download}}}&lt;br /&gt;
|repo            =&lt;br /&gt;
|readme          = {{{readme}}}&lt;br /&gt;
|changelog       = {{{changelog}}}&lt;br /&gt;
|help            = {{{help}}}&lt;br /&gt;
|example         = {{{example}}}&lt;br /&gt;
|namespace       = {{{namespace}}}&lt;br /&gt;
|parameters      = {{{parameters}}}&lt;br /&gt;
|tags            = {{{tags}}}&lt;br /&gt;
|rights          = {{{rights}}}&lt;br /&gt;
|compatibility   = {{{compatibility}}}&lt;br /&gt;
|phabricator     = {{{phabricator}}}&lt;br /&gt;
|translate       = {{{translate}}}&lt;br /&gt;
|vagrant-role    = {{{vagrant-role}}}&lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150399</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150399"/>
		<updated>2026-03-07T03:13:16Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: trying to not make table1 appear every time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;table class=&amp;quot;infobox notheme ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption&amp;gt;&#039;&#039;&#039;[[Manual:Extensions| MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{{name}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without an image]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#type|&amp;lt;!--T:12--&amp;gt; Implementation]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = [[API:Action API|&amp;lt;!--T:95--&amp;gt; API]]&lt;br /&gt;
 |beta feature    = [[Beta Features|&amp;lt;!--T:96--&amp;gt; Beta Feature]]&lt;br /&gt;
 |contenthandler  = [[Manual:ContentHandler|ContentHandler]]&lt;br /&gt;
 |database        = [[Manual:Database layout|&amp;lt;!--T:97--&amp;gt; Database]]&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = [[Manual:Extending wiki markup|&amp;lt;!--T:100--&amp;gt; Extended syntax]]&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = [[Manual:Hooks|&amp;lt;!--T:102--&amp;gt; Hook]]&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = [[Manual:Extending wiki markup|&amp;lt;!--T:104--&amp;gt; Link markup]]&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = [[Manual:Personalization|&amp;lt;!--T:106--&amp;gt; MyWiki]]&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = [[Manual:Parameters to index.php#Actions|&amp;lt;!--T:108--&amp;gt; Page action]]&lt;br /&gt;
 |parser          = [[Manual:Extending wiki markup|&amp;lt;!--T:109--&amp;gt; Parser extension]]&lt;br /&gt;
 |parser function = [[Manual:Parser functions|&amp;lt;!--T:110--&amp;gt; Parser function]]&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = [[Manual:Skins|&amp;lt;!--T:113--&amp;gt; Skin]]&lt;br /&gt;
 |special page    = [[Manual:Special pages|&amp;lt;!--T:114--&amp;gt; Special page]]&lt;br /&gt;
 |locale          = [[Manual:Localization|&amp;lt;!--T:115--&amp;gt; Locale]]&lt;br /&gt;
 |tag             = [[Manual:Tag extensions|&amp;lt;!--T:116--&amp;gt; Tag]]&lt;br /&gt;
 |user access     = [[Manual:Security|&amp;lt;!--T:117--&amp;gt; User access]]&lt;br /&gt;
 |user identity   = [[Manual:Security|&amp;lt;!--T:118--&amp;gt; User identity]]&lt;br /&gt;
 |user rights     = [[Manual:Security|&amp;lt;!--T:119--&amp;gt; User rights]]&lt;br /&gt;
 |user activity   = [[Manual:Security|&amp;lt;!--T:120--&amp;gt; User activity]]&lt;br /&gt;
 |variable        = [[Manual:Variables|&amp;lt;!--T:121--&amp;gt; Variable]]&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#description|&amp;lt;!--T:13--&amp;gt; Description]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{description}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#username|&amp;lt;!--T:14--&amp;gt; Author(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|talk]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#maintainer|&amp;lt;!--T:46--&amp;gt; Maintainer(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:15--&amp;gt; Latest version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:16--&amp;gt; Latest preview version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Compatibility#mediawiki_extensions|&amp;lt;!--T:43--&amp;gt; Compatibility policy]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#needs-updatephp|&amp;lt;abbr title=&amp;quot;&#039;php update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Composer|&amp;lt;abbr title=&amp;quot;Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Manual:$wgVirtualDomainsMapping|&amp;lt;!--T:278--&amp;gt; Virtual domain]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#table1|&amp;lt;!--T:20--&amp;gt; Tables]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[{{{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;[[{{{table2}}} table|{{{table2}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;[[{{{table3}}} table|{{{table3}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;[[{{{table4}}} table|{{{table4}}}]]!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;[[{{{table5}}} table|{{{table5}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;[[{{{table6}}} table|{{{table6}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;[[{{{table7}}} table|{{{table7}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;[[{{{table8}}} table|{{{table8}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;[[{{{table9}}} table|{{{table9}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;[[{{{table10}}} table|{{{table10}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;[[{{{table11}}} table|{{{table11}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;[[{{{table12}}} table|{{{table12}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;[[{{{table13}}} table|{{{table13}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;[[{{{table14}}} table|{{{table14}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;[[{{{table15}}} table|{{{table15}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;[[{{{table16}}} table|{{{table16}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;[[{{{table17}}} table|{{{table17}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;[[{{{table18}}} table|{{{table18}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;[[{{{table19}}} table|{{{table19}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;[[{{{table20}}} table|{{{table20}}}]]&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#license|&amp;lt;!--T:21--&amp;gt; License]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getFormattedLicense|{{{license|}}}&lt;br /&gt;
 |GPL-2.0           = &amp;lt;!--T:122--&amp;gt; GNU General Public License 2.0&lt;br /&gt;
 |GPL-2.0-only      = &amp;lt;!--T:123--&amp;gt; GNU General Public License 2.0 only&lt;br /&gt;
 |GPL-2.0-or-later  = &amp;lt;!--T:124--&amp;gt; GNU General Public License 2.0 or later&lt;br /&gt;
 |GPL-3.0           = &amp;lt;!--T:125--&amp;gt; GNU General Public License 3.0&lt;br /&gt;
 |GPL-3.0-only      = &amp;lt;!--T:126--&amp;gt; GNU General Public License 3.0 only&lt;br /&gt;
 |GPL-3.0-or-later  = &amp;lt;!--T:127--&amp;gt; GNU General Public License 3.0 or later&lt;br /&gt;
 |AGPL-3.0          = &amp;lt;!--T:128--&amp;gt; GNU Affero General Public License 3.0&lt;br /&gt;
 |AGPL-3.0-or-later = &amp;lt;!--T:248--&amp;gt; GNU Affero General Public License 3.0 or later&lt;br /&gt;
 |LGPL-2.1          = &amp;lt;!--T:129--&amp;gt; GNU Lesser General Public License 2.1&lt;br /&gt;
 |LGPL-2.1-only     = &amp;lt;!--T:130--&amp;gt; GNU Lesser General Public License 2.1 only&lt;br /&gt;
 |LGPL-2.1-or-later = &amp;lt;!--T:131--&amp;gt; GNU Lesser General Public License 2.1 or later&lt;br /&gt;
 |LGPL-3.0          = &amp;lt;!--T:132--&amp;gt; GNU Lesser General Public License 3.0&lt;br /&gt;
 |LGPL-3.0-only     = &amp;lt;!--T:133--&amp;gt; GNU Lesser General Public License 3.0 only&lt;br /&gt;
 |LGPL-3.0-or-later = &amp;lt;!--T:134--&amp;gt; GNU Lesser General Public License 3.0 or later&lt;br /&gt;
 |FDL               = &amp;lt;!--T:135--&amp;gt; GNU Free Documentation License&lt;br /&gt;
 |MIT               = &amp;lt;!--T:136--&amp;gt; MIT License&lt;br /&gt;
 |ISC               = &amp;lt;!--T:137--&amp;gt; ISC License&lt;br /&gt;
 |BSD-2-Clause      = &amp;lt;!--T:138--&amp;gt; BSD 2-clause &amp;quot;Simplified&amp;quot; License&lt;br /&gt;
 |BSD-3-Clause      = &amp;lt;!--T:139--&amp;gt; BSD 3-clause &amp;quot;Modified&amp;quot; License&lt;br /&gt;
 |BSD-4-Clause      = &amp;lt;!--T:140--&amp;gt; BSD 4-clause &amp;quot;Original&amp;quot; License&lt;br /&gt;
 |MPL-1.0           = &amp;lt;!--T:141--&amp;gt; Mozilla Public License 1.0&lt;br /&gt;
 |MPL-2.0           = &amp;lt;!--T:142--&amp;gt; Mozilla Public License 2.0&lt;br /&gt;
 |WTFPL             = &amp;lt;!--T:143--&amp;gt; WTFPL 2.0&lt;br /&gt;
 |Apache-2.0        = &amp;lt;!--T:144--&amp;gt; Apache License 2.0&lt;br /&gt;
 |Zlib              = &amp;lt;!--T:145--&amp;gt; zlib License&lt;br /&gt;
 |CC0-1.0           = &amp;lt;!--T:146--&amp;gt; Creative Commons Zero v1.0 Universal&lt;br /&gt;
 |CC-BY-3.0         = &amp;lt;!--T:147--&amp;gt; Creative Commons Attribution 3.0&lt;br /&gt;
 |CC-BY-SA-2.0      = &amp;lt;!--T:148--&amp;gt; Creative Commons Attribution Share Alike 2.0&lt;br /&gt;
 |CC-BY-SA-2.5      = &amp;lt;!--T:149--&amp;gt; Creative Commons Attribution Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-2.5   = &amp;lt;!--T:150--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-3.0   = &amp;lt;!--T:151--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 3.0&lt;br /&gt;
 |CC-BY-NC-3.0      = &amp;lt;!--T:152--&amp;gt; Creative Commons Attribution NonCommercial 3.0&lt;br /&gt;
 |CC-BY-SA-3.0      = &amp;lt;!--T:153--&amp;gt; Creative Commons Attribution Share Alike 3.0&lt;br /&gt;
 |CC-BY-SA-4.0      = &amp;lt;!--T:154--&amp;gt; Creative Commons Attribution Share Alike 4.0&lt;br /&gt;
 |ECL-2.0           = &amp;lt;!--T:155--&amp;gt; [[w:Educational Community License|Educational Community License 2.0]]&lt;br /&gt;
 |PD                = &amp;lt;!--T:156--&amp;gt; [[w:Public domain|Public domain]]&lt;br /&gt;
 |+                 = &amp;lt;!--T:157--&amp;gt; &amp;amp;#32;or later&lt;br /&gt;
 |unspecified       = &amp;lt;!--T:22--&amp;gt; No license specified &lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- no category --&amp;gt;|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#help|&amp;lt;!--T:260--&amp;gt; Help]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#example|&amp;lt;!--T:25--&amp;gt; Example]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#namespace|&amp;lt;!--T:26--&amp;gt; Namespace]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#parameters|&amp;lt;!--T:27--&amp;gt; Parameters]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#tags|&amp;lt;!--T:28--&amp;gt; Tags]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#rights|&amp;lt;!--T:29--&amp;gt; Added rights]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{{rights|}}}|[[Category:Extensions which add rights]]|}} }}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#service|Services defined]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#invoke:Extension|getHooks|header=&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#hook|&amp;lt;!--T:30--&amp;gt; Hooks used]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|footer=&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#newhook|&amp;lt;!--T:31--&amp;gt; Hooks provided]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[translatewiki:Special:Translate/{{PAGENAME}}|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME}}| |}}}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[MediaWiki-Vagrant#Using roles|&amp;lt;!--T:34--&amp;gt; Vagrant role]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Phabricator|&amp;lt;!--T:35--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gerrit/GitHub|&amp;lt;!--T:40--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
   nothing--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{DEFAULTSORT:{{#if:{{{name|}}}|&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{{name}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{PAGENAME}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;[[Category:All extensions]]&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#invoke:Extension|getExtensionJsonCategory}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;!--Check if the source page was deleted/archived--&amp;gt; {{#invoke:Extension|maintenanceLinks}}&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Extension|noshift=1}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Extension |templatemode =&lt;br /&gt;
|name                 = &lt;br /&gt;
|status               = &lt;br /&gt;
|type1                = &lt;br /&gt;
|type2                = &lt;br /&gt;
|hook1                = &lt;br /&gt;
|hook2                = &lt;br /&gt;
|newhook1             = &lt;br /&gt;
|newhook2             = &lt;br /&gt;
|username             = &lt;br /&gt;
|author               = &lt;br /&gt;
|maintainer           =&lt;br /&gt;
|description          = &lt;br /&gt;
|image                = &lt;br /&gt;
|imagesize            = &lt;br /&gt;
|version              = &lt;br /&gt;
|update               = &lt;br /&gt;
|version preview      = &lt;br /&gt;
|update preview       = &lt;br /&gt;
|compatibility policy =&lt;br /&gt;
|mediawiki            = &lt;br /&gt;
|php                  = &lt;br /&gt;
|needs-updatephp      = &lt;br /&gt;
|composer             =&lt;br /&gt;
|virtual domain       =&lt;br /&gt;
|table1               = &lt;br /&gt;
|table2               = &lt;br /&gt;
|license              = &lt;br /&gt;
|download             = &lt;br /&gt;
|repo                 =&lt;br /&gt;
|readme               = &lt;br /&gt;
|changelog            = &lt;br /&gt;
|help                 = &lt;br /&gt;
|example              = &lt;br /&gt;
|namespace            = &lt;br /&gt;
|parameters           = &lt;br /&gt;
|tags                 = &lt;br /&gt;
|rights               = &lt;br /&gt;
|compatibility        = &lt;br /&gt;
|phabricator          =&lt;br /&gt;
|translate            = &lt;br /&gt;
|vagrant-role         = &lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;{{Extension |templatemode=nocats&lt;br /&gt;
|name            = {{{name}}}&lt;br /&gt;
|status          = {{{status}}}&lt;br /&gt;
|type1           = {{{type1}}}&lt;br /&gt;
|type2           = {{{type2}}}&lt;br /&gt;
|hook1           = hook1&lt;br /&gt;
|hook2           = hook2&lt;br /&gt;
|newhook1        = newhook1&lt;br /&gt;
|newhook2        = newhook2&lt;br /&gt;
|username        = SomeUser&lt;br /&gt;
|author          = SomeAuthor&lt;br /&gt;
|maintainer      = SomeOtherUser&lt;br /&gt;
|description     = {{{description}}}&lt;br /&gt;
|image           = Spr_temmie_r_0.gif&lt;br /&gt;
|imagesize       = 400&lt;br /&gt;
|version         = {{{version}}}&lt;br /&gt;
|update          = {{{update}}}&lt;br /&gt;
|version preview = {{{version preview}}}&lt;br /&gt;
|update preview  = {{{update preview}}}&lt;br /&gt;
|compatibility policy = {{{compatibility policy}}}&lt;br /&gt;
|mediawiki       = {{{mediawiki}}}&lt;br /&gt;
|php             = {{{php}}}&lt;br /&gt;
|needs-updatephp = {{{needs-updatephp}}}&lt;br /&gt;
|composer        = {{{composer}}}&lt;br /&gt;
|virtual domain  = {{{virtual domain}}}&lt;br /&gt;
|table1          = {{{table1}}}&lt;br /&gt;
|table2          = {{{table2}}}&lt;br /&gt;
|license         = {{{license}}}&lt;br /&gt;
|download        = {{{download}}}&lt;br /&gt;
|repo            =&lt;br /&gt;
|readme          = {{{readme}}}&lt;br /&gt;
|changelog       = {{{changelog}}}&lt;br /&gt;
|help            = {{{help}}}&lt;br /&gt;
|example         = {{{example}}}&lt;br /&gt;
|namespace       = {{{namespace}}}&lt;br /&gt;
|parameters      = {{{parameters}}}&lt;br /&gt;
|tags            = {{{tags}}}&lt;br /&gt;
|rights          = {{{rights}}}&lt;br /&gt;
|compatibility   = {{{compatibility}}}&lt;br /&gt;
|phabricator     = {{{phabricator}}}&lt;br /&gt;
|translate       = {{{translate}}}&lt;br /&gt;
|vagrant-role    = {{{vagrant-role}}}&lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=150398</id>
		<title>Extension:Wikiscape</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=150398"/>
		<updated>2026-03-07T03:09:18Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lights dim|#6495ED}} {{WIP}}&lt;br /&gt;
[[File:Another Medium (No Mercy(HOMESTUCK REFERENCE???)).mp3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:1560px; height:1180px; overflow:hidden; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: relative; bottom: -730px; left:560px&amp;quot;&amp;gt;[[File:Nerpawhite.png|70px|alt=nerpa says &amp;quot;鼻くそ&amp;quot;.|鼻くそ]] &amp;lt;!-- i wanna give it the {{Clippy}} speech bubble when you click on it... --&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: absolute; z-index:-1&amp;quot;&amp;gt;[[File:Wikiscape_stage.png|1560px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  {{Drag CSS|.playersoul|direction=both|min-width=48px|min-height=48px|max-width=1560px|max-height=1180px|width=785px|height=600px|position=absolute}}&lt;br /&gt;
  &amp;lt;div class=&amp;quot;playersoul&amp;quot;&amp;gt;[[File:Spr_temmie_r_0.gif|62px|your temmie! hoi!]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#css: &lt;br /&gt;
img {image-rendering: crisp-edges;} &lt;br /&gt;
.mw-body {background-color: #000 !important;} }}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150397</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=150397"/>
		<updated>2026-03-07T03:07:47Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;table class=&amp;quot;infobox notheme ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption&amp;gt;&#039;&#039;&#039;[[Manual:Extensions| MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{{name}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without an image]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#type|&amp;lt;!--T:12--&amp;gt; Implementation]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = [[API:Action API|&amp;lt;!--T:95--&amp;gt; API]]&lt;br /&gt;
 |beta feature    = [[Beta Features|&amp;lt;!--T:96--&amp;gt; Beta Feature]]&lt;br /&gt;
 |contenthandler  = [[Manual:ContentHandler|ContentHandler]]&lt;br /&gt;
 |database        = [[Manual:Database layout|&amp;lt;!--T:97--&amp;gt; Database]]&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = [[Manual:Extending wiki markup|&amp;lt;!--T:100--&amp;gt; Extended syntax]]&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = [[Manual:Hooks|&amp;lt;!--T:102--&amp;gt; Hook]]&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = [[Manual:Extending wiki markup|&amp;lt;!--T:104--&amp;gt; Link markup]]&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = [[Manual:Personalization|&amp;lt;!--T:106--&amp;gt; MyWiki]]&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = [[Manual:Parameters to index.php#Actions|&amp;lt;!--T:108--&amp;gt; Page action]]&lt;br /&gt;
 |parser          = [[Manual:Extending wiki markup|&amp;lt;!--T:109--&amp;gt; Parser extension]]&lt;br /&gt;
 |parser function = [[Manual:Parser functions|&amp;lt;!--T:110--&amp;gt; Parser function]]&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = [[Manual:Skins|&amp;lt;!--T:113--&amp;gt; Skin]]&lt;br /&gt;
 |special page    = [[Manual:Special pages|&amp;lt;!--T:114--&amp;gt; Special page]]&lt;br /&gt;
 |locale          = [[Manual:Localization|&amp;lt;!--T:115--&amp;gt; Locale]]&lt;br /&gt;
 |tag             = [[Manual:Tag extensions|&amp;lt;!--T:116--&amp;gt; Tag]]&lt;br /&gt;
 |user access     = [[Manual:Security|&amp;lt;!--T:117--&amp;gt; User access]]&lt;br /&gt;
 |user identity   = [[Manual:Security|&amp;lt;!--T:118--&amp;gt; User identity]]&lt;br /&gt;
 |user rights     = [[Manual:Security|&amp;lt;!--T:119--&amp;gt; User rights]]&lt;br /&gt;
 |user activity   = [[Manual:Security|&amp;lt;!--T:120--&amp;gt; User activity]]&lt;br /&gt;
 |variable        = [[Manual:Variables|&amp;lt;!--T:121--&amp;gt; Variable]]&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#description|&amp;lt;!--T:13--&amp;gt; Description]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{description}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#username|&amp;lt;!--T:14--&amp;gt; Author(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|talk]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#maintainer|&amp;lt;!--T:46--&amp;gt; Maintainer(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:15--&amp;gt; Latest version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:16--&amp;gt; Latest preview version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Compatibility#mediawiki_extensions|&amp;lt;!--T:43--&amp;gt; Compatibility policy]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#needs-updatephp|&amp;lt;abbr title=&amp;quot;&#039;php update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{composer|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Composer|&amp;lt;abbr title=&amp;quot;Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{composer|}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Manual:$wgVirtualDomainsMapping|&amp;lt;!--T:278--&amp;gt; Virtual domain]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#table1|&amp;lt;!--T:20--&amp;gt; Tables]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[{{{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;[[{{{table2}}} table|{{{table2}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;[[{{{table3}}} table|{{{table3}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;[[{{{table4}}} table|{{{table4}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;[[{{{table5}}} table|{{{table5}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;[[{{{table6}}} table|{{{table6}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;[[{{{table7}}} table|{{{table7}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;[[{{{table8}}} table|{{{table8}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;[[{{{table9}}} table|{{{table9}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;[[{{{table10}}} table|{{{table10}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;[[{{{table11}}} table|{{{table11}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;[[{{{table12}}} table|{{{table12}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;[[{{{table13}}} table|{{{table13}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;[[{{{table14}}} table|{{{table14}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;[[{{{table15}}} table|{{{table15}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;[[{{{table16}}} table|{{{table16}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;[[{{{table17}}} table|{{{table17}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;[[{{{table18}}} table|{{{table18}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;[[{{{table19}}} table|{{{table19}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;[[{{{table20}}} table|{{{table20}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#license|&amp;lt;!--T:21--&amp;gt; License]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getFormattedLicense|{{{license|}}}&lt;br /&gt;
 |GPL-2.0           = &amp;lt;!--T:122--&amp;gt; GNU General Public License 2.0&lt;br /&gt;
 |GPL-2.0-only      = &amp;lt;!--T:123--&amp;gt; GNU General Public License 2.0 only&lt;br /&gt;
 |GPL-2.0-or-later  = &amp;lt;!--T:124--&amp;gt; GNU General Public License 2.0 or later&lt;br /&gt;
 |GPL-3.0           = &amp;lt;!--T:125--&amp;gt; GNU General Public License 3.0&lt;br /&gt;
 |GPL-3.0-only      = &amp;lt;!--T:126--&amp;gt; GNU General Public License 3.0 only&lt;br /&gt;
 |GPL-3.0-or-later  = &amp;lt;!--T:127--&amp;gt; GNU General Public License 3.0 or later&lt;br /&gt;
 |AGPL-3.0          = &amp;lt;!--T:128--&amp;gt; GNU Affero General Public License 3.0&lt;br /&gt;
 |AGPL-3.0-or-later = &amp;lt;!--T:248--&amp;gt; GNU Affero General Public License 3.0 or later&lt;br /&gt;
 |LGPL-2.1          = &amp;lt;!--T:129--&amp;gt; GNU Lesser General Public License 2.1&lt;br /&gt;
 |LGPL-2.1-only     = &amp;lt;!--T:130--&amp;gt; GNU Lesser General Public License 2.1 only&lt;br /&gt;
 |LGPL-2.1-or-later = &amp;lt;!--T:131--&amp;gt; GNU Lesser General Public License 2.1 or later&lt;br /&gt;
 |LGPL-3.0          = &amp;lt;!--T:132--&amp;gt; GNU Lesser General Public License 3.0&lt;br /&gt;
 |LGPL-3.0-only     = &amp;lt;!--T:133--&amp;gt; GNU Lesser General Public License 3.0 only&lt;br /&gt;
 |LGPL-3.0-or-later = &amp;lt;!--T:134--&amp;gt; GNU Lesser General Public License 3.0 or later&lt;br /&gt;
 |FDL               = &amp;lt;!--T:135--&amp;gt; GNU Free Documentation License&lt;br /&gt;
 |MIT               = &amp;lt;!--T:136--&amp;gt; MIT License&lt;br /&gt;
 |ISC               = &amp;lt;!--T:137--&amp;gt; ISC License&lt;br /&gt;
 |BSD-2-Clause      = &amp;lt;!--T:138--&amp;gt; BSD 2-clause &amp;quot;Simplified&amp;quot; License&lt;br /&gt;
 |BSD-3-Clause      = &amp;lt;!--T:139--&amp;gt; BSD 3-clause &amp;quot;Modified&amp;quot; License&lt;br /&gt;
 |BSD-4-Clause      = &amp;lt;!--T:140--&amp;gt; BSD 4-clause &amp;quot;Original&amp;quot; License&lt;br /&gt;
 |MPL-1.0           = &amp;lt;!--T:141--&amp;gt; Mozilla Public License 1.0&lt;br /&gt;
 |MPL-2.0           = &amp;lt;!--T:142--&amp;gt; Mozilla Public License 2.0&lt;br /&gt;
 |WTFPL             = &amp;lt;!--T:143--&amp;gt; WTFPL 2.0&lt;br /&gt;
 |Apache-2.0        = &amp;lt;!--T:144--&amp;gt; Apache License 2.0&lt;br /&gt;
 |Zlib              = &amp;lt;!--T:145--&amp;gt; zlib License&lt;br /&gt;
 |CC0-1.0           = &amp;lt;!--T:146--&amp;gt; Creative Commons Zero v1.0 Universal&lt;br /&gt;
 |CC-BY-3.0         = &amp;lt;!--T:147--&amp;gt; Creative Commons Attribution 3.0&lt;br /&gt;
 |CC-BY-SA-2.0      = &amp;lt;!--T:148--&amp;gt; Creative Commons Attribution Share Alike 2.0&lt;br /&gt;
 |CC-BY-SA-2.5      = &amp;lt;!--T:149--&amp;gt; Creative Commons Attribution Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-2.5   = &amp;lt;!--T:150--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-3.0   = &amp;lt;!--T:151--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 3.0&lt;br /&gt;
 |CC-BY-NC-3.0      = &amp;lt;!--T:152--&amp;gt; Creative Commons Attribution NonCommercial 3.0&lt;br /&gt;
 |CC-BY-SA-3.0      = &amp;lt;!--T:153--&amp;gt; Creative Commons Attribution Share Alike 3.0&lt;br /&gt;
 |CC-BY-SA-4.0      = &amp;lt;!--T:154--&amp;gt; Creative Commons Attribution Share Alike 4.0&lt;br /&gt;
 |ECL-2.0           = &amp;lt;!--T:155--&amp;gt; [[w:Educational Community License|Educational Community License 2.0]]&lt;br /&gt;
 |PD                = &amp;lt;!--T:156--&amp;gt; [[w:Public domain|Public domain]]&lt;br /&gt;
 |+                 = &amp;lt;!--T:157--&amp;gt; &amp;amp;#32;or later&lt;br /&gt;
 |unspecified       = &amp;lt;!--T:22--&amp;gt; No license specified &lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- no category --&amp;gt;|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#help|&amp;lt;!--T:260--&amp;gt; Help]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#example|&amp;lt;!--T:25--&amp;gt; Example]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#namespace|&amp;lt;!--T:26--&amp;gt; Namespace]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#parameters|&amp;lt;!--T:27--&amp;gt; Parameters]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#tags|&amp;lt;!--T:28--&amp;gt; Tags]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#rights|&amp;lt;!--T:29--&amp;gt; Added rights]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{{rights|}}}|[[Category:Extensions which add rights]]|}} }}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#service|Services defined]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#invoke:Extension|getHooks|header=&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#hook|&amp;lt;!--T:30--&amp;gt; Hooks used]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|footer=&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#newhook|&amp;lt;!--T:31--&amp;gt; Hooks provided]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[translatewiki:Special:Translate/{{PAGENAME}}|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME}}| |}}}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[MediaWiki-Vagrant#Using roles|&amp;lt;!--T:34--&amp;gt; Vagrant role]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Phabricator|&amp;lt;!--T:35--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gerrit/GitHub|&amp;lt;!--T:40--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
   nothing--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{DEFAULTSORT:{{#if:{{{name|}}}|&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{{name}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{PAGENAME}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;[[Category:All extensions]]&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#invoke:Extension|getExtensionJsonCategory}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;!--Check if the source page was deleted/archived--&amp;gt; {{#invoke:Extension|maintenanceLinks}}&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Extension|noshift=1}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Extension |templatemode =&lt;br /&gt;
|name                 = &lt;br /&gt;
|status               = &lt;br /&gt;
|type1                = &lt;br /&gt;
|type2                = &lt;br /&gt;
|hook1                = &lt;br /&gt;
|hook2                = &lt;br /&gt;
|newhook1             = &lt;br /&gt;
|newhook2             = &lt;br /&gt;
|username             = &lt;br /&gt;
|author               = &lt;br /&gt;
|maintainer           =&lt;br /&gt;
|description          = &lt;br /&gt;
|image                = &lt;br /&gt;
|imagesize            = &lt;br /&gt;
|version              = &lt;br /&gt;
|update               = &lt;br /&gt;
|version preview      = &lt;br /&gt;
|update preview       = &lt;br /&gt;
|compatibility policy =&lt;br /&gt;
|mediawiki            = &lt;br /&gt;
|php                  = &lt;br /&gt;
|needs-updatephp      = &lt;br /&gt;
|composer             =&lt;br /&gt;
|virtual domain       =&lt;br /&gt;
|table1               = &lt;br /&gt;
|table2               = &lt;br /&gt;
|license              = &lt;br /&gt;
|download             = &lt;br /&gt;
|repo                 =&lt;br /&gt;
|readme               = &lt;br /&gt;
|changelog            = &lt;br /&gt;
|help                 = &lt;br /&gt;
|example              = &lt;br /&gt;
|namespace            = &lt;br /&gt;
|parameters           = &lt;br /&gt;
|tags                 = &lt;br /&gt;
|rights               = &lt;br /&gt;
|compatibility        = &lt;br /&gt;
|phabricator          =&lt;br /&gt;
|translate            = &lt;br /&gt;
|vagrant-role         = &lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;{{Extension |templatemode=nocats&lt;br /&gt;
|name            = {{{name}}}&lt;br /&gt;
|status          = {{{status}}}&lt;br /&gt;
|type1           = {{{type1}}}&lt;br /&gt;
|type2           = {{{type2}}}&lt;br /&gt;
|hook1           = hook1&lt;br /&gt;
|hook2           = hook2&lt;br /&gt;
|newhook1        = newhook1&lt;br /&gt;
|newhook2        = newhook2&lt;br /&gt;
|username        = SomeUser&lt;br /&gt;
|author          = SomeAuthor&lt;br /&gt;
|maintainer      = SomeOtherUser&lt;br /&gt;
|description     = {{{description}}}&lt;br /&gt;
|image           = Spr_temmie_r_0.gif&lt;br /&gt;
|imagesize       = 400&lt;br /&gt;
|version         = {{{version}}}&lt;br /&gt;
|update          = {{{update}}}&lt;br /&gt;
|version preview = {{{version preview}}}&lt;br /&gt;
|update preview  = {{{update preview}}}&lt;br /&gt;
|compatibility policy = {{{compatibility policy}}}&lt;br /&gt;
|mediawiki       = {{{mediawiki}}}&lt;br /&gt;
|php             = {{{php}}}&lt;br /&gt;
|needs-updatephp = {{{needs-updatephp}}}&lt;br /&gt;
|composer        = {{{composer}}}&lt;br /&gt;
|virtual domain  = {{{virtual domain}}}&lt;br /&gt;
|table1          = {{{table1}}}&lt;br /&gt;
|table2          = {{{table2}}}&lt;br /&gt;
|license         = {{{license}}}&lt;br /&gt;
|download        = {{{download}}}&lt;br /&gt;
|repo            =&lt;br /&gt;
|readme          = {{{readme}}}&lt;br /&gt;
|changelog       = {{{changelog}}}&lt;br /&gt;
|help            = {{{help}}}&lt;br /&gt;
|example         = {{{example}}}&lt;br /&gt;
|namespace       = {{{namespace}}}&lt;br /&gt;
|parameters      = {{{parameters}}}&lt;br /&gt;
|tags            = {{{tags}}}&lt;br /&gt;
|rights          = {{{rights}}}&lt;br /&gt;
|compatibility   = {{{compatibility}}}&lt;br /&gt;
|phabricator     = {{{phabricator}}}&lt;br /&gt;
|translate       = {{{translate}}}&lt;br /&gt;
|vagrant-role    = {{{vagrant-role}}}&lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=146213</id>
		<title>User:Mislirneality</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=146213"/>
		<updated>2026-01-05T19:28:00Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lights dim|#6495ED}}&lt;br /&gt;
&lt;br /&gt;
{{#css:&lt;br /&gt;
  #stuff {&lt;br /&gt;
     display: flex;&lt;br /&gt;
     flex-direction: column;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  #bubble {&lt;br /&gt;
    width: 124px;&lt;br /&gt;
    background: black;&lt;br /&gt;
    color: white;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    border-radius: .8em;&lt;br /&gt;
    border-width: 1.5px;&lt;br /&gt;
    position:relative;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    animation: 2.8s appear;&lt;br /&gt;
    animation-fill-mode: forwards;&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    font-family: Verdana, sans-serif;&lt;br /&gt;
    font-size: 9pt;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  #arrow {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    bottom: 0;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 0;&lt;br /&gt;
    height: 0;&lt;br /&gt;
    margin-left: 62px;&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
    border-top-color: white;&lt;br /&gt;
    border-bottom: white;&lt;br /&gt;
    animation: 2.8s appear;&lt;br /&gt;
    animation-fill-mode: forwards;&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
  }&lt;br /&gt;
  @keyframes appear {&lt;br /&gt;
    99% {visibility: hidden;}&lt;br /&gt;
    100% {visibility: visible;}&lt;br /&gt;
  }&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;stuff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; id=&amp;quot;mw-customcollapsible-clippythepaperclip&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;bubble&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;top:0;right:0;font-size:0;margin:4px;position:absolute;&amp;quot; class=&amp;quot;mw-customtoggle-clippythepaperclip mw-customtoggle&amp;quot;&amp;gt;{{invert|[[File:Clippy death button.png|Close|link=]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
鼻くそ [[File:Nonsmiler.png|16px]]&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;arrow&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;clippy&amp;quot;&amp;gt;[[File:Nerpawhite.png|70px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=139191</id>
		<title>User:Mislirneality</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=139191"/>
		<updated>2025-06-22T20:30:40Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: id be happy to keep this on my userpage after testing it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lights dim|#6495ED}}&lt;br /&gt;
&lt;br /&gt;
{{#css:&lt;br /&gt;
  #stuff {&lt;br /&gt;
     display: flex;&lt;br /&gt;
     flex-direction: column;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  #bubble {&lt;br /&gt;
    width: 124px;&lt;br /&gt;
    background: black;&lt;br /&gt;
    color: white;&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    border-radius: .8em;&lt;br /&gt;
    border-width: 1.5px;&lt;br /&gt;
    position:relative;&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    animation: 2.8s appear;&lt;br /&gt;
    animation-fill-mode: forwards;&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
    font-family: Verdana, sans-serif;&lt;br /&gt;
    font-size: 9pt;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  #arrow {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    bottom: 0;&lt;br /&gt;
    left: 50%;&lt;br /&gt;
    width: 0;&lt;br /&gt;
    height: 0;&lt;br /&gt;
    margin-left: 62px;&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
    border-top-color: white;&lt;br /&gt;
    border-bottom: white;&lt;br /&gt;
    animation: 2.8s appear;&lt;br /&gt;
    animation-fill-mode: forwards;&lt;br /&gt;
    visibility: hidden;&lt;br /&gt;
  }&lt;br /&gt;
  @keyframes appear {&lt;br /&gt;
    99% {visibility: hidden;}&lt;br /&gt;
    100% {visibility: visible;}&lt;br /&gt;
  }&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;stuff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; id=&amp;quot;mw-customcollapsible-clippythepaperclip&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;bubble&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;top:0;right:0;font-size:0;margin:4px;position:absolute;&amp;quot; class=&amp;quot;mw-customtoggle-clippythepaperclip mw-customtoggle&amp;quot;&amp;gt;{{invert|[[File:Clippy death button.png|Close|link=]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
鼻くそ&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;arrow&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;clippy&amp;quot;&amp;gt;[[File:Nerpawhite.png|70px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=139071</id>
		<title>Extension:Wikiscape</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Extension:Wikiscape&amp;diff=139071"/>
		<updated>2025-06-21T03:29:46Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: i intend to do more with this but ough&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lights dim|#6495ED}} {{WIP}}&lt;br /&gt;
[[File:Another Medium (No Mercy(HOMESTUCK REFERENCE???)).mp3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Extension&lt;br /&gt;
| name = Wikiscape&lt;br /&gt;
| username = Magimicks Doctor&lt;br /&gt;
| maintainer = Magimicks Doctor Jr.&lt;br /&gt;
| status = stable&lt;br /&gt;
| type1 = interface&lt;br /&gt;
| type2 = parser&lt;br /&gt;
| description = Turns articles into physically interactable virtual worlds.&lt;br /&gt;
| version = idk...&lt;br /&gt;
| mediawiki = &amp;lt;choose uncached=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.35+&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;1.19.2&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;Infdev 20100227-1414&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
| table1 = &lt;br /&gt;
| php = 7.4+&lt;br /&gt;
| needs-updatephp = how do i fix the template errors help&lt;br /&gt;
| composer = magimicks/wikiscape&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:1560px; height:1180px; overflow:hidden; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: relative; bottom: -730px; left:560px&amp;quot;&amp;gt;[[File:Nerpawhite.png|70px|alt=nerpa says &amp;quot;鼻くそ&amp;quot;.|鼻くそ]] &amp;lt;!-- i wanna give it the {{Clippy}} speech bubble when you click on it... --&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div style=&amp;quot;position: absolute; z-index:-1&amp;quot;&amp;gt;[[File:Wikiscape_stage.png|1560px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  {{Drag CSS|.playersoul|direction=both|min-width=48px|min-height=48px|max-width=1560px|max-height=1180px|width=785px|height=600px|position=absolute}}&lt;br /&gt;
  &amp;lt;div class=&amp;quot;playersoul&amp;quot;&amp;gt;[[File:Spr_temmie_r_0.gif|62px|your temmie! hoi!]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#css: &lt;br /&gt;
img {image-rendering: crisp-edges;} &lt;br /&gt;
.mw-body {background-color: #000 !important;} }}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=139018</id>
		<title>File:Wikiscape stage.png</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=139018"/>
		<updated>2025-06-21T00:22:06Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Mislirneality uploaded a new version of File:Wikiscape stage.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
cool thang i made&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=139016</id>
		<title>File:Wikiscape stage.png</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=139016"/>
		<updated>2025-06-21T00:16:13Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Mislirneality uploaded a new version of File:Wikiscape stage.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
cool thang i made&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:OOjs_UI_icon_advanced-invert.svg&amp;diff=139010</id>
		<title>File:OOjs UI icon advanced-invert.svg</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:OOjs_UI_icon_advanced-invert.svg&amp;diff=139010"/>
		<updated>2025-06-21T00:02:18Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=139009</id>
		<title>Template:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension&amp;diff=139009"/>
		<updated>2025-06-21T00:01:03Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: blehh mostly removed a bunch of translation related things, a lot more unnecessary things could be removed probably&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Infobox/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/styles.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;templatestyles src=&amp;quot;Template:Extension/status.css&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
{{#ifeq:{{lc:{{{status}}}}}|unmaintained|{{#ifeq:{{NAMESPACE}}|Extension|{{#invoke:Extension|unmaintained}}}}}}&lt;br /&gt;
{{#if: {{{phabricator|{{{bugzilla|}}}}}} | {{Ptag|{{{phabricator|MediaWiki-extensions-{{{bugzilla|}}}}}}}} }}&lt;br /&gt;
&amp;lt;table class=&amp;quot;infobox notheme ext-infobox ext-status-{{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
|unmaintained|unstable|experimental|beta|stable={{lc: {{{status}}} }}&lt;br /&gt;
|#default=unknown&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;caption&amp;gt;&#039;&#039;&#039;[[Manual:Extensions| MediaWiki extensions manual]]&#039;&#039;&#039;&amp;lt;/caption&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;infobox-header ext-infobox-header notheme&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;[[File:{{#ifeq: {{lc: {{{status|}}} }} |unstable&lt;br /&gt;
|OOjs UI icon alert-invert.svg&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;OOjs UI icon advanced{{#ifeq:{{{status}}}|beta||-invert}}.svg&lt;br /&gt;
}}|link=Template:Extension#Content|40px]] &amp;lt;span class=&amp;quot;ext-infobox-name&amp;quot;&amp;gt;{{{name}}}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Extension status|&amp;lt;!--T:2--&amp;gt; Release status:]] {{#switch: {{lc: {{{status|unknown}}} }}&lt;br /&gt;
  |unmaintained=&amp;lt;!--T:3--&amp;gt; unmaintained&lt;br /&gt;
  |unstable=&amp;lt;!--T:6--&amp;gt; unstable&lt;br /&gt;
  |experimental=&amp;lt;!--T:7--&amp;gt; experimental&lt;br /&gt;
  |beta=&amp;lt;!--T:8--&amp;gt; beta&lt;br /&gt;
  |stable=&amp;lt;!--T:9--&amp;gt; stable&lt;br /&gt;
  |#default=&amp;lt;!--T:11--&amp;gt; unknown&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;[[Category:{{#switch: {{lc:{{{status|}}} }}&lt;br /&gt;
|unstable|experimental|unmaintained|stable = {{{status}}} extensions&lt;br /&gt;
|beta = beta status extensions&lt;br /&gt;
|unknown = extensions with unknown status&lt;br /&gt;
|#default = extensions with invalid status&lt;br /&gt;
}}]]}}&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-image&amp;quot;&amp;gt;[[File:{{{image}}}|{{{imagesize|300}}}px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without an image]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{type|}}}{{{type1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;ext-infobox-type&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#type|&amp;lt;!--T:12--&amp;gt; Implementation]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getTypes&lt;br /&gt;
 |ajax            = &amp;lt;!--T:94--&amp;gt; [[w:AJAX|Ajax]]&lt;br /&gt;
 |api             = [[API:Action API|&amp;lt;!--T:95--&amp;gt; API]]&lt;br /&gt;
 |beta feature    = [[Beta Features|&amp;lt;!--T:96--&amp;gt; Beta Feature]]&lt;br /&gt;
 |contenthandler  = [[Manual:ContentHandler|ContentHandler]]&lt;br /&gt;
 |database        = [[Manual:Database layout|&amp;lt;!--T:97--&amp;gt; Database]]&lt;br /&gt;
 |data extraction = &amp;lt;!--T:98--&amp;gt; Data extraction&lt;br /&gt;
 |example         = &amp;lt;!--T:99--&amp;gt; Example&lt;br /&gt;
 |extended syntax = [[Manual:Extending wiki markup|&amp;lt;!--T:100--&amp;gt; Extended syntax]]&lt;br /&gt;
 |filerepo        = &amp;lt;!--T:101--&amp;gt; File repository&lt;br /&gt;
 |hook            = [[Manual:Hooks|&amp;lt;!--T:102--&amp;gt; Hook]]&lt;br /&gt;
 |interface       = &amp;lt;!--T:103--&amp;gt; User interface&lt;br /&gt;
 |link            = [[Manual:Extending wiki markup|&amp;lt;!--T:104--&amp;gt; Link markup]]&lt;br /&gt;
 |media           = &amp;lt;!--T:105--&amp;gt; Media&lt;br /&gt;
 |mywiki          = [[Manual:Personalization|&amp;lt;!--T:106--&amp;gt; MyWiki]]&lt;br /&gt;
 |notify          = &amp;lt;!--T:107--&amp;gt; Notify&lt;br /&gt;
 |page action     = [[Manual:Parameters to index.php#Actions|&amp;lt;!--T:108--&amp;gt; Page action]]&lt;br /&gt;
 |parser          = [[Manual:Extending wiki markup|&amp;lt;!--T:109--&amp;gt; Parser extension]]&lt;br /&gt;
 |parser function = [[Manual:Parser functions|&amp;lt;!--T:110--&amp;gt; Parser function]]&lt;br /&gt;
 |php             = &amp;lt;!--T:111--&amp;gt; PHP&lt;br /&gt;
 |search          = &amp;lt;!--T:112--&amp;gt; Search&lt;br /&gt;
 |skin            = [[Manual:Skins|&amp;lt;!--T:113--&amp;gt; Skin]]&lt;br /&gt;
 |special page    = [[Manual:Special pages|&amp;lt;!--T:114--&amp;gt; Special page]]&lt;br /&gt;
 |locale          = [[Manual:Localization|&amp;lt;!--T:115--&amp;gt; Locale]]&lt;br /&gt;
 |tag             = [[Manual:Tag extensions|&amp;lt;!--T:116--&amp;gt; Tag]]&lt;br /&gt;
 |user access     = [[Manual:Security|&amp;lt;!--T:117--&amp;gt; User access]]&lt;br /&gt;
 |user identity   = [[Manual:Security|&amp;lt;!--T:118--&amp;gt; User identity]]&lt;br /&gt;
 |user rights     = [[Manual:Security|&amp;lt;!--T:119--&amp;gt; User rights]]&lt;br /&gt;
 |user activity   = [[Manual:Security|&amp;lt;!--T:120--&amp;gt; User activity]]&lt;br /&gt;
 |variable        = [[Manual:Variables|&amp;lt;!--T:121--&amp;gt; Variable]]&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
      nothing&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:Extension|getType|_missing_}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{description|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#description|&amp;lt;!--T:13--&amp;gt; Description]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{description}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getAuthor|{{{author|}}}}}{{{username|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#username|&amp;lt;!--T:14--&amp;gt; Author(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{username|}}} |&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}} (&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;[[User:{{{username}}}|{{{username}}}]]&amp;lt;!--&lt;br /&gt;
      --&amp;gt;&amp;lt;sup&amp;gt;[[User talk:{{{username}}}|talk]]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#ifeq: {{{username}}}|{{{author|{{{username}}}&amp;lt;!-- --&amp;gt;}}}|&amp;lt;!--&lt;br /&gt;
         nothing&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
         --&amp;gt;)&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{#invoke:extension|getAuthor|{{{author|}}}}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{maintainer|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#maintainer|&amp;lt;!--T:46--&amp;gt; Maintainer(s)]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#ifexist:User:{{{maintainer}}}|[[User:{{{maintainer}}}|{{{maintainer}}}]]&amp;lt;sup&amp;gt;[[User talk:{{{maintainer}}}|{{int|talkpagelinktext}}]]&amp;lt;/sup&amp;gt;|{{{maintainer}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:15--&amp;gt; Latest version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:extension|getVersion|{{{latest release version|{{{latest_release_version|{{{version|}}}}}}}}}}}{{#if:{{{latest release date|{{{latest_release_date|{{{update|}}}}}}}}}|&amp;amp;#160;({{{latest release date|{{{latest_release_date|{{{update}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#version|&amp;lt;!--T:16--&amp;gt; Latest preview version]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{latest preview version|{{{latest_preview_version|{{{version_preview|{{{version preview|}}}}}}}}}}}}{{#if:{{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview|}}}}}}}}}}}}|&amp;amp;#160;({{{latest preview date|{{{latest_preview_date|{{{update_preview|{{{update preview}}}}}}}}}}}})}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility policy|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Compatibility#mediawiki_extensions|&amp;lt;!--T:43--&amp;gt; Compatibility policy]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{compatibility policy}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|master=&amp;lt;!--T:250--&amp;gt; Master maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|main=&amp;lt;!--T:273--&amp;gt; Main branch maintains backward compatibility.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with master compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|rel=&amp;lt;!--T:251--&amp;gt; Snapshots releases along with MediaWiki. &amp;lt;!--T:252--&amp;gt; Master is not backward compatible.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|ltsrel= &amp;lt;!--T:264--&amp;gt; For every [[Special:MyLanguage/Release_notes|MediaWiki release]] that is a Long Term Support release there is a corresponding branch in the extension.{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions with long-term support release branches compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|#default=&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;lt;!--T:47--&amp;gt; invalid&amp;lt;/span&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:[[Category:Extensions without a compatibility policy]]}}}}&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#mediawiki|&#039;&#039;&#039;MediaWiki&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getMediaWikiRequirement|{{{mediawiki|}}}|{{{compatibility policy|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#php|&#039;&#039;&#039;PHP&#039;&#039;&#039;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getPHPRequirement|{{{php|}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Template:Extension#needs-updatephp|&amp;lt;abbr title=&amp;quot;&#039;php update.php&#039; needed after installation&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:18--&amp;gt; Database changes&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#switch:{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}|yes|Yes=&amp;lt;!--T:38--&amp;gt; Yes|no|No=&amp;lt;!--T:39--&amp;gt; No|{{{needs-updatephp|{{#invoke:Extension|getNeedsUpdates}}}}}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getComposerName |{{{composer|}}} }}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Composer|&amp;lt;abbr title=&amp;quot;Supports &#039;Composer&#039; for installation&amp;quot;&amp;gt;&#039;&#039;&#039;Composer&#039;&#039;&#039;&amp;lt;/abbr&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getComposerName |{{{composer|}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{virtual domain|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Manual:$wgVirtualDomainsMapping|&amp;lt;!--T:278--&amp;gt; Virtual domain]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{virtual domain}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{table1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#table1|&amp;lt;!--T:20--&amp;gt; Tables]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[{{{{{table1}}} table|{{{table1}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table2|}}}|&amp;lt;br /&amp;gt;[[{{{table2}}} table|{{{table2}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table3|}}}|&amp;lt;br /&amp;gt;[[{{{table3}}} table|{{{table3}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table4|}}}|&amp;lt;br /&amp;gt;[[{{{table4}}} table|{{{table4}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table5|}}}|&amp;lt;br /&amp;gt;[[{{{table5}}} table|{{{table5}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table6|}}}|&amp;lt;br /&amp;gt;[[{{{table6}}} table|{{{table6}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table7|}}}|&amp;lt;br /&amp;gt;[[{{{table7}}} table|{{{table7}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table8|}}}|&amp;lt;br /&amp;gt;[[{{{table8}}} table|{{{table8}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table9|}}}|&amp;lt;br /&amp;gt;[[{{{table9}}} table|{{{table9}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table10|}}}|&amp;lt;br /&amp;gt;[[{{{table10}}} table|{{{table10}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table11|}}}|&amp;lt;br /&amp;gt;[[{{{table11}}} table|{{{table11}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table12|}}}|&amp;lt;br /&amp;gt;[[{{{table12}}} table|{{{table12}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table13|}}}|&amp;lt;br /&amp;gt;[[{{{table13}}} table|{{{table13}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table14|}}}|&amp;lt;br /&amp;gt;[[{{{table14}}} table|{{{table14}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table15|}}}|&amp;lt;br /&amp;gt;[[{{{table15}}} table|{{{table15}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table16|}}}|&amp;lt;br /&amp;gt;[[{{{table16}}} table|{{{table16}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table17|}}}|&amp;lt;br /&amp;gt;[[{{{table17}}} table|{{{table17}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table18|}}}|&amp;lt;br /&amp;gt;[[{{{table18}}} table|{{{table18}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table19|}}}|&amp;lt;br /&amp;gt;[[{{{table19}}} table|{{{table19}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{table20|}}}|&amp;lt;br /&amp;gt;[[{{{table20}}} table|{{{table20}}}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#license|&amp;lt;!--T:21--&amp;gt; License]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension|getFormattedLicense|{{{license|}}}&lt;br /&gt;
 |GPL-2.0           = &amp;lt;!--T:122--&amp;gt; GNU General Public License 2.0&lt;br /&gt;
 |GPL-2.0-only      = &amp;lt;!--T:123--&amp;gt; GNU General Public License 2.0 only&lt;br /&gt;
 |GPL-2.0-or-later  = &amp;lt;!--T:124--&amp;gt; GNU General Public License 2.0 or later&lt;br /&gt;
 |GPL-3.0           = &amp;lt;!--T:125--&amp;gt; GNU General Public License 3.0&lt;br /&gt;
 |GPL-3.0-only      = &amp;lt;!--T:126--&amp;gt; GNU General Public License 3.0 only&lt;br /&gt;
 |GPL-3.0-or-later  = &amp;lt;!--T:127--&amp;gt; GNU General Public License 3.0 or later&lt;br /&gt;
 |AGPL-3.0          = &amp;lt;!--T:128--&amp;gt; GNU Affero General Public License 3.0&lt;br /&gt;
 |AGPL-3.0-or-later = &amp;lt;!--T:248--&amp;gt; GNU Affero General Public License 3.0 or later&lt;br /&gt;
 |LGPL-2.1          = &amp;lt;!--T:129--&amp;gt; GNU Lesser General Public License 2.1&lt;br /&gt;
 |LGPL-2.1-only     = &amp;lt;!--T:130--&amp;gt; GNU Lesser General Public License 2.1 only&lt;br /&gt;
 |LGPL-2.1-or-later = &amp;lt;!--T:131--&amp;gt; GNU Lesser General Public License 2.1 or later&lt;br /&gt;
 |LGPL-3.0          = &amp;lt;!--T:132--&amp;gt; GNU Lesser General Public License 3.0&lt;br /&gt;
 |LGPL-3.0-only     = &amp;lt;!--T:133--&amp;gt; GNU Lesser General Public License 3.0 only&lt;br /&gt;
 |LGPL-3.0-or-later = &amp;lt;!--T:134--&amp;gt; GNU Lesser General Public License 3.0 or later&lt;br /&gt;
 |FDL               = &amp;lt;!--T:135--&amp;gt; GNU Free Documentation License&lt;br /&gt;
 |MIT               = &amp;lt;!--T:136--&amp;gt; MIT License&lt;br /&gt;
 |ISC               = &amp;lt;!--T:137--&amp;gt; ISC License&lt;br /&gt;
 |BSD-2-Clause      = &amp;lt;!--T:138--&amp;gt; BSD 2-clause &amp;quot;Simplified&amp;quot; License&lt;br /&gt;
 |BSD-3-Clause      = &amp;lt;!--T:139--&amp;gt; BSD 3-clause &amp;quot;Modified&amp;quot; License&lt;br /&gt;
 |BSD-4-Clause      = &amp;lt;!--T:140--&amp;gt; BSD 4-clause &amp;quot;Original&amp;quot; License&lt;br /&gt;
 |MPL-1.0           = &amp;lt;!--T:141--&amp;gt; Mozilla Public License 1.0&lt;br /&gt;
 |MPL-2.0           = &amp;lt;!--T:142--&amp;gt; Mozilla Public License 2.0&lt;br /&gt;
 |WTFPL             = &amp;lt;!--T:143--&amp;gt; WTFPL 2.0&lt;br /&gt;
 |Apache-2.0        = &amp;lt;!--T:144--&amp;gt; Apache License 2.0&lt;br /&gt;
 |Zlib              = &amp;lt;!--T:145--&amp;gt; zlib License&lt;br /&gt;
 |CC0-1.0           = &amp;lt;!--T:146--&amp;gt; Creative Commons Zero v1.0 Universal&lt;br /&gt;
 |CC-BY-3.0         = &amp;lt;!--T:147--&amp;gt; Creative Commons Attribution 3.0&lt;br /&gt;
 |CC-BY-SA-2.0      = &amp;lt;!--T:148--&amp;gt; Creative Commons Attribution Share Alike 2.0&lt;br /&gt;
 |CC-BY-SA-2.5      = &amp;lt;!--T:149--&amp;gt; Creative Commons Attribution Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-2.5   = &amp;lt;!--T:150--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 2.5&lt;br /&gt;
 |CC-BY-NC-SA-3.0   = &amp;lt;!--T:151--&amp;gt; Creative Commons Attribution NonCommercial Share Alike 3.0&lt;br /&gt;
 |CC-BY-NC-3.0      = &amp;lt;!--T:152--&amp;gt; Creative Commons Attribution NonCommercial 3.0&lt;br /&gt;
 |CC-BY-SA-3.0      = &amp;lt;!--T:153--&amp;gt; Creative Commons Attribution Share Alike 3.0&lt;br /&gt;
 |CC-BY-SA-4.0      = &amp;lt;!--T:154--&amp;gt; Creative Commons Attribution Share Alike 4.0&lt;br /&gt;
 |ECL-2.0           = &amp;lt;!--T:155--&amp;gt; [[w:Educational Community License|Educational Community License 2.0]]&lt;br /&gt;
 |PD                = &amp;lt;!--T:156--&amp;gt; [[w:Public domain|Public domain]]&lt;br /&gt;
 |+                 = &amp;lt;!--T:157--&amp;gt; &amp;amp;#32;or later&lt;br /&gt;
 |unspecified       = &amp;lt;!--T:22--&amp;gt; No license specified &lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- no category --&amp;gt;|{{#invoke:Extension|getLicenseCategory|{{{license|}}}}}}}&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;lt;!--T:23--&amp;gt; Download&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{download|}}}|{{{download}}}|{{#if:{{{repo|}}}|{{WikimediaDownload|{{{repo}}}}}|&#039;&#039;&amp;lt;!--T:24--&amp;gt; No link&#039;&#039;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{readme|}}}|&amp;lt;br /&amp;gt;{{{readme}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{changelog|}}}|&amp;lt;br /&amp;gt;{{{changelog}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
{{#if: {{{help|}}}{{#ifexist:Help:{{FULLPAGENAME}}|yes}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#help|&amp;lt;!--T:260--&amp;gt; Help]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#if: {{{help|}}} | {{{help}}} | {{localized link|Help:{{FULLPAGENAME}}}} }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{example|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[Template:Extension#example|&amp;lt;!--T:25--&amp;gt; Example]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{{example}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{namespace|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;&#039;&#039;&#039;[[Template:Extension#namespace|&amp;lt;!--T:26--&amp;gt; Namespace]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;namespace&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{namespace|}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{parameters|}}}|y|{{#invoke:Extension|getParameters}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#parameters|&amp;lt;!--T:27--&amp;gt; Parameters]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;parameters&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{parameters|}}}|{{{parameters}}}|{{#invoke:Extension|getParameters}}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{tags|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#tags|&amp;lt;!--T:28--&amp;gt; Tags]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
{{{tags}}}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#if:{{{rights|}}}|y|{{#invoke:Extension|getRights}}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#rights|&amp;lt;!--T:29--&amp;gt; Added rights]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;rights&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{#if:{{{rights|}}}|{{{rights}}}|{{#invoke:Extension|getRights}}}}&lt;br /&gt;
{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!-- do nothing --&amp;gt;|&amp;lt;!--else--&amp;gt;{{#if:{{{rights|}}}|[[Category:Extensions which add rights]]|}} }}&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{service1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#service|Services defined]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{{service1|}}}[[Category:Extensions defining a service|{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#if:{{{service2|}}}|&amp;lt;div&amp;gt;{{{service2|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#invoke:Extension|getHooks|header=&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#hook|&amp;lt;!--T:30--&amp;gt; Hooks used]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|footer=&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{newhook1|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; colspan=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-header&amp;quot;&amp;gt;[[Template:Extension#newhook|&amp;lt;!--T:31--&amp;gt; Hooks provided]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{{plainlist|class=mw-collapsible-content}}&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{Foreach|Extension/HookProvided|delim=&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook1}}}|{{{newhook2|}}}|{{{newhook3|}}}|{{{newhook4|}}}|{{{newhook5|}}}|{{{newhook6|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook7|}}}|{{{newhook8|}}}|{{{newhook9|}}}|{{{newhook10|}}}|{{{newhook11|}}}|{{{newhook12|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook13|}}}|{{{newhook14|}}}|{{{newhook15|}}}|{{{newhook16|}}}|{{{newhook17|}}}|{{{newhook18|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook19|}}}|{{{newhook20|}}}|{{{newhook21|}}}|{{{newhook22|}}}|{{{newhook23|}}}|{{{newhook24|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook25|}}}|{{{newhook26|}}}|{{{newhook27|}}}|{{{newhook28|}}}|{{{newhook29|}}}|{{{newhook30|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook31|}}}|{{{newhook32|}}}|{{{newhook33|}}}|{{{newhook34|}}}|{{{newhook35|}}}|{{{newhook36|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook37|}}}|{{{newhook38|}}}|{{{newhook39|}}}|{{{newhook40|}}}|{{{newhook41|}}}|{{{newhook42|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook43|}}}|{{{newhook44|}}}|{{{newhook45|}}}|{{{newhook46|}}}|{{{newhook47|}}}|{{{newhook48|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook49|}}}|{{{newhook50|}}}|{{{newhook51|}}}|{{{newhook52|}}}|{{{newhook53|}}}|{{{newhook54|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook55|}}}|{{{newhook56|}}}|{{{newhook57|}}}|{{{newhook58|}}}|{{{newhook59|}}}|{{{newhook60|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook61|}}}|{{{newhook62|}}}|{{{newhook63|}}}|{{{newhook64|}}}|{{{newhook65|}}}|{{{newhook66|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook67|}}}|{{{newhook68|}}}|{{{newhook69|}}}|{{{newhook70|}}}|{{{newhook71|}}}|{{{newhook72|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook73|}}}|{{{newhook74|}}}|{{{newhook75|}}}|{{{newhook76|}}}|{{{newhook77|}}}|{{{newhook78|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook79|}}}|{{{newhook80|}}}|{{{newhook81|}}}|{{{newhook82|}}}|{{{newhook83|}}}|{{{newhook84|}}}|&amp;lt;!--&lt;br /&gt;
         --&amp;gt;{{{newhook85|}}}|{{{newhook86|}}}|{{{newhook87|}}}|{{{newhook88|}}}|{{{newhook89|}}}|{{{newhook90|}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;{{endplainlist}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{compatibility|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;!-- the parameter &amp;quot;compatibility&amp;quot; should begin on its own line so that bullet lists are correctly recognised by MediaWiki --&amp;gt;&lt;br /&gt;
{{{compatibility}}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getDownloads}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included.&amp;quot;&amp;gt;&#039;&#039;&#039;Quarterly downloads&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getDownloads}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{#invoke:Extension |getPublicSites}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td title=&amp;quot;&amp;quot;&amp;gt;[https://wikiapiary.com/wiki/{{NAMESPACE}}:{{BASEPAGENAMEE}} &#039;&#039;&#039;&amp;lt;!--T:272--&amp;gt; Public wikis using&#039;&#039;&#039;]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;{{#invoke:Extension |getPublicSites}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{notranslate|{{#if:{{#invoke:Extension|isOnGerrit}}{{{translate|}}}||n}}}}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; class=&amp;quot;ext-infobox-translate&amp;quot;&amp;gt;&lt;br /&gt;
{{#if:{{{translate|}}}&lt;br /&gt;
  |&amp;lt;!--T:255--&amp;gt; [[translatewiki:Special:Translate/{{PAGENAME}}|Translate the {{PAGENAME}} extension]]&lt;br /&gt;
  |&amp;lt;!--T:32--&amp;gt; [[translatewiki:Special:Translate/ext-{{lc:{{#invoke:String|replace|{{PAGENAME}}| |}}}}|Translate the {{PAGENAME}} extension]] if it is available at translatewiki.net&lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
Note: this next check suppresses the &#039;Check usage&#039; link if page is: a subpage, not in Extension: namespace, or if suppressed by &#039;templatemode=nocats&#039; or &#039;nousage=true&#039;.&lt;br /&gt;
--&amp;gt;{{#if:{{{nousage|{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats&lt;br /&gt;
                      |no usage&lt;br /&gt;
                      |{{#ifeq:{{NAMESPACE}}|{{ns:102}}&lt;br /&gt;
                         |&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                      {{#ifeq:{{{templatemode|}}}|nousage&lt;br /&gt;
                         |no usage&lt;br /&gt;
                       }}&lt;br /&gt;
                    }}}}}&lt;br /&gt;
     |&amp;lt;!-- no usage --&amp;gt;|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if:{{{vagrant-role|}}}|&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;[[MediaWiki-Vagrant#Using roles|&amp;lt;!--T:34--&amp;gt; Vagrant role]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://doc.wikimedia.org/mediawiki-vagrant/puppet_classes/role_3A_3A{{{vagrant-role}}}.html {{{vagrant-role}}}]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{phabricator|{{{bugzilla|}}}}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Phabricator|&amp;lt;!--T:35--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[phab:tag/{{lc:{{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}}}}|&amp;lt;!--T:36--&amp;gt; Open tasks]] · [https://phabricator.wikimedia.org/maniphest/task/create/?projects={{{phabricator|MediaWiki-extensions-{{{bugzilla}}}}}} &amp;lt;!--T:37--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{github|}}} |&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Gerrit/GitHub|&amp;lt;!--T:40--&amp;gt; Issues]]&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[https://www.github.com/{{{github}}}/issues &amp;lt;!--T:41--&amp;gt; Open issues] · [https://www.github.com/{{{github}}}/issues/new &amp;lt;!--T:42--&amp;gt; Report a bug]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{templatemode|&amp;lt;noinclude&amp;gt;nocats&amp;lt;/noinclude&amp;gt;}}}|nocats|&amp;lt;!--&lt;br /&gt;
   nothing--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{DEFAULTSORT:{{#if:{{{name|}}}|&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{{name}}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!--else--&amp;gt;&amp;lt;!--&lt;br /&gt;
      --&amp;gt;{{uc:{{PAGENAME}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;}}&amp;lt;!-- --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;[[Category:All extensions]]&amp;lt;!--&lt;br /&gt;
   --&amp;gt;{{#invoke:Extension|getExtensionJsonCategory}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;!--Check if the source page was deleted/archived--&amp;gt; {{#invoke:Extension|maintenanceLinks}}&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Extension|noshift=1}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Extension |templatemode =&lt;br /&gt;
|name                 = &lt;br /&gt;
|status               = &lt;br /&gt;
|type1                = &lt;br /&gt;
|type2                = &lt;br /&gt;
|hook1                = &lt;br /&gt;
|hook2                = &lt;br /&gt;
|newhook1             = &lt;br /&gt;
|newhook2             = &lt;br /&gt;
|username             = &lt;br /&gt;
|author               = &lt;br /&gt;
|maintainer           =&lt;br /&gt;
|description          = &lt;br /&gt;
|image                = &lt;br /&gt;
|imagesize            = &lt;br /&gt;
|version              = &lt;br /&gt;
|update               = &lt;br /&gt;
|version preview      = &lt;br /&gt;
|update preview       = &lt;br /&gt;
|compatibility policy =&lt;br /&gt;
|mediawiki            = &lt;br /&gt;
|php                  = &lt;br /&gt;
|needs-updatephp      = &lt;br /&gt;
|composer             =&lt;br /&gt;
|virtual domain       =&lt;br /&gt;
|table1               = &lt;br /&gt;
|table2               = &lt;br /&gt;
|license              = &lt;br /&gt;
|download             = &lt;br /&gt;
|repo                 =&lt;br /&gt;
|readme               = &lt;br /&gt;
|changelog            = &lt;br /&gt;
|help                 = &lt;br /&gt;
|example              = &lt;br /&gt;
|namespace            = &lt;br /&gt;
|parameters           = &lt;br /&gt;
|tags                 = &lt;br /&gt;
|rights               = &lt;br /&gt;
|compatibility        = &lt;br /&gt;
|phabricator          =&lt;br /&gt;
|translate            = &lt;br /&gt;
|vagrant-role         = &lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;{{Extension |templatemode=nocats&lt;br /&gt;
|name            = {{{name}}}&lt;br /&gt;
|status          = {{{status}}}&lt;br /&gt;
|type1           = {{{type1}}}&lt;br /&gt;
|type2           = {{{type2}}}&lt;br /&gt;
|hook1           = hook1&lt;br /&gt;
|hook2           = hook2&lt;br /&gt;
|newhook1        = newhook1&lt;br /&gt;
|newhook2        = newhook2&lt;br /&gt;
|username        = SomeUser&lt;br /&gt;
|author          = SomeAuthor&lt;br /&gt;
|maintainer      = SomeOtherUser&lt;br /&gt;
|description     = {{{description}}}&lt;br /&gt;
|image           = Spr_temmie_r_0.gif&lt;br /&gt;
|imagesize       = 400&lt;br /&gt;
|version         = {{{version}}}&lt;br /&gt;
|update          = {{{update}}}&lt;br /&gt;
|version preview = {{{version preview}}}&lt;br /&gt;
|update preview  = {{{update preview}}}&lt;br /&gt;
|compatibility policy = {{{compatibility policy}}}&lt;br /&gt;
|mediawiki       = {{{mediawiki}}}&lt;br /&gt;
|php             = {{{php}}}&lt;br /&gt;
|needs-updatephp = {{{needs-updatephp}}}&lt;br /&gt;
|composer        = {{{composer}}}&lt;br /&gt;
|virtual domain  = {{{virtual domain}}}&lt;br /&gt;
|table1          = {{{table1}}}&lt;br /&gt;
|table2          = {{{table2}}}&lt;br /&gt;
|license         = {{{license}}}&lt;br /&gt;
|download        = {{{download}}}&lt;br /&gt;
|repo            =&lt;br /&gt;
|readme          = {{{readme}}}&lt;br /&gt;
|changelog       = {{{changelog}}}&lt;br /&gt;
|help            = {{{help}}}&lt;br /&gt;
|example         = {{{example}}}&lt;br /&gt;
|namespace       = {{{namespace}}}&lt;br /&gt;
|parameters      = {{{parameters}}}&lt;br /&gt;
|tags            = {{{tags}}}&lt;br /&gt;
|rights          = {{{rights}}}&lt;br /&gt;
|compatibility   = {{{compatibility}}}&lt;br /&gt;
|phabricator     = {{{phabricator}}}&lt;br /&gt;
|translate       = {{{translate}}}&lt;br /&gt;
|vagrant-role    = {{{vagrant-role}}}&lt;br /&gt;
}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Module:Extension&amp;diff=138999</id>
		<title>Module:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Module:Extension&amp;diff=138999"/>
		<updated>2025-06-20T22:29:03Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: idk what this will break&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local addr = {&lt;br /&gt;
	GNU = &#039;//www.gnu.org/licenses/&#039;,&lt;br /&gt;
	OSI = &#039;//opensource.org/licenses/&#039;,&lt;br /&gt;
	CC  = &#039;//creativecommons.org/licenses/&#039;,&lt;br /&gt;
	Mozilla = &#039;//www.mozilla.org/&#039;&lt;br /&gt;
}&lt;br /&gt;
local cats = {&lt;br /&gt;
	GPL    = &#039;GPL licensed extensions&#039;,&lt;br /&gt;
	FDL    = &#039;FDL licensed extensions&#039;,&lt;br /&gt;
	LGPL   = &#039;LGPL licensed extensions&#039;,&lt;br /&gt;
	AGPL   = &#039;AGPL licensed extensions&#039;,&lt;br /&gt;
	MIT    = &#039;MIT licensed extensions&#039;,&lt;br /&gt;
	ISC    = &#039;ISC licensed extensions&#039;,&lt;br /&gt;
	BSD    = &#039;BSD licensed extensions&#039;,&lt;br /&gt;
	MPL    = &#039;MPL licensed extensions&#039;,&lt;br /&gt;
	WTFPL  = &#039;WTFPL licensed extensions&#039;,&lt;br /&gt;
	Apache = &#039;Apache licensed extensions&#039;,&lt;br /&gt;
	PD     = &#039;Public domain licensed extensions&#039;,&lt;br /&gt;
	CC     = &#039;Creative Commons licensed extensions&#039;,&lt;br /&gt;
	ECL    = &#039;Educational Community licensed extensions&#039;,&lt;br /&gt;
	Unlicense = &#039;The Unlicense licensed extensions&#039;,&lt;br /&gt;
	BLANK  = &#039;Extensions with no license specified&#039;&lt;br /&gt;
}&lt;br /&gt;
local licenses = {&lt;br /&gt;
	[&#039;AGPL-3.0&#039;]     = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;AGPL-3.0-only&#039;]     = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;AGPL-3.0-or-later&#039;] = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0 or later&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;Apache-2.0&#039;]   = { &#039;//www.apache.org/licenses/LICENSE-2.0&#039;, &#039;Apache License 2.0&#039;, &#039;Apache&#039; },&lt;br /&gt;
	[&#039;BSD-2-Clause&#039;] = { addr.OSI .. &#039;BSD-2-Clause&#039;, &#039;BSD 2-clause &amp;quot;Simplified&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;BSD-3-Clause&#039;] = { addr.OSI .. &#039;BSD-3-Clause&#039;, &#039;BSD 3-clause &amp;quot;Modified&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;BSD-4-Clause&#039;] = { addr.GNU .. &#039;license-list.html#OriginalBSD&#039;, &#039;BSD 4-clause &amp;quot;Original&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;CC-BY-3.0&#039;]    = { addr.CC .. &#039;by/3.0/&#039;, &#039;Creative Commons Attribution 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-3.0-US&#039;] = { addr.CC .. &#039;by/3.0/us/&#039;, &#039;Creative Commons Attribution 3.0 United States&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-3.0&#039;] = { addr.CC .. &#039;by-nc/3.0/&#039;, &#039;Creative Commons Attribution NonCommercial 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-2.5&#039;] = { addr.CC .. &#039;by-nc-sa/2.5/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 2.5&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-3.0&#039;] = { addr.CC .. &#039;by-nc-sa/3.0/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-4.0&#039;] = { addr.CC .. &#039;by-nc-sa/4.0/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 4.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.0&#039;] = { addr.CC .. &#039;by-sa/2.0/&#039;, &#039;Creative Commons Attribution Share Alike 2.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.0-UK&#039;] = { addr.CC .. &#039;by-sa/2.0/uk/&#039;, &#039;Creative Commons Attribution Share Alike 2.0 England and Wales&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.5&#039;] = { addr.CC .. &#039;by-sa/2.5/&#039;, &#039;Creative Commons Attribution Share Alike 2.5&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-3.0&#039;] = { addr.CC .. &#039;by-sa/3.0/&#039;, &#039;Creative Commons Attribution Share Alike 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-4.0&#039;] = { addr.CC .. &#039;by-sa/4.0/&#039;, &#039;Creative Commons Attribution Share Alike 4.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC0-1.0&#039;]      = { &#039;//creativecommons.org/publicdomain/zero/1.0/&#039;, &#039;Creative Commons Zero v1.0 Universal&#039;, &#039;PD&#039; },&lt;br /&gt;
	[&#039;ECL-2.0&#039;]      = { &#039;&#039;, &#039;[[wikipedia:Educational Community License|Educational Community License 2.0]]&#039;, &#039;ECL&#039; },&lt;br /&gt;
	[&#039;FDL&#039;]          = { addr.GNU .. &#039;fdl.html&#039;, &#039;GNU Free Documentation License&#039;, &#039;FDL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0&#039;]      = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0-only&#039;] = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0 only&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0-or-later&#039;] = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0 or later&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0&#039;]      = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0-only&#039;] = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0 only&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0-or-later&#039;] = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0 or later&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;ISC&#039;]          = { addr.OSI .. &#039;ISC&#039;, &#039;ISC License&#039;, &#039;ISC&#039; },&lt;br /&gt;
	[&#039;LGPL-2.0-only&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.0-standalone.html&#039;, &#039;GNU Library General Public License v2 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1&#039;]     = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1-only&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1-or-later&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1 or later&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0&#039;]     = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0-only&#039;] = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0-or-later&#039;] = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0 or later&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;MIT&#039;]          = { addr.OSI .. &#039;mit-license.php&#039;, &#039;MIT License&#039;, &#039;MIT&#039; },&lt;br /&gt;
	[&#039;MPL-1.0&#039;]      = { addr.Mozilla .. &#039;MPL/1.0/&#039;, &#039;Mozilla Public License 1.0&#039;, &#039;MPL&#039; },&lt;br /&gt;
	[&#039;MPL-2.0&#039;]      = { addr.Mozilla .. &#039;MPL/2.0/&#039;, &#039;Mozilla Public License 2.0&#039;, &#039;MPL&#039; },&lt;br /&gt;
	[&#039;PD&#039;]           = { &#039;&#039;, &#039;[[wikipedia:Public domain|Public domain]]&#039;, &#039;PD&#039; },&lt;br /&gt;
	[&#039;Unlicense&#039;]    = { &#039;https://unlicense.org/&#039;, &#039;The Unlicense&#039;, &#039;Unlicense&#039; },&lt;br /&gt;
	[&#039;WTFPL&#039;]        = { &#039;http://www.wtfpl.net&#039;, &#039;WTFPL 2.0&#039;, &#039;WTFPL&#039; },&lt;br /&gt;
	[&#039;Zlib&#039;]         = { addr.OSI .. &#039;Zlib&#039;, &#039;zlib License&#039; },&lt;br /&gt;
	[&#039;unspecified&#039;]  = { &#039;&#039;, &#039;No license specified&#039;, &#039;BLANK&#039;}&lt;br /&gt;
}&lt;br /&gt;
local types = {&lt;br /&gt;
	ajax                = { &#039;[[w:AJAX|Ajax]]&#039;,                                        &#039;Ajax extensions&#039; },&lt;br /&gt;
	api                 = { &#039;[[API:Action API|API]]&#039;,                                 &#039;API extensions&#039; },&lt;br /&gt;
	[&#039;beta feature&#039;]    = { &#039;[[Beta Features|Beta Feature]]&#039;,                         &#039;Beta Feature extensions&#039; },&lt;br /&gt;
	contenthandler      = { &#039;[[Manual:ContentHandler|ContentHandler]]&#039;,               &#039;ContentHandler extensions&#039; },&lt;br /&gt;
	database            = { &#039;[[Manual:Database layout|Database]]&#039;,                    &#039;Database extensions&#039; },&lt;br /&gt;
	[&#039;data extraction&#039;] = { &#039;Data extraction&#039;,                                        &#039;Data extraction extensions&#039; },&lt;br /&gt;
	example             = { &#039;Example&#039;,                                                &#039;Extension examples&#039; },&lt;br /&gt;
	[&#039;extended syntax&#039;] = { &#039;[[Manual:Extending wiki markup|Extended syntax]]&#039;,       &#039;Extended syntax extensions&#039; },&lt;br /&gt;
	filerepo            = { &#039;File repository&#039;,                                        &#039;File repository extensions&#039; },&lt;br /&gt;
	hook                = { &#039;[[Manual:Hooks|Hook]]&#039;,                                  &#039;Hook extensions&#039; },&lt;br /&gt;
	interface           = { &#039;User interface&#039;,                                         &#039;User interface extensions&#039; },&lt;br /&gt;
	link                = { &#039;[[Manual:Extending wiki markup|Link markup]]&#039;,           &#039;Link markup extensions&#039; },&lt;br /&gt;
	media               = { &#039;Media&#039;,                                                  &#039;Media handling extensions&#039; },&lt;br /&gt;
	mywiki              = { &#039;[[Manual:Personalization|MyWiki]]&#039;,                      &#039;Personalization extensions&#039; },&lt;br /&gt;
	notify              = { &#039;Notify&#039;,                                                 &#039;Notification extensions&#039; },&lt;br /&gt;
	[&#039;page action&#039;]     = { &#039;[[Manual:Parameters to index.php#Actions|Page action]]&#039;, &#039;Page action extensions&#039; },&lt;br /&gt;
	parser              = { &#039;[[Manual:Extending wiki markup|Parser extension]]&#039;,      &#039;Parser extensions&#039; },&lt;br /&gt;
	[&#039;parser function&#039;] = { &#039;[[Manual:Parser functions|Parser function]]&#039;,            &#039;Parser function extensions&#039; },&lt;br /&gt;
	php                 = { &#039;PHP&#039;,                                                    &#039;PHP extensions&#039; },&lt;br /&gt;
	search              = { &#039;Search&#039;,                                                 &#039;Search extensions&#039; },&lt;br /&gt;
	skin                = { &#039;[[Manual:Skins|Skin]]&#039;,                                  &#039;Skin extensions&#039; },&lt;br /&gt;
	[&#039;special page&#039;]    = { &#039;[[Manual:Special pages|Special page]]&#039;,                  &#039;Special page extensions&#039; },&lt;br /&gt;
	locale              = { &#039;[[Manual:Localization|Locale]]&#039;,                         &#039;Internationalization extensions&#039; },&lt;br /&gt;
	tag                 = { &#039;[[Manual:Tag extensions|Tag]]&#039;,                          &#039;Tag extensions&#039; },&lt;br /&gt;
	[&#039;user access&#039;]     = { &#039;[[Manual:Security|User access]]&#039;,                        &#039;User access extensions&#039; },&lt;br /&gt;
	[&#039;user identity&#039;]   = { &#039;[[Manual:Security|User identity]]&#039;,                      &#039;User identity extensions&#039; },&lt;br /&gt;
	[&#039;user rights&#039;]     = { &#039;[[Manual:Security|User rights]]&#039;,                        &#039;User rights extensions&#039; },&lt;br /&gt;
	[&#039;user activity&#039;]   = { &#039;[[Manual:Security|User activity]]&#039;,                      &#039;User activity extensions&#039; },&lt;br /&gt;
	variable            = { &#039;[[Manual:Variables|Variable]]&#039;,                          &#039;Variable extensions&#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local typeAliases = {&lt;br /&gt;
	db = &#039;database&#039;,&lt;br /&gt;
	pfunc = &#039;parser function&#039;,&lt;br /&gt;
	special = &#039;special page&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function setI18n( from, to, index )&lt;br /&gt;
	for n, v in pairs( from ) do&lt;br /&gt;
		if to[n] then&lt;br /&gt;
			to[n][index] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function cat( title )&lt;br /&gt;
	return &#039;[[Category:&#039; .. title .. &#039;]]&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tcat( title )&lt;br /&gt;
	return cat( title )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getType( str, str2 )&lt;br /&gt;
	local str = mw.ustring.lower( str )&lt;br /&gt;
	if typeAliases[str] then&lt;br /&gt;
		str = typeAliases[str]&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = types[str]&lt;br /&gt;
	local res&lt;br /&gt;
	if cnf then&lt;br /&gt;
		res = cnf[1] .. &#039;[[Category:&#039; .. cnf[2] .. &#039;]]&#039;&lt;br /&gt;
	else&lt;br /&gt;
		if str == &#039;_missing_&#039; then&lt;br /&gt;
			res = tcat( &#039;Extensions with invalid or missing type&#039; )&lt;br /&gt;
		elseif str == &#039;_demomode_&#039; then&lt;br /&gt;
			if str2 then&lt;br /&gt;
				res = lang:ucfirst( str2 )&lt;br /&gt;
			else&lt;br /&gt;
				res = &amp;quot;&#039;&#039;unknown&#039;&#039;&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			res = ( str or &#039;\&#039;\&#039;unknown\&#039;\&#039;&#039; ) ..&lt;br /&gt;
				&#039; [[Special:MyLanguage/Template:Extension#type|(\&#039;\&#039;\&#039;\&#039;\&#039;invalid type\&#039;\&#039;\&#039;\&#039;\&#039;)]]&#039; ..&lt;br /&gt;
				tcat( &#039;Extensions with invalid or missing type&#039; )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getExtData()&lt;br /&gt;
	local pg&lt;br /&gt;
	local pframe = mw.getCurrentFrame():getParent()&lt;br /&gt;
	if pframe and pframe.args.repo then&lt;br /&gt;
		pg = pframe.args.repo&lt;br /&gt;
	else&lt;br /&gt;
		pg = mw.title.getCurrentTitle().rootPageTitle:partialUrl() -- need to get rid of translation subpage.&lt;br /&gt;
	end&lt;br /&gt;
	return mw.loadData( &#039;Module:ExtensionJson&#039; )[pg] or mw.loadData( &#039;Module:ExtensionJson&#039; )[pg:gsub(&amp;quot;_&amp;quot;,&amp;quot; &amp;quot;)]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getPopularityData()&lt;br /&gt;
	local pg&lt;br /&gt;
	local pframe = mw.getCurrentFrame():getParent()&lt;br /&gt;
	if pframe and pframe.args.repo then&lt;br /&gt;
		pg = pframe.args.repo&lt;br /&gt;
	else&lt;br /&gt;
		pg = mw.title.getCurrentTitle().rootPageTitle:partialUrl() -- need to get rid of translation subpage.&lt;br /&gt;
	end&lt;br /&gt;
    type = &#039;extensions&#039;&lt;br /&gt;
    if mw.title.getCurrentTitle().rootPageTitle:inNamespace( &#039;skin&#039; ) then&lt;br /&gt;
        type =&amp;quot;skins&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
	return mw.loadJsonData( &#039;Template:Extension/popularity.json&#039; )[type][pg]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getLicenseString (str)&lt;br /&gt;
	str = mw.text.trim(str)&lt;br /&gt;
	if str == &amp;quot;&amp;quot; or str == nil then&lt;br /&gt;
		local data = getExtData()&lt;br /&gt;
		if data and data[&amp;quot;license-name&amp;quot;] then&lt;br /&gt;
			str = data[&amp;quot;license-name&amp;quot;]&lt;br /&gt;
		else&lt;br /&gt;
			str = &amp;quot;unspecified&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
local function getLicenseCategory( str )&lt;br /&gt;
	str = getLicenseString(str)&lt;br /&gt;
	if mw.ustring.sub( str, -1 ) == &#039;+&#039; then&lt;br /&gt;
		str = mw.ustring.sub( str, 1, -2 )&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = licenses[str]&lt;br /&gt;
	if cnf then&lt;br /&gt;
		if #cnf &amp;gt; 2 then&lt;br /&gt;
			return tcat( cats[cnf[3]] )&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return tcat( &#039;Extensions with unknown license&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getFormattedLicense( str, orlatertext )&lt;br /&gt;
	local orlater = &#039;&#039;&lt;br /&gt;
	local license = getLicenseString(str)&lt;br /&gt;
	if mw.ustring.sub( license, -1 ) == &#039;+&#039; then&lt;br /&gt;
		license = mw.ustring.sub( license, 1, -2 )&lt;br /&gt;
		orlater = orlatertext&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = licenses[license]&lt;br /&gt;
	if cnf then&lt;br /&gt;
		return (cnf[1] ~= &#039;&#039; and (&#039;[&#039; .. cnf[1] .. &#039; &#039; .. cnf[2] .. &#039;]&#039;) or cnf[2]) .. orlater&lt;br /&gt;
	else&lt;br /&gt;
		return license&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.getTypes( frame )&lt;br /&gt;
	setI18n( frame.args, types, 1 )&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local types = {}&lt;br /&gt;
	local params = {&lt;br /&gt;
		args.type1 or args[&#039;type&#039;] or &#039;missing&#039;,&lt;br /&gt;
		args.type2,&lt;br /&gt;
		args.type3,&lt;br /&gt;
		args.type4,&lt;br /&gt;
		args.type5,&lt;br /&gt;
		args.type6,&lt;br /&gt;
	}&lt;br /&gt;
	for _, param in ipairs( params ) do&lt;br /&gt;
		if param == nil or mw.text.trim( param ) == &#039;&#039; then&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
		local param = mw.text.trim( param )&lt;br /&gt;
		if args.templatemode == &#039;nocats&#039; then&lt;br /&gt;
			table.insert( types, getType( &#039;_demomode_&#039;, param ) )&lt;br /&gt;
		else&lt;br /&gt;
			table.insert( types, getType( param ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( types, &#039;, &#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getType( frame )&lt;br /&gt;
	setI18n( frame.args, types, 1 )&lt;br /&gt;
	return getType( frame.args[1] )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getLicenseCategory( frame )&lt;br /&gt;
	return getLicenseCategory( frame.args[1] )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getFormattedLicense( frame )&lt;br /&gt;
	setI18n( frame.args, licenses, 2 )&lt;br /&gt;
	return getFormattedLicense( frame.args[1], frame.args[&#039;+&#039;] or &#039; or later&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Return if the extension does schema updates&lt;br /&gt;
-- Only answer yes. For now be silent on no or unknown, as its unclear&lt;br /&gt;
-- if this info should be in infobox if the answer is not yes.&lt;br /&gt;
function p.getNeedsUpdates( frame )&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data ~= nil and data.Hooks ~= nil and data.Hooks.LoadExtensionSchemaUpdates ~= nil then&lt;br /&gt;
		return &#039;yes&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getVersion( frame )&lt;br /&gt;
	&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim(frame.args[1]) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil and data.version ~= nil then&lt;br /&gt;
    	return data.version&lt;br /&gt;
    end&lt;br /&gt;
    return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get the requires.MediaWiki value from extension.json&lt;br /&gt;
-- @link https://www.mediawiki.org/wiki/Manual:Extension.json/Schema#requires&lt;br /&gt;
-- --&lt;br /&gt;
function p.getMediaWikiRequirement( frame )&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1] .. cat( &#039;Extensions with manual MediaWiki version&#039; )&lt;br /&gt;
    end&lt;br /&gt;
    -- If the compatibility policy is rel or ltsrel, then don&#039;t display something&lt;br /&gt;
    -- here because it likely disagrees with the compatibility policy.&lt;br /&gt;
    if frame.args[2] ~= nil and mw.ustring.find( frame.args[2], &#039;rel&#039; ) then&lt;br /&gt;
    	return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data and data.requires and data.requires.MediaWiki then&lt;br /&gt;
		return data.requires.MediaWiki&lt;br /&gt;
	end&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	if pargs.templatemode == &amp;quot;nocats&amp;quot; then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	-- If neither are given, just categorize.&lt;br /&gt;
    return cat( &#039;Extensions without MediaWiki version&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getPHPRequirement( frame )&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
    -- unclear if we should somehow return other platform requirements&lt;br /&gt;
	if data and data.requires and data.requires.platform and data.requires.platform.php then&lt;br /&gt;
		return data.requires.platform.php&lt;br /&gt;
	end&lt;br /&gt;
	-- Return nothing if unknown&lt;br /&gt;
	return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get the Composer name for the extension, with relevant categories.&lt;br /&gt;
-- --&lt;br /&gt;
function p.getComposerName( frame )&lt;br /&gt;
	local name = nil&lt;br /&gt;
	local hasManualName = false&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	name = frame.args[1]&lt;br /&gt;
    	hasManualName = true&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	local hasComposerName = false&lt;br /&gt;
	if data and data.composer then&lt;br /&gt;
		name = data.composer&lt;br /&gt;
		hasComposerName = true&lt;br /&gt;
	end&lt;br /&gt;
	-- Tracking category for possibly mis-configured packages.&lt;br /&gt;
	if hasManualName and not hasComposerName then&lt;br /&gt;
		cat( &#039;Extensions without name in composer.json&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if name ~= nil then&lt;br /&gt;
		return &#039;[https://packagist.org/packages/&#039; .. name .. &#039; &#039; .. name .. &#039;]&#039;&lt;br /&gt;
			.. tcat( &#039;Extensions supporting Composer&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getHooks(frame)&lt;br /&gt;
	local hookOutput = frame.args.header&lt;br /&gt;
	local hooks = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local foundLocalHooks = false&lt;br /&gt;
	while true do&lt;br /&gt;
		local argument = pframe.args[&amp;quot;hook&amp;quot; .. index]&lt;br /&gt;
		if argument and mw.text.trim(argument) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			hooks[#hooks + 1] = mw.text.trim(argument)&lt;br /&gt;
			foundLocalHooks = true&lt;br /&gt;
		else&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
		index = index + 1&lt;br /&gt;
	end&lt;br /&gt;
	if not foundLocalHooks then&lt;br /&gt;
		local data = getExtData()&lt;br /&gt;
		if data == nil or data.Hooks == nil then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		for hook, _ in pairs(data.Hooks) do&lt;br /&gt;
			hooks[#hooks + 1] = hook&lt;br /&gt;
		end&lt;br /&gt;
		table.sort(hooks)&lt;br /&gt;
	end&lt;br /&gt;
	local first = true&lt;br /&gt;
	for _, hook in ipairs(hooks) do&lt;br /&gt;
		if first then&lt;br /&gt;
			first = false&lt;br /&gt;
		else&lt;br /&gt;
			hookOutput = hookOutput .. frame.args.delim&lt;br /&gt;
		end&lt;br /&gt;
		hookOutput = hookOutput .. frame:expandTemplate{title=&amp;quot;Extension/HookInUse&amp;quot;,args={hook,templatemode=pframe.args.templatemode}}&lt;br /&gt;
	end&lt;br /&gt;
	return hookOutput .. frame.args.footer&lt;br /&gt;
end&lt;br /&gt;
function p.getParameters(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local config = data.config&lt;br /&gt;
	if config == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local prefix = &amp;quot;wg&amp;quot;&lt;br /&gt;
	local skip_prefix = false&lt;br /&gt;
	if data.manifest_version and data.manifest_version &amp;gt;= 2 then&lt;br /&gt;
		if data.config_prefix then&lt;br /&gt;
			prefix = data.config_prefix&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if config._prefix then&lt;br /&gt;
			prefix = config._prefix&lt;br /&gt;
			skip_prefix = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for key, v in pairs(config) do&lt;br /&gt;
        local wrapper = &#039;&amp;lt;span class=&amp;quot;configvariable&amp;quot;&amp;gt;&#039;&lt;br /&gt;
        if type( v ) == &#039;table&#039; and v.description ~= nil then&lt;br /&gt;
        	local desc = v.description&lt;br /&gt;
        	if type(desc) == &#039;table&#039; then&lt;br /&gt;
        		-- Shallow clone in order to make the table library happy with mw.loadData&lt;br /&gt;
        		desc = require(&amp;quot;Module:TableTools&amp;quot;).shallowClone(desc)&lt;br /&gt;
        		desc = table.concat(desc, &amp;quot; &amp;quot;)&lt;br /&gt;
        	end&lt;br /&gt;
            wrapper = &#039;&amp;lt;span class=&amp;quot;configvariable&amp;quot; title=&amp;quot;&#039; .. mw.text.nowiki( desc ) .. &#039;&amp;quot;&amp;gt;&#039;&lt;br /&gt;
        end&lt;br /&gt;
		if key ~= &#039;_prefix&#039; or not skip_prefix then&lt;br /&gt;
			out = out .. &amp;quot;* &amp;quot; .. wrapper .. &amp;quot;$&amp;quot; .. prefix .. key .. &amp;quot;&amp;lt;/span&amp;gt;\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Used by Template:ParameterList&lt;br /&gt;
function p.makeParametersList(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local config = data.config&lt;br /&gt;
	if config == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local prefix = &amp;quot;wg&amp;quot;&lt;br /&gt;
	local skip_prefix = false&lt;br /&gt;
	if data.manifest_version and data.manifest_version &amp;gt;= 2 then&lt;br /&gt;
		if data.config_prefix then&lt;br /&gt;
			prefix = data.config_prefix&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if config._prefix then&lt;br /&gt;
			prefix = config._prefix&lt;br /&gt;
			skip_prefix = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for key, v in pairs(config) do&lt;br /&gt;
        local wrapper = &#039;&amp;lt;code class=&amp;quot;configvariablevar&amp;quot;&amp;gt;&#039;&lt;br /&gt;
		local desc = nil&lt;br /&gt;
        if type( v ) == &#039;table&#039; and v.description ~= nil then&lt;br /&gt;
        	desc = v.description&lt;br /&gt;
        	if type(desc) == &#039;table&#039; then&lt;br /&gt;
        		-- Shallow clone in order to make the table library happy with mw.loadData&lt;br /&gt;
        		desc = require(&amp;quot;Module:TableTools&amp;quot;).shallowClone(desc)&lt;br /&gt;
        		desc = table.concat(desc, &amp;quot; &amp;quot;)&lt;br /&gt;
        	end&lt;br /&gt;
        end&lt;br /&gt;
		if key ~= &#039;_prefix&#039; or not skip_prefix then&lt;br /&gt;
			out = out .. &amp;quot;; &amp;quot; .. wrapper .. &amp;quot;$&amp;quot; .. prefix .. key .. &amp;quot;&amp;lt;/code&amp;gt;\n&amp;quot;&lt;br /&gt;
			if desc then&lt;br /&gt;
				out = out .. &amp;quot;:&amp;quot; .. mw.text.nowiki( desc ) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getRights(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local rights = data.AvailableRights&lt;br /&gt;
	if rights == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for _, right in ipairs(rights) do&lt;br /&gt;
		out = out .. &amp;quot;* &amp;quot; .. right .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
function p.unmaintained(frame)&lt;br /&gt;
	local content = mw.title.getCurrentTitle():getContent()&lt;br /&gt;
	if not content:find(&amp;quot;{{[uU]nmaintained extension&amp;quot;) and not content:find(&amp;quot;{{TNT|[uU]nmaintained extension&amp;quot;) &lt;br /&gt;
		and not content:find(&amp;quot;{{User:Jeroen[ _]De[ _]Dauw/unmaintained&amp;quot;) then&lt;br /&gt;
		local args = {}&lt;br /&gt;
		local pargs = frame:getParent().args&lt;br /&gt;
		if pargs.templatemode == &amp;quot;nocats&amp;quot; then&lt;br /&gt;
			args.nocat = &amp;quot;yes&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		args.alternative = pargs.alternative&lt;br /&gt;
		return frame:expandTemplate{title=&amp;quot;Unmaintained extension&amp;quot;,args=args}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
function p.maintenanceLinks(frame)&lt;br /&gt;
	local base = frame:expandTemplate{title=&amp;quot;translatable&amp;quot;}&lt;br /&gt;
	if base == mw.title.getCurrentTitle().prefixedText then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	local content = mw.title.new(base):getContent()&lt;br /&gt;
	-- Check if the source page was archived or not&lt;br /&gt;
	if content:find(&amp;quot;{{[aA]rchived ?[Ee]xtension&amp;quot;) or content:find(&amp;quot;{{TNT|[Aa]rchived ?[Ee]xtension&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;lt;span style=&#039;display:none&#039;&amp;gt;[[Template:Extension/archived]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	--Check if the source page was deleted or not&lt;br /&gt;
	elseif content:find(&amp;quot;{{[dD]eleted extension security warning&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;lt;span style=&#039;display:none&#039;&amp;gt;[[Template:Extension/vulnerabilities]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
function p.isOnGerrit(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if not title:inNamespace(&amp;quot;Extension&amp;quot;) and not title:inNamespace(&amp;quot;Skin&amp;quot;) then&lt;br /&gt;
		return &amp;quot;n/a&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local base = frame:expandTemplate{title=&amp;quot;translatable&amp;quot;}&lt;br /&gt;
	local content = mw.title.new(base):getContent()&lt;br /&gt;
	if content:find(&amp;quot;{{Not on Gerrit&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if content:find(&amp;quot;{{WikimediaDownload&amp;quot;) or content:find(&amp;quot;TNT|WikimediaDownload&amp;quot;) or content:find(&amp;quot;|repo%s*=&amp;quot;) then&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get a category if the extension isn&#039;t in Module:ExtensionJson.&lt;br /&gt;
--&lt;br /&gt;
function p.getExtensionJsonCategory( frame )&lt;br /&gt;
	if getExtData() == nil then&lt;br /&gt;
		return cat( &#039;Extensions not in ExtensionJson&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Turn 1 into 1st. Probably bad for i18n.&lt;br /&gt;
local function getOrdinal(n)&lt;br /&gt;
    if n % 10 == 1 and n ~= 11 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if n % 10 == 2 and n ~= 12 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if n % 10 == 3 and n ~= 13 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;rd&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return n .. &amp;quot;&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get number of downloads this quarter&lt;br /&gt;
function p.getDownloads( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.downloads == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local num = data.downloads[&#039;13w&#039;];&lt;br /&gt;
    if num == 0 then&lt;br /&gt;
    	return &amp;quot;0&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( num )&lt;br /&gt;
    out = out .. &amp;quot; (Ranked &amp;quot; .. getOrdinal( data.downloadsRank[&#039;13w&#039;] ) .. &amp;quot;)&amp;quot;&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get number of downloads this quarter&lt;br /&gt;
function p.getPublicSites( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.siteCount == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( data.siteCount )&lt;br /&gt;
    out = out .. &amp;quot; (Ranked &amp;quot; .. getOrdinal( data.siteCountRank ) .. &amp;quot;)&amp;quot;&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get sites using this skin as default skin&lt;br /&gt;
function p.getPublicSitesSkinDefault( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.siteCountDefault == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( data.siteCountDefault )&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.getAuthor( frame )&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim(frame.args[1]) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil and data.author ~= nil then&lt;br /&gt;
        if type(data.author)==&amp;quot;table&amp;quot; then&lt;br /&gt;
            res = &#039;&#039;&lt;br /&gt;
            for k, v in ipairs( data.author ) do&lt;br /&gt;
                if res ~= &#039;&#039; then&lt;br /&gt;
                    res = res .. &#039;, &#039;&lt;br /&gt;
                end&lt;br /&gt;
                res = res .. v&lt;br /&gt;
            end&lt;br /&gt;
            return res&lt;br /&gt;
        else&lt;br /&gt;
    	    return data.author&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getDownload( frame )&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil then&lt;br /&gt;
        repo_url=data.repository&lt;br /&gt;
        if repo_url == nil then&lt;br /&gt;
            repo_url=data.url&lt;br /&gt;
        end&lt;br /&gt;
        if repo_url == nil then&lt;br /&gt;
            error(&amp;quot;AutoDownload: no repo URL&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://github.com/([^/]+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;GithubDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://gitlab.com/(.+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;GitlabDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://bitbucket.org/([^/]+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;BitbucketDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        repo=string.match(repo_url, &amp;quot;^https://gerrit.wikimedia.org/r/mediawiki/extensions/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if repo then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;WikimediaDownload&amp;quot;, args = {repo}}&lt;br /&gt;
        end&lt;br /&gt;
        return repo_url&lt;br /&gt;
    end&lt;br /&gt;
    error(&amp;quot;AutoDownload: Could not find ExtensionJson data&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Module:Extension&amp;diff=138998</id>
		<title>Module:Extension</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Module:Extension&amp;diff=138998"/>
		<updated>2025-06-20T22:26:39Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: bbppthpph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local lang = mw.language.getContentLanguage()&lt;br /&gt;
local translation = mw.getCurrentFrame():callParserFunction{name=&#039;#translation&#039;, args=&amp;quot;1&amp;quot;}&lt;br /&gt;
local addr = {&lt;br /&gt;
	GNU = &#039;//www.gnu.org/licenses/&#039;,&lt;br /&gt;
	OSI = &#039;//opensource.org/licenses/&#039;,&lt;br /&gt;
	CC  = &#039;//creativecommons.org/licenses/&#039;,&lt;br /&gt;
	Mozilla = &#039;//www.mozilla.org/&#039;&lt;br /&gt;
}&lt;br /&gt;
local cats = {&lt;br /&gt;
	GPL    = &#039;GPL licensed extensions&#039;,&lt;br /&gt;
	FDL    = &#039;FDL licensed extensions&#039;,&lt;br /&gt;
	LGPL   = &#039;LGPL licensed extensions&#039;,&lt;br /&gt;
	AGPL   = &#039;AGPL licensed extensions&#039;,&lt;br /&gt;
	MIT    = &#039;MIT licensed extensions&#039;,&lt;br /&gt;
	ISC    = &#039;ISC licensed extensions&#039;,&lt;br /&gt;
	BSD    = &#039;BSD licensed extensions&#039;,&lt;br /&gt;
	MPL    = &#039;MPL licensed extensions&#039;,&lt;br /&gt;
	WTFPL  = &#039;WTFPL licensed extensions&#039;,&lt;br /&gt;
	Apache = &#039;Apache licensed extensions&#039;,&lt;br /&gt;
	PD     = &#039;Public domain licensed extensions&#039;,&lt;br /&gt;
	CC     = &#039;Creative Commons licensed extensions&#039;,&lt;br /&gt;
	ECL    = &#039;Educational Community licensed extensions&#039;,&lt;br /&gt;
	Unlicense = &#039;The Unlicense licensed extensions&#039;,&lt;br /&gt;
	BLANK  = &#039;Extensions with no license specified&#039;&lt;br /&gt;
}&lt;br /&gt;
local licenses = {&lt;br /&gt;
	[&#039;AGPL-3.0&#039;]     = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;AGPL-3.0-only&#039;]     = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;AGPL-3.0-or-later&#039;] = { addr.GNU .. &#039;agpl-3.0.html&#039;, &#039;GNU Affero General Public License 3.0 or later&#039;, &#039;AGPL&#039; },&lt;br /&gt;
	[&#039;Apache-2.0&#039;]   = { &#039;//www.apache.org/licenses/LICENSE-2.0&#039;, &#039;Apache License 2.0&#039;, &#039;Apache&#039; },&lt;br /&gt;
	[&#039;BSD-2-Clause&#039;] = { addr.OSI .. &#039;BSD-2-Clause&#039;, &#039;BSD 2-clause &amp;quot;Simplified&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;BSD-3-Clause&#039;] = { addr.OSI .. &#039;BSD-3-Clause&#039;, &#039;BSD 3-clause &amp;quot;Modified&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;BSD-4-Clause&#039;] = { addr.GNU .. &#039;license-list.html#OriginalBSD&#039;, &#039;BSD 4-clause &amp;quot;Original&amp;quot; License&#039;, &#039;BSD&#039; },&lt;br /&gt;
	[&#039;CC-BY-3.0&#039;]    = { addr.CC .. &#039;by/3.0/&#039;, &#039;Creative Commons Attribution 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-3.0-US&#039;] = { addr.CC .. &#039;by/3.0/us/&#039;, &#039;Creative Commons Attribution 3.0 United States&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-3.0&#039;] = { addr.CC .. &#039;by-nc/3.0/&#039;, &#039;Creative Commons Attribution NonCommercial 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-2.5&#039;] = { addr.CC .. &#039;by-nc-sa/2.5/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 2.5&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-3.0&#039;] = { addr.CC .. &#039;by-nc-sa/3.0/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-NC-SA-4.0&#039;] = { addr.CC .. &#039;by-nc-sa/4.0/&#039;, &#039;Creative Commons Attribution NonCommercial Share Alike 4.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.0&#039;] = { addr.CC .. &#039;by-sa/2.0/&#039;, &#039;Creative Commons Attribution Share Alike 2.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.0-UK&#039;] = { addr.CC .. &#039;by-sa/2.0/uk/&#039;, &#039;Creative Commons Attribution Share Alike 2.0 England and Wales&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-2.5&#039;] = { addr.CC .. &#039;by-sa/2.5/&#039;, &#039;Creative Commons Attribution Share Alike 2.5&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-3.0&#039;] = { addr.CC .. &#039;by-sa/3.0/&#039;, &#039;Creative Commons Attribution Share Alike 3.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC-BY-SA-4.0&#039;] = { addr.CC .. &#039;by-sa/4.0/&#039;, &#039;Creative Commons Attribution Share Alike 4.0&#039;, &#039;CC&#039; },&lt;br /&gt;
	[&#039;CC0-1.0&#039;]      = { &#039;//creativecommons.org/publicdomain/zero/1.0/&#039;, &#039;Creative Commons Zero v1.0 Universal&#039;, &#039;PD&#039; },&lt;br /&gt;
	[&#039;ECL-2.0&#039;]      = { &#039;&#039;, &#039;[[wikipedia:Educational Community License|Educational Community License 2.0]]&#039;, &#039;ECL&#039; },&lt;br /&gt;
	[&#039;FDL&#039;]          = { addr.GNU .. &#039;fdl.html&#039;, &#039;GNU Free Documentation License&#039;, &#039;FDL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0&#039;]      = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0-only&#039;] = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0 only&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-2.0-or-later&#039;] = { addr.GNU .. &#039;old-licenses/gpl-2.0-standalone.html&#039;, &#039;GNU General Public License 2.0 or later&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0&#039;]      = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0-only&#039;] = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0 only&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;GPL-3.0-or-later&#039;] = { addr.GNU .. &#039;gpl-3.0-standalone.html&#039;, &#039;GNU General Public License 3.0 or later&#039;, &#039;GPL&#039; },&lt;br /&gt;
	[&#039;ISC&#039;]          = { addr.OSI .. &#039;ISC&#039;, &#039;ISC License&#039;, &#039;ISC&#039; },&lt;br /&gt;
	[&#039;LGPL-2.0-only&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.0-standalone.html&#039;, &#039;GNU Library General Public License v2 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1&#039;]     = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1-only&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-2.1-or-later&#039;] = { addr.GNU .. &#039;old-licenses/lgpl-2.1-standalone.html&#039;, &#039;GNU Lesser General Public License 2.1 or later&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0&#039;]     = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0-only&#039;] = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0 only&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;LGPL-3.0-or-later&#039;] = { addr.GNU .. &#039;lgpl-3.0-standalone.html&#039;, &#039;GNU Lesser General Public License 3.0 or later&#039;, &#039;LGPL&#039; },&lt;br /&gt;
	[&#039;MIT&#039;]          = { addr.OSI .. &#039;mit-license.php&#039;, &#039;MIT License&#039;, &#039;MIT&#039; },&lt;br /&gt;
	[&#039;MPL-1.0&#039;]      = { addr.Mozilla .. &#039;MPL/1.0/&#039;, &#039;Mozilla Public License 1.0&#039;, &#039;MPL&#039; },&lt;br /&gt;
	[&#039;MPL-2.0&#039;]      = { addr.Mozilla .. &#039;MPL/2.0/&#039;, &#039;Mozilla Public License 2.0&#039;, &#039;MPL&#039; },&lt;br /&gt;
	[&#039;PD&#039;]           = { &#039;&#039;, &#039;[[wikipedia:Public domain|Public domain]]&#039;, &#039;PD&#039; },&lt;br /&gt;
	[&#039;Unlicense&#039;]    = { &#039;https://unlicense.org/&#039;, &#039;The Unlicense&#039;, &#039;Unlicense&#039; },&lt;br /&gt;
	[&#039;WTFPL&#039;]        = { &#039;http://www.wtfpl.net&#039;, &#039;WTFPL 2.0&#039;, &#039;WTFPL&#039; },&lt;br /&gt;
	[&#039;Zlib&#039;]         = { addr.OSI .. &#039;Zlib&#039;, &#039;zlib License&#039; },&lt;br /&gt;
	[&#039;unspecified&#039;]  = { &#039;&#039;, &#039;No license specified&#039;, &#039;BLANK&#039;}&lt;br /&gt;
}&lt;br /&gt;
local types = {&lt;br /&gt;
	ajax                = { &#039;[[w:AJAX|Ajax]]&#039;,                                        &#039;Ajax extensions&#039; },&lt;br /&gt;
	api                 = { &#039;[[API:Action API|API]]&#039;,                                 &#039;API extensions&#039; },&lt;br /&gt;
	[&#039;beta feature&#039;]    = { &#039;[[Beta Features|Beta Feature]]&#039;,                         &#039;Beta Feature extensions&#039; },&lt;br /&gt;
	contenthandler      = { &#039;[[Manual:ContentHandler|ContentHandler]]&#039;,               &#039;ContentHandler extensions&#039; },&lt;br /&gt;
	database            = { &#039;[[Manual:Database layout|Database]]&#039;,                    &#039;Database extensions&#039; },&lt;br /&gt;
	[&#039;data extraction&#039;] = { &#039;Data extraction&#039;,                                        &#039;Data extraction extensions&#039; },&lt;br /&gt;
	example             = { &#039;Example&#039;,                                                &#039;Extension examples&#039; },&lt;br /&gt;
	[&#039;extended syntax&#039;] = { &#039;[[Manual:Extending wiki markup|Extended syntax]]&#039;,       &#039;Extended syntax extensions&#039; },&lt;br /&gt;
	filerepo            = { &#039;File repository&#039;,                                        &#039;File repository extensions&#039; },&lt;br /&gt;
	hook                = { &#039;[[Manual:Hooks|Hook]]&#039;,                                  &#039;Hook extensions&#039; },&lt;br /&gt;
	interface           = { &#039;User interface&#039;,                                         &#039;User interface extensions&#039; },&lt;br /&gt;
	link                = { &#039;[[Manual:Extending wiki markup|Link markup]]&#039;,           &#039;Link markup extensions&#039; },&lt;br /&gt;
	media               = { &#039;Media&#039;,                                                  &#039;Media handling extensions&#039; },&lt;br /&gt;
	mywiki              = { &#039;[[Manual:Personalization|MyWiki]]&#039;,                      &#039;Personalization extensions&#039; },&lt;br /&gt;
	notify              = { &#039;Notify&#039;,                                                 &#039;Notification extensions&#039; },&lt;br /&gt;
	[&#039;page action&#039;]     = { &#039;[[Manual:Parameters to index.php#Actions|Page action]]&#039;, &#039;Page action extensions&#039; },&lt;br /&gt;
	parser              = { &#039;[[Manual:Extending wiki markup|Parser extension]]&#039;,      &#039;Parser extensions&#039; },&lt;br /&gt;
	[&#039;parser function&#039;] = { &#039;[[Manual:Parser functions|Parser function]]&#039;,            &#039;Parser function extensions&#039; },&lt;br /&gt;
	php                 = { &#039;PHP&#039;,                                                    &#039;PHP extensions&#039; },&lt;br /&gt;
	search              = { &#039;Search&#039;,                                                 &#039;Search extensions&#039; },&lt;br /&gt;
	skin                = { &#039;[[Manual:Skins|Skin]]&#039;,                                  &#039;Skin extensions&#039; },&lt;br /&gt;
	[&#039;special page&#039;]    = { &#039;[[Manual:Special pages|Special page]]&#039;,                  &#039;Special page extensions&#039; },&lt;br /&gt;
	locale              = { &#039;[[Manual:Localization|Locale]]&#039;,                         &#039;Internationalization extensions&#039; },&lt;br /&gt;
	tag                 = { &#039;[[Manual:Tag extensions|Tag]]&#039;,                          &#039;Tag extensions&#039; },&lt;br /&gt;
	[&#039;user access&#039;]     = { &#039;[[Manual:Security|User access]]&#039;,                        &#039;User access extensions&#039; },&lt;br /&gt;
	[&#039;user identity&#039;]   = { &#039;[[Manual:Security|User identity]]&#039;,                      &#039;User identity extensions&#039; },&lt;br /&gt;
	[&#039;user rights&#039;]     = { &#039;[[Manual:Security|User rights]]&#039;,                        &#039;User rights extensions&#039; },&lt;br /&gt;
	[&#039;user activity&#039;]   = { &#039;[[Manual:Security|User activity]]&#039;,                      &#039;User activity extensions&#039; },&lt;br /&gt;
	variable            = { &#039;[[Manual:Variables|Variable]]&#039;,                          &#039;Variable extensions&#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local typeAliases = {&lt;br /&gt;
	db = &#039;database&#039;,&lt;br /&gt;
	pfunc = &#039;parser function&#039;,&lt;br /&gt;
	special = &#039;special page&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function setI18n( from, to, index )&lt;br /&gt;
	for n, v in pairs( from ) do&lt;br /&gt;
		if to[n] then&lt;br /&gt;
			to[n][index] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function cat( title )&lt;br /&gt;
	return &#039;[[Category:&#039; .. title .. &#039;]]&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tcat( title )&lt;br /&gt;
	return cat( title .. translation )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getType( str, str2 )&lt;br /&gt;
	local str = mw.ustring.lower( str )&lt;br /&gt;
	if typeAliases[str] then&lt;br /&gt;
		str = typeAliases[str]&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = types[str]&lt;br /&gt;
	local res&lt;br /&gt;
	if cnf then&lt;br /&gt;
		res = cnf[1] .. &#039;[[Category:&#039; .. cnf[2] .. translation .. &#039;]]&#039;&lt;br /&gt;
	else&lt;br /&gt;
		if str == &#039;_missing_&#039; then&lt;br /&gt;
			res = tcat( &#039;Extensions with invalid or missing type&#039; )&lt;br /&gt;
		elseif str == &#039;_demomode_&#039; then&lt;br /&gt;
			if str2 then&lt;br /&gt;
				res = lang:ucfirst( str2 )&lt;br /&gt;
			else&lt;br /&gt;
				res = &amp;quot;&#039;&#039;unknown&#039;&#039;&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			res = ( str or &#039;\&#039;\&#039;unknown\&#039;\&#039;&#039; ) ..&lt;br /&gt;
				&#039; [[Special:MyLanguage/Template:Extension#type|(\&#039;\&#039;\&#039;\&#039;\&#039;invalid type\&#039;\&#039;\&#039;\&#039;\&#039;)]]&#039; ..&lt;br /&gt;
				tcat( &#039;Extensions with invalid or missing type&#039; )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getExtData()&lt;br /&gt;
	local pg&lt;br /&gt;
	local pframe = mw.getCurrentFrame():getParent()&lt;br /&gt;
	if pframe and pframe.args.repo then&lt;br /&gt;
		pg = pframe.args.repo&lt;br /&gt;
	else&lt;br /&gt;
		pg = mw.title.getCurrentTitle().rootPageTitle:partialUrl() -- need to get rid of translation subpage.&lt;br /&gt;
	end&lt;br /&gt;
	return mw.loadData( &#039;Module:ExtensionJson&#039; )[pg] or mw.loadData( &#039;Module:ExtensionJson&#039; )[pg:gsub(&amp;quot;_&amp;quot;,&amp;quot; &amp;quot;)]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getPopularityData()&lt;br /&gt;
	local pg&lt;br /&gt;
	local pframe = mw.getCurrentFrame():getParent()&lt;br /&gt;
	if pframe and pframe.args.repo then&lt;br /&gt;
		pg = pframe.args.repo&lt;br /&gt;
	else&lt;br /&gt;
		pg = mw.title.getCurrentTitle().rootPageTitle:partialUrl() -- need to get rid of translation subpage.&lt;br /&gt;
	end&lt;br /&gt;
    type = &#039;extensions&#039;&lt;br /&gt;
    if mw.title.getCurrentTitle().rootPageTitle:inNamespace( &#039;skin&#039; ) then&lt;br /&gt;
        type =&amp;quot;skins&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
	return mw.loadJsonData( &#039;Template:Extension/popularity.json&#039; )[type][pg]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getLicenseString (str)&lt;br /&gt;
	str = mw.text.trim(str)&lt;br /&gt;
	if str == &amp;quot;&amp;quot; or str == nil then&lt;br /&gt;
		local data = getExtData()&lt;br /&gt;
		if data and data[&amp;quot;license-name&amp;quot;] then&lt;br /&gt;
			str = data[&amp;quot;license-name&amp;quot;]&lt;br /&gt;
		else&lt;br /&gt;
			str = &amp;quot;unspecified&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
local function getLicenseCategory( str )&lt;br /&gt;
	str = getLicenseString(str)&lt;br /&gt;
	if mw.ustring.sub( str, -1 ) == &#039;+&#039; then&lt;br /&gt;
		str = mw.ustring.sub( str, 1, -2 )&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = licenses[str]&lt;br /&gt;
	if cnf then&lt;br /&gt;
		if #cnf &amp;gt; 2 then&lt;br /&gt;
			return tcat( cats[cnf[3]] )&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return tcat( &#039;Extensions with unknown license&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getFormattedLicense( str, orlatertext )&lt;br /&gt;
	local orlater = &#039;&#039;&lt;br /&gt;
	local license = getLicenseString(str)&lt;br /&gt;
	if mw.ustring.sub( license, -1 ) == &#039;+&#039; then&lt;br /&gt;
		license = mw.ustring.sub( license, 1, -2 )&lt;br /&gt;
		orlater = orlatertext&lt;br /&gt;
	end&lt;br /&gt;
	local cnf = licenses[license]&lt;br /&gt;
	if cnf then&lt;br /&gt;
		return (cnf[1] ~= &#039;&#039; and (&#039;[&#039; .. cnf[1] .. &#039; &#039; .. cnf[2] .. &#039;]&#039;) or cnf[2]) .. orlater&lt;br /&gt;
	else&lt;br /&gt;
		return license&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.getTypes( frame )&lt;br /&gt;
	setI18n( frame.args, types, 1 )&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local types = {}&lt;br /&gt;
	local params = {&lt;br /&gt;
		args.type1 or args[&#039;type&#039;] or &#039;missing&#039;,&lt;br /&gt;
		args.type2,&lt;br /&gt;
		args.type3,&lt;br /&gt;
		args.type4,&lt;br /&gt;
		args.type5,&lt;br /&gt;
		args.type6,&lt;br /&gt;
	}&lt;br /&gt;
	for _, param in ipairs( params ) do&lt;br /&gt;
		if param == nil or mw.text.trim( param ) == &#039;&#039; then&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
		local param = mw.text.trim( param )&lt;br /&gt;
		if args.templatemode == &#039;nocats&#039; then&lt;br /&gt;
			table.insert( types, getType( &#039;_demomode_&#039;, param ) )&lt;br /&gt;
		else&lt;br /&gt;
			table.insert( types, getType( param ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( types, &#039;, &#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getType( frame )&lt;br /&gt;
	setI18n( frame.args, types, 1 )&lt;br /&gt;
	return getType( frame.args[1] )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getLicenseCategory( frame )&lt;br /&gt;
	return getLicenseCategory( frame.args[1] )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getFormattedLicense( frame )&lt;br /&gt;
	setI18n( frame.args, licenses, 2 )&lt;br /&gt;
	return getFormattedLicense( frame.args[1], frame.args[&#039;+&#039;] or &#039; or later&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Return if the extension does schema updates&lt;br /&gt;
-- Only answer yes. For now be silent on no or unknown, as its unclear&lt;br /&gt;
-- if this info should be in infobox if the answer is not yes.&lt;br /&gt;
function p.getNeedsUpdates( frame )&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data ~= nil and data.Hooks ~= nil and data.Hooks.LoadExtensionSchemaUpdates ~= nil then&lt;br /&gt;
		return &#039;yes&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getVersion( frame )&lt;br /&gt;
	&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim(frame.args[1]) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil and data.version ~= nil then&lt;br /&gt;
    	return data.version&lt;br /&gt;
    end&lt;br /&gt;
    return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get the requires.MediaWiki value from extension.json&lt;br /&gt;
-- @link https://www.mediawiki.org/wiki/Manual:Extension.json/Schema#requires&lt;br /&gt;
-- --&lt;br /&gt;
function p.getMediaWikiRequirement( frame )&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1] .. cat( &#039;Extensions with manual MediaWiki version&#039; )&lt;br /&gt;
    end&lt;br /&gt;
    -- If the compatibility policy is rel or ltsrel, then don&#039;t display something&lt;br /&gt;
    -- here because it likely disagrees with the compatibility policy.&lt;br /&gt;
    if frame.args[2] ~= nil and mw.ustring.find( frame.args[2], &#039;rel&#039; ) then&lt;br /&gt;
    	return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data and data.requires and data.requires.MediaWiki then&lt;br /&gt;
		return data.requires.MediaWiki&lt;br /&gt;
	end&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	if pargs.templatemode == &amp;quot;nocats&amp;quot; then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	-- If neither are given, just categorize.&lt;br /&gt;
    return cat( &#039;Extensions without MediaWiki version&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getPHPRequirement( frame )&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
    -- unclear if we should somehow return other platform requirements&lt;br /&gt;
	if data and data.requires and data.requires.platform and data.requires.platform.php then&lt;br /&gt;
		return data.requires.platform.php&lt;br /&gt;
	end&lt;br /&gt;
	-- Return nothing if unknown&lt;br /&gt;
	return&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get the Composer name for the extension, with relevant categories.&lt;br /&gt;
-- --&lt;br /&gt;
function p.getComposerName( frame )&lt;br /&gt;
	local name = nil&lt;br /&gt;
	local hasManualName = false&lt;br /&gt;
	-- If the first arg is given, it&#039;ll be the manual override value.&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim( frame.args[1] ) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	name = frame.args[1]&lt;br /&gt;
    	hasManualName = true&lt;br /&gt;
    end&lt;br /&gt;
	-- Otherwise, look it up from extension.json.&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	local hasComposerName = false&lt;br /&gt;
	if data and data.composer then&lt;br /&gt;
		name = data.composer&lt;br /&gt;
		hasComposerName = true&lt;br /&gt;
	end&lt;br /&gt;
	-- Tracking category for possibly mis-configured packages.&lt;br /&gt;
	if hasManualName and not hasComposerName then&lt;br /&gt;
		cat( &#039;Extensions without name in composer.json&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if name ~= nil then&lt;br /&gt;
		return &#039;[https://packagist.org/packages/&#039; .. name .. &#039; &#039; .. name .. &#039;]&#039;&lt;br /&gt;
			.. tcat( &#039;Extensions supporting Composer&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getHooks(frame)&lt;br /&gt;
	local hookOutput = frame.args.header&lt;br /&gt;
	local hooks = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local pframe = frame:getParent()&lt;br /&gt;
	local foundLocalHooks = false&lt;br /&gt;
	while true do&lt;br /&gt;
		local argument = pframe.args[&amp;quot;hook&amp;quot; .. index]&lt;br /&gt;
		if argument and mw.text.trim(argument) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			hooks[#hooks + 1] = mw.text.trim(argument)&lt;br /&gt;
			foundLocalHooks = true&lt;br /&gt;
		else&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
		index = index + 1&lt;br /&gt;
	end&lt;br /&gt;
	if not foundLocalHooks then&lt;br /&gt;
		local data = getExtData()&lt;br /&gt;
		if data == nil or data.Hooks == nil then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		for hook, _ in pairs(data.Hooks) do&lt;br /&gt;
			hooks[#hooks + 1] = hook&lt;br /&gt;
		end&lt;br /&gt;
		table.sort(hooks)&lt;br /&gt;
	end&lt;br /&gt;
	local first = true&lt;br /&gt;
	for _, hook in ipairs(hooks) do&lt;br /&gt;
		if first then&lt;br /&gt;
			first = false&lt;br /&gt;
		else&lt;br /&gt;
			hookOutput = hookOutput .. frame.args.delim&lt;br /&gt;
		end&lt;br /&gt;
		hookOutput = hookOutput .. frame:expandTemplate{title=&amp;quot;Extension/HookInUse&amp;quot;,args={hook,templatemode=pframe.args.templatemode}}&lt;br /&gt;
	end&lt;br /&gt;
	return hookOutput .. frame.args.footer&lt;br /&gt;
end&lt;br /&gt;
function p.getParameters(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local config = data.config&lt;br /&gt;
	if config == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local prefix = &amp;quot;wg&amp;quot;&lt;br /&gt;
	local skip_prefix = false&lt;br /&gt;
	if data.manifest_version and data.manifest_version &amp;gt;= 2 then&lt;br /&gt;
		if data.config_prefix then&lt;br /&gt;
			prefix = data.config_prefix&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if config._prefix then&lt;br /&gt;
			prefix = config._prefix&lt;br /&gt;
			skip_prefix = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for key, v in pairs(config) do&lt;br /&gt;
        local wrapper = &#039;&amp;lt;span class=&amp;quot;configvariable&amp;quot;&amp;gt;&#039;&lt;br /&gt;
        if type( v ) == &#039;table&#039; and v.description ~= nil then&lt;br /&gt;
        	local desc = v.description&lt;br /&gt;
        	if type(desc) == &#039;table&#039; then&lt;br /&gt;
        		-- Shallow clone in order to make the table library happy with mw.loadData&lt;br /&gt;
        		desc = require(&amp;quot;Module:TableTools&amp;quot;).shallowClone(desc)&lt;br /&gt;
        		desc = table.concat(desc, &amp;quot; &amp;quot;)&lt;br /&gt;
        	end&lt;br /&gt;
            wrapper = &#039;&amp;lt;span class=&amp;quot;configvariable&amp;quot; title=&amp;quot;&#039; .. mw.text.nowiki( desc ) .. &#039;&amp;quot;&amp;gt;&#039;&lt;br /&gt;
        end&lt;br /&gt;
		if key ~= &#039;_prefix&#039; or not skip_prefix then&lt;br /&gt;
			out = out .. &amp;quot;* &amp;quot; .. wrapper .. &amp;quot;$&amp;quot; .. prefix .. key .. &amp;quot;&amp;lt;/span&amp;gt;\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Used by Template:ParameterList&lt;br /&gt;
function p.makeParametersList(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local config = data.config&lt;br /&gt;
	if config == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local prefix = &amp;quot;wg&amp;quot;&lt;br /&gt;
	local skip_prefix = false&lt;br /&gt;
	if data.manifest_version and data.manifest_version &amp;gt;= 2 then&lt;br /&gt;
		if data.config_prefix then&lt;br /&gt;
			prefix = data.config_prefix&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if config._prefix then&lt;br /&gt;
			prefix = config._prefix&lt;br /&gt;
			skip_prefix = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for key, v in pairs(config) do&lt;br /&gt;
        local wrapper = &#039;&amp;lt;code class=&amp;quot;configvariablevar&amp;quot;&amp;gt;&#039;&lt;br /&gt;
		local desc = nil&lt;br /&gt;
        if type( v ) == &#039;table&#039; and v.description ~= nil then&lt;br /&gt;
        	desc = v.description&lt;br /&gt;
        	if type(desc) == &#039;table&#039; then&lt;br /&gt;
        		-- Shallow clone in order to make the table library happy with mw.loadData&lt;br /&gt;
        		desc = require(&amp;quot;Module:TableTools&amp;quot;).shallowClone(desc)&lt;br /&gt;
        		desc = table.concat(desc, &amp;quot; &amp;quot;)&lt;br /&gt;
        	end&lt;br /&gt;
        end&lt;br /&gt;
		if key ~= &#039;_prefix&#039; or not skip_prefix then&lt;br /&gt;
			out = out .. &amp;quot;; &amp;quot; .. wrapper .. &amp;quot;$&amp;quot; .. prefix .. key .. &amp;quot;&amp;lt;/code&amp;gt;\n&amp;quot;&lt;br /&gt;
			if desc then&lt;br /&gt;
				out = out .. &amp;quot;:&amp;quot; .. mw.text.nowiki( desc ) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getRights(frame)&lt;br /&gt;
	local data = getExtData()&lt;br /&gt;
	if data == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local rights = data.AvailableRights&lt;br /&gt;
	if rights == nil then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	for _, right in ipairs(rights) do&lt;br /&gt;
		out = out .. &amp;quot;* &amp;quot; .. right .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
function p.unmaintained(frame)&lt;br /&gt;
	local content = mw.title.getCurrentTitle():getContent()&lt;br /&gt;
	if not content:find(&amp;quot;{{[uU]nmaintained extension&amp;quot;) and not content:find(&amp;quot;{{TNT|[uU]nmaintained extension&amp;quot;) &lt;br /&gt;
		and not content:find(&amp;quot;{{User:Jeroen[ _]De[ _]Dauw/unmaintained&amp;quot;) then&lt;br /&gt;
		local args = {}&lt;br /&gt;
		local pargs = frame:getParent().args&lt;br /&gt;
		if pargs.templatemode == &amp;quot;nocats&amp;quot; then&lt;br /&gt;
			args.nocat = &amp;quot;yes&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		args.alternative = pargs.alternative&lt;br /&gt;
		return frame:expandTemplate{title=&amp;quot;Unmaintained extension&amp;quot;,args=args}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
function p.maintenanceLinks(frame)&lt;br /&gt;
	local base = frame:expandTemplate{title=&amp;quot;translatable&amp;quot;}&lt;br /&gt;
	if base == mw.title.getCurrentTitle().prefixedText then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	local out = &amp;quot;&amp;quot;&lt;br /&gt;
	local content = mw.title.new(base):getContent()&lt;br /&gt;
	-- Check if the source page was archived or not&lt;br /&gt;
	if content:find(&amp;quot;{{[aA]rchived ?[Ee]xtension&amp;quot;) or content:find(&amp;quot;{{TNT|[Aa]rchived ?[Ee]xtension&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;lt;span style=&#039;display:none&#039;&amp;gt;[[Template:Extension/archived]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	--Check if the source page was deleted or not&lt;br /&gt;
	elseif content:find(&amp;quot;{{[dD]eleted extension security warning&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;lt;span style=&#039;display:none&#039;&amp;gt;[[Template:Extension/vulnerabilities]]&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
function p.isOnGerrit(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if not title:inNamespace(&amp;quot;Extension&amp;quot;) and not title:inNamespace(&amp;quot;Skin&amp;quot;) then&lt;br /&gt;
		return &amp;quot;n/a&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local base = frame:expandTemplate{title=&amp;quot;translatable&amp;quot;}&lt;br /&gt;
	local content = mw.title.new(base):getContent()&lt;br /&gt;
	if content:find(&amp;quot;{{Not on Gerrit&amp;quot;) then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if content:find(&amp;quot;{{WikimediaDownload&amp;quot;) or content:find(&amp;quot;TNT|WikimediaDownload&amp;quot;) or content:find(&amp;quot;|repo%s*=&amp;quot;) then&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get a category if the extension isn&#039;t in Module:ExtensionJson.&lt;br /&gt;
--&lt;br /&gt;
function p.getExtensionJsonCategory( frame )&lt;br /&gt;
	if getExtData() == nil then&lt;br /&gt;
		return cat( &#039;Extensions not in ExtensionJson&#039; )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Turn 1 into 1st. Probably bad for i18n.&lt;br /&gt;
local function getOrdinal(n)&lt;br /&gt;
    if n % 10 == 1 and n ~= 11 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if n % 10 == 2 and n ~= 12 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if n % 10 == 3 and n ~= 13 then&lt;br /&gt;
        return n .. &amp;quot;&amp;lt;sup&amp;gt;rd&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return n .. &amp;quot;&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get number of downloads this quarter&lt;br /&gt;
function p.getDownloads( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.downloads == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local num = data.downloads[&#039;13w&#039;];&lt;br /&gt;
    if num == 0 then&lt;br /&gt;
    	return &amp;quot;0&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( num )&lt;br /&gt;
    out = out .. &amp;quot; (Ranked &amp;quot; .. getOrdinal( data.downloadsRank[&#039;13w&#039;] ) .. &amp;quot;)&amp;quot;&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get number of downloads this quarter&lt;br /&gt;
function p.getPublicSites( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.siteCount == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( data.siteCount )&lt;br /&gt;
    out = out .. &amp;quot; (Ranked &amp;quot; .. getOrdinal( data.siteCountRank ) .. &amp;quot;)&amp;quot;&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- --&lt;br /&gt;
-- Get sites using this skin as default skin&lt;br /&gt;
function p.getPublicSitesSkinDefault( frame )&lt;br /&gt;
    local data = getPopularityData()&lt;br /&gt;
    if data == nil or data.siteCountDefault == nil then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local out = mw.getContentLanguage():formatNum( data.siteCountDefault )&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.getAuthor( frame )&lt;br /&gt;
    if frame.args[1] ~= nil and mw.text.trim(frame.args[1]) ~= &amp;quot;&amp;quot; then&lt;br /&gt;
    	return frame.args[1]&lt;br /&gt;
    end&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil and data.author ~= nil then&lt;br /&gt;
        if type(data.author)==&amp;quot;table&amp;quot; then&lt;br /&gt;
            res = &#039;&#039;&lt;br /&gt;
            for k, v in ipairs( data.author ) do&lt;br /&gt;
                if res ~= &#039;&#039; then&lt;br /&gt;
                    res = res .. &#039;, &#039;&lt;br /&gt;
                end&lt;br /&gt;
                res = res .. v&lt;br /&gt;
            end&lt;br /&gt;
            return res&lt;br /&gt;
        else&lt;br /&gt;
    	    return data.author&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getDownload( frame )&lt;br /&gt;
    local data = getExtData()&lt;br /&gt;
    if data ~= nil then&lt;br /&gt;
        repo_url=data.repository&lt;br /&gt;
        if repo_url == nil then&lt;br /&gt;
            repo_url=data.url&lt;br /&gt;
        end&lt;br /&gt;
        if repo_url == nil then&lt;br /&gt;
            error(&amp;quot;AutoDownload: no repo URL&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://github.com/([^/]+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;GithubDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://gitlab.com/(.+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;GitlabDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        account, repo=string.match(repo_url, &amp;quot;^https://bitbucket.org/([^/]+)/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if account then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;BitbucketDownload&amp;quot;, args = {account, repo:gsub(&amp;quot;%.git&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
        end&lt;br /&gt;
        repo=string.match(repo_url, &amp;quot;^https://gerrit.wikimedia.org/r/mediawiki/extensions/([^/]+)/?$&amp;quot;)&lt;br /&gt;
        if repo then&lt;br /&gt;
            return frame:expandTemplate{ title = &amp;quot;WikimediaDownload&amp;quot;, args = {repo}}&lt;br /&gt;
        end&lt;br /&gt;
        return repo_url&lt;br /&gt;
    end&lt;br /&gt;
    error(&amp;quot;AutoDownload: Could not find ExtensionJson data&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension/status.css&amp;diff=138995</id>
		<title>Template:Extension/status.css</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension/status.css&amp;diff=138995"/>
		<updated>2025-06-20T21:49:49Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: stolen from mediawiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/********************&lt;br /&gt;
 * Extension Status *&lt;br /&gt;
 *******************/&lt;br /&gt;
/* Unstable */&lt;br /&gt;
.ext-status-unstable,&lt;br /&gt;
.ext-status-unstable td {&lt;br /&gt;
	border-color: #d33;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-unstable .ext-infobox-header {&lt;br /&gt;
	background-color: #d33;&lt;br /&gt;
	color: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-unstable .ext-infobox-header a {&lt;br /&gt;
	color: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Experimental */&lt;br /&gt;
.ext-status-experimental,&lt;br /&gt;
.ext-status-experimental td {&lt;br /&gt;
	border-color: #ff4500;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-experimental .ext-infobox-header {&lt;br /&gt;
	background-color: #ff4500;&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-experimental .ext-infobox-header a {&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Beta */&lt;br /&gt;
.ext-status-beta,&lt;br /&gt;
.ext-status-beta td {&lt;br /&gt;
	border-color: #fc3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-beta .ext-infobox-header {&lt;br /&gt;
	color: #000;&lt;br /&gt;
	background-color: #fc3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-beta .ext-infobox-header a {&lt;br /&gt;
	color: #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Stable */&lt;br /&gt;
.ext-status-stable,&lt;br /&gt;
.ext-status-stable td {&lt;br /&gt;
	border-color: #00af89;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-stable .ext-infobox-header {&lt;br /&gt;
	background-color: #068468;&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-stable .ext-infobox-header a {&lt;br /&gt;
	color: #fff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Unmaintained */&lt;br /&gt;
.ext-status-unmaintained,&lt;br /&gt;
.ext-status-unmaintained td {&lt;br /&gt;
	border-color: #ac6600;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-unmaintained .ext-infobox-header {&lt;br /&gt;
	background-color: #ac6600;&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-status-unmaintained .ext-infobox-header a {&lt;br /&gt;
	color: #fff;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Extension/styles.css&amp;diff=138994</id>
		<title>Template:Extension/styles.css</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Extension/styles.css&amp;diff=138994"/>
		<updated>2025-06-20T21:49:47Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: stolen from mediawiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.ext-infobox &amp;gt; tbody &amp;gt; tr &amp;gt; td:first-child {&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox &amp;gt; tbody &amp;gt; tr &amp;gt; td abbr {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox .mw-collapsible-header,&lt;br /&gt;
.ext-infobox .mw-collapsible-toggle {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox .mw-collapsible-content {&lt;br /&gt;
	margin-top: .2em;&lt;br /&gt;
	padding-top: .2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox-header &amp;gt; th,&lt;br /&gt;
.ext-infobox caption,&lt;br /&gt;
.ext-infobox-image,&lt;br /&gt;
.ext-infobox-translate {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox-name {&lt;br /&gt;
	font-size: 130%;&lt;br /&gt;
	line-height: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ext-infobox-type {&lt;br /&gt;
	min-width: 7em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Infobox/styles.css&amp;diff=138993</id>
		<title>Template:Infobox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Infobox/styles.css&amp;diff=138993"/>
		<updated>2025-06-20T21:49:45Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: stolen from mediawiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * Common TemplateStyles used by [[Template:Extension]], [[Template:Skin]],&lt;br /&gt;
 * [[Template:Tool]], etc.&lt;br /&gt;
 */&lt;br /&gt;
.infobox {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	border: 2px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
	width: 280px;&lt;br /&gt;
	border-collapse: collapse;&lt;br /&gt;
	border-spacing: 0;&lt;br /&gt;
	background-color: white;&lt;br /&gt;
	color: #333;&lt;br /&gt;
	/* these are overriden by .infobox-rtl on the templates of interest */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	clear: right;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: right;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin: 0 0 0.5em 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-rtl {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	clear: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	float: left;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	margin: 0 0.5em 0.5em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox th {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	padding: 0.2em 0.5em;&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-rtl th {&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 719px) {&lt;br /&gt;
	/* high specificity to ensure specific infoboxes won&#039;t override these&lt;br /&gt;
	 * properties with their own tstyles inadvertently */&lt;br /&gt;
	body.mediawiki .infobox {&lt;br /&gt;
		float: none;&lt;br /&gt;
		clear: both;&lt;br /&gt;
		width: 100%;&lt;br /&gt;
		margin: 0 0 .5em 0;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox td {&lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0.2em 0.5em;&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-header {&lt;br /&gt;
	background-color: #a2a9b1;&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-header a {&lt;br /&gt;
	color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-header td,&lt;br /&gt;
.infobox-header th {&lt;br /&gt;
	padding: 0.5em 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-header img {&lt;br /&gt;
	padding: 0 0.2em 0 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night .infobox {&lt;br /&gt;
		background-color: inherit;&lt;br /&gt;
		color: inherit;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
  html.skin-theme-clientpref-os .infobox {&lt;br /&gt;
	background-color: inherit;&lt;br /&gt;
	color: inherit;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=138985</id>
		<title>File:Wikiscape stage.png</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Wikiscape_stage.png&amp;diff=138985"/>
		<updated>2025-06-20T21:13:32Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: cool thang i made&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
cool thang i made&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Shower_Creature_overworld.gif&amp;diff=138964</id>
		<title>File:Shower Creature overworld.gif</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Shower_Creature_overworld.gif&amp;diff=138964"/>
		<updated>2025-06-20T19:02:51Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: i guess ill change this image&amp;#039;s category too then&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
https://undertale.wiki/w/True_Lab/NPCs&lt;br /&gt;
[[Category:Undertale and Deltarune]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Spr_temmie_r_0.gif&amp;diff=138962</id>
		<title>File:Spr temmie r 0.gif</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Spr_temmie_r_0.gif&amp;diff=138962"/>
		<updated>2025-06-20T18:59:05Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: unused temmie walking sprite from undertale 
Category:UndertaleCategory:TemmieCategory:Hoi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
unused temmie walking sprite from undertale &lt;br /&gt;
[[Category:Undertale]][[Category:Temmie]][[Category:Hoi]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Wiki_Object_Show&amp;diff=135299</id>
		<title>Wiki Object Show</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Wiki_Object_Show&amp;diff=135299"/>
		<updated>2025-04-26T04:15:56Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
&lt;br /&gt;
HI EVERYONE i;m starting an [[Object Show]] on the wiki camp (if you don&#039;t know an object show is like a show where the characters are objects that compete in challenges and there&#039;s a host which isn&#039;t an object or sometimes they&#039;re an object but weird)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unfortunately i don&#039;t have all the characters picked but i figured you guys can help!&lt;br /&gt;
&lt;br /&gt;
== Recommend a character! ==&lt;br /&gt;
&lt;br /&gt;
=== Rules for recommending ===&lt;br /&gt;
*Give an image (or just say what the object is)&lt;br /&gt;
&lt;br /&gt;
*Tell me the personality&lt;br /&gt;
&lt;br /&gt;
=== Put your recommendations down below on this page ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;recommended&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== Panopticony =====&lt;br /&gt;
&lt;br /&gt;
[[file:Panopticony.png]]&lt;br /&gt;
&lt;br /&gt;
my submission: panopticony!!&lt;br /&gt;
(No gender, It/It’s)&lt;br /&gt;
&lt;br /&gt;
it is giant humongous flesh prison creature (30 by 30 ft in length and width)&lt;br /&gt;
a foul flesh creature feared by all..keeps up a fearsome reputation&lt;br /&gt;
however in truth they are incredibly weak and they only intentionally scare people away so they can have silence when writing their novels&lt;br /&gt;
&lt;br /&gt;
philosophy major, is a substitute professor at the local college on Thursdays&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== Curtain Rod =====&lt;br /&gt;
recommended  by FuzzyEpic3&lt;br /&gt;
&lt;br /&gt;
[[File:Shower_Creature_overworld.gif|frame|they MIGHT be in this picture...]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== [[The QWillow Meal]] =====&lt;br /&gt;
recommended  by  [[Anonymous]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Object shows]] [[Category:QWillow]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== [[Copper Salts]] =====&lt;br /&gt;
[[File:Coppersalts 2022.png|300px]]&lt;br /&gt;
&lt;br /&gt;
she&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==== linear-gradient(to bottom right, white, gray) ====&lt;br /&gt;
sup&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== [[Donut]] =====&lt;br /&gt;
[[File:Donut happy.png|300px]]&lt;br /&gt;
&lt;br /&gt;
{{Quote|Oh wow, you&#039;re right!|Donut}}&lt;br /&gt;
&lt;br /&gt;
recommended by [[User:QWillow|qwillow]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#css:&lt;br /&gt;
.recommended {&lt;br /&gt;
  background:linear-gradient(to bottom right, white, gray);&lt;br /&gt;
}&lt;br /&gt;
.recommended &amp;gt; div {&lt;br /&gt;
  background:linear-gradient(to bottom right, white, gray);&lt;br /&gt;
  margin: 10px;&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  width: 25%;&lt;br /&gt;
  float: left;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Discommending_taco&amp;diff=135163</id>
		<title>Discommending taco</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Discommending_taco&amp;diff=135163"/>
		<updated>2025-04-24T06:17:51Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase title}}&lt;br /&gt;
{{:Taco}}&lt;br /&gt;
{{inverted}}&lt;br /&gt;
{{#css:.mw-body {background-color: rgb(0,200,255)};}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134537</id>
		<title>FUCKING HELL</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134537"/>
		<updated>2025-04-17T17:05:22Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distinguish|Hell}} [[Category:Homestuck]]&lt;br /&gt;
[[File:Giphy splosion.gif|thumb|left|Possible depiction of FUCKING HELL.]]&lt;br /&gt;
[[File:Niko-seal-smaller.gif|thumb|left|]]&lt;br /&gt;
{{Tribute|name=Tumblebooks|img=Tumblebooks.jpg}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Niko-seal-smaller.gif&amp;diff=134536</id>
		<title>File:Niko-seal-smaller.gif</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Niko-seal-smaller.gif&amp;diff=134536"/>
		<updated>2025-04-17T17:03:45Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Category:ExplosionsCategory:Niko&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
[[Category:Explosions]][[Category:Niko]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134535</id>
		<title>FUCKING HELL</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134535"/>
		<updated>2025-04-17T07:11:38Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: and a few others&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distinguish|Hell}} [[Category:Homestuck]]&lt;br /&gt;
[[File:Giphy splosion.gif|thumb|left|Possible depiction of FUCKING HELL.]]&lt;br /&gt;
{{Tribute|name=Tumblebooks|img=Tumblebooks.jpg}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Tumblebooks.jpg&amp;diff=134534</id>
		<title>File:Tumblebooks.jpg</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Tumblebooks.jpg&amp;diff=134534"/>
		<updated>2025-04-17T07:09:44Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134533</id>
		<title>FUCKING HELL</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134533"/>
		<updated>2025-04-17T06:54:53Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distinguish|Hell}} [[Category:Homestuck]]&lt;br /&gt;
&lt;br /&gt;
[[File:Giphy splosion.gif|thumb|left|Possible depiction of FUCKING HELL.]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134532</id>
		<title>FUCKING HELL</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=FUCKING_HELL&amp;diff=134532"/>
		<updated>2025-04-17T06:51:34Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Created page with &amp;quot;{{Distinguish|Hell}} Category:Homestuck  left&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Distinguish|Hell}} [[Category:Homestuck]]&lt;br /&gt;
&lt;br /&gt;
[[File:Giphy splosion.gif|frame|left]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Giphy_splosion.gif&amp;diff=134531</id>
		<title>File:Giphy splosion.gif</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Giphy_splosion.gif&amp;diff=134531"/>
		<updated>2025-04-17T06:50:16Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Category:Explosions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
[[Category:Explosions]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Wiki_Object_Show&amp;diff=134433</id>
		<title>Wiki Object Show</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Wiki_Object_Show&amp;diff=134433"/>
		<updated>2025-04-16T02:23:46Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: this is prolly messy i dunno what im doing LOLL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
&lt;br /&gt;
HI EVERYONE i;m starting an [[Object Show]] on the wiki camp (if you don&#039;t know an object show is like a show where the characters are objects that compete in challenges and there&#039;s a host which isn&#039;t an object or sometimes they&#039;re an object but weird)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unfortunately i don&#039;t have all the characters picked but i figured you guys can help!&lt;br /&gt;
&lt;br /&gt;
== Recommend a character! ==&lt;br /&gt;
&lt;br /&gt;
=== Rules for recommending ===&lt;br /&gt;
*Give an image (or just say what the object is)&lt;br /&gt;
&lt;br /&gt;
*Tell me the personality&lt;br /&gt;
&lt;br /&gt;
=== Put your recommendations down below on this page ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flex-container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== Panopticony =====&lt;br /&gt;
&lt;br /&gt;
[[file:Panopticony.png]]&lt;br /&gt;
&lt;br /&gt;
my submission: panopticony!!&lt;br /&gt;
(No gender, It/It’s)&lt;br /&gt;
&lt;br /&gt;
it is giant humongous flesh prison creature (30 by 30 ft in length and width)&lt;br /&gt;
a foul flesh creature feared by all..keeps up a fearsome reputation&lt;br /&gt;
however in truth they are incredibly weak and they only intentionally scare people away so they can have silence when writing their novels&lt;br /&gt;
&lt;br /&gt;
philosophy major, is a substitute professor at the local college on Thursdays&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== Curtain Rod =====&lt;br /&gt;
recommended  by FuzzyEpic3&lt;br /&gt;
&lt;br /&gt;
[[File:Shower_Creature_overworld.gif|frame|they MIGHT be in this picture...]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== [[The QWillow Meal]] =====&lt;br /&gt;
recommended  by  [[Anonymous]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Object shows]] [[Category:QWillow]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
===== [[Copper Salts]] =====&lt;br /&gt;
[[File:Coppersalts 2022.png|300px]]&lt;br /&gt;
&lt;br /&gt;
she&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==== linear-gradient(to bottom right, white, gray) ====&lt;br /&gt;
sup&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#css:&lt;br /&gt;
.flex-container {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-wrap: wrap;&lt;br /&gt;
  background:linear-gradient(to bottom right, white, gray);&lt;br /&gt;
}&lt;br /&gt;
.flex-container &amp;gt; div {&lt;br /&gt;
  background:linear-gradient(to bottom right, white, gray);&lt;br /&gt;
  margin: 10px;&lt;br /&gt;
  padding: 20px;&lt;br /&gt;
  width: 25%;&lt;br /&gt;
}&lt;br /&gt;
.rec {&lt;br /&gt;
width:30%;&lt;br /&gt;
background:linear-gradient(to bottom right, white, gray);&lt;br /&gt;
flex-wrap: wrap;&lt;br /&gt;
  display: flex;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Shower_Creature_overworld.gif&amp;diff=134431</id>
		<title>File:Shower Creature overworld.gif</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Shower_Creature_overworld.gif&amp;diff=134431"/>
		<updated>2025-04-16T02:22:42Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: https://undertale.wiki/w/True_Lab/NPCs
Category:Undertale&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
https://undertale.wiki/w/True_Lab/NPCs&lt;br /&gt;
[[Category:Undertale]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Speciesbox&amp;diff=134426</id>
		<title>Template:Speciesbox</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Speciesbox&amp;diff=134426"/>
		<updated>2025-04-16T01:40:08Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: added to Category:Templates Ported From Wikipedia cuz it was on my mind since being reminded of it after looking through my contributions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Templates Ported From Wikipedia]]&lt;br /&gt;
{{speciesbox&lt;br /&gt;
| image = Guam Micronesian Kingfisher at Bronx Zoo-8-4c.jpg&lt;br /&gt;
| image_caption =Captive male at the [[Bronx Zoo]]. &lt;br /&gt;
| status = EW&lt;br /&gt;
| status_system = IUCN3.1&lt;br /&gt;
| status_ref = &amp;lt;ref name=&amp;quot;iucn status 13 November 2021&amp;quot;&amp;gt;{{cite iucn |author=BirdLife International |date=2017 |title=&#039;&#039;Todiramphus cinnamominus&#039;&#039; |volume=2017 |page=e.T22725862A117372355 |doi=10.2305/IUCN.UK.2017-3.RLTS.T22725862A117372355.en |access-date=13 November 2021}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| genus = Todiramphus&lt;br /&gt;
| species = cinnamominus&lt;br /&gt;
| authority = ([[William John Swainson|Swainson]], 1821)&lt;br /&gt;
}}&lt;br /&gt;
{speciesbox&lt;br /&gt;
&lt;br /&gt;
| image = Guam Micronesian Kingfisher at Bronx Zoo-8-4c.jpg&lt;br /&gt;
&lt;br /&gt;
| image_caption =Captive male at the [[Bronx Zoo]]. &lt;br /&gt;
&lt;br /&gt;
| status = EW&lt;br /&gt;
&lt;br /&gt;
| status_system = IUCN3.1&lt;br /&gt;
&lt;br /&gt;
| status_ref = &amp;lt;ref name=&amp;quot;iucn status 13 November 2021&amp;quot;&amp;gt;{{cite iucn |author=BirdLife International |date=2017 |title=&#039;&#039;Todiramphus cinnamominus&#039;&#039; |volume=2017 |page=e.T22725862A117372355 |doi=10.2305/IUCN.UK.2017-3.RLTS.T22725862A117372355.en |access-date=13 November 2021}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| genus = Todiramphus&lt;br /&gt;
&lt;br /&gt;
| species = cinnamominus&lt;br /&gt;
&lt;br /&gt;
| authority = ([[William John Swainson|Swainson]], 1821)&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;!--&lt;br /&gt;
-====================================================================&lt;br /&gt;
-  Template:Speciesbox - Generate a taxobox infobox for species&lt;br /&gt;
-====================================================================&lt;br /&gt;
--&lt;br /&gt;
--   This template chooses parameters to send to {Taxobox/core}, to&lt;br /&gt;
--   generate a right-side taxobox infobox.  Most parameters are just&lt;br /&gt;
--   passed directly; some are explained with a comment.  When run as&lt;br /&gt;
--   stand-alone, the template shows Acacia aemula as sample output.&lt;br /&gt;
--&lt;br /&gt;
--   The genus name of the species is found by looking in order at&lt;br /&gt;
--   (1) the genus parameter&lt;br /&gt;
--   (2) the first word of the taxon parameter&lt;br /&gt;
--   (3) the first word of the page name.&lt;br /&gt;
--   The species name/specific epithet is found by looking in order at&lt;br /&gt;
--   (1) the species parameter&lt;br /&gt;
--   (2) the rest of the taxon parameter after removing the first word&lt;br /&gt;
--   (3) the rest of the page name after removing any final part in&lt;br /&gt;
--       parentheses and then removing the first word.&lt;br /&gt;
--&lt;br /&gt;
--   The genus name is then the entry into the taxonomic hierarchy.&lt;br /&gt;
--&lt;br /&gt;
--   A complication is that if the taxonomy template for the genus needs&lt;br /&gt;
--   disambiguation (i.e. is &amp;quot;Template:Taxonomy/GENUS (DISAMBIG)&amp;quot;) then&lt;br /&gt;
--   the parameters will be genus=GENUS (DISAMBIG) | species=EPITHET&lt;br /&gt;
--   Can also have genus=GENUS/QUALIFIER&lt;br /&gt;
--&lt;br /&gt;
-------------------------------- Invoke {Taxobox/core}&lt;br /&gt;
The nowiki that follows is needed because of parser bug T18700--&amp;gt;&amp;lt;/noinclude&amp;gt;&amp;lt;nowiki/&amp;gt;{{Taxobox/core&amp;lt;includeonly&amp;gt;&lt;br /&gt;
| edit link = {{{edit link|{{{edit_link|edit}}} }}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
  --&lt;br /&gt;
  -- fossil_range:  If the specified fossil range is a period supported&lt;br /&gt;
  -- by templates {period_start} and {next_period}, then it incorporates&lt;br /&gt;
  -- the specified range in template {geological range}, but checking&lt;br /&gt;
  -- to display properly. Otherwise, just passes parameter.&lt;br /&gt;
  --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| temporal_range = {{#if:{{{fossil_range|{{{fossil range|}}} }}}|{{#iferror:{{geological range|{{{temporal_range|{{{temporal range|{{{fossil_range|{{{fossil range|}}} }}} }}} }}} }}|{{{temporal_range|{{{temporal range|{{{fossil_range|{{{fossil range|}}} }}} }}} }}}|{{geological range|{{{temporal_range|{{{temporal range|{{{fossil_range|{{{fossil range|}}} }}} }}} }}} }} }} | {{#if:{{{oldest fossil|{{{oldest_fossil|}}} }}}|{{geological range|{{{oldest fossil|{{{oldest_fossil}}} }}}|{{{youngest fossil|{{{youngest_fossil|Recent}}} }}} }} }} }}&amp;lt;noinclude&amp;gt;&amp;lt;!-- &lt;br /&gt;
PARENT: this is the taxon whose taxonomy template is used to find the taxonomic hierarchy; if&lt;br /&gt;
not supplied as a parameter value, it defaults to the genus name.&lt;br /&gt;
Template:Taxonomy/PARENT must exist. --&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| parent = &amp;lt;includeonly&amp;gt;{{{parent|{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia&amp;lt;!--&lt;br /&gt;
DISPLAY PARENTS:&lt;br /&gt;
 Number of immediate parents to display. Defaults to 1 above species, normally the genus (which is displayed as&lt;br /&gt;
 a major rank, anyway).&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| display_taxa = {{#expr:{{{display parents|{{{display_parents|1}}} }}}-1}}&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
AUTHORITY (etc):&lt;br /&gt;
In the format &amp;quot;author, year&amp;quot;.  &lt;br /&gt;
Species-authority is redundant to binomial_authority; we&#039;ll just list it the once.  (This avoids reference-duplication errors, too. &lt;br /&gt;
| species_authority = {{{authority|{{{binomial authority|{{{binomial_authority|}}} }}} }}}--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| authority = {{{authority|}}}&lt;br /&gt;
| parent_authority = {{{parent_authority|{{{parent authority|}}}}}}&lt;br /&gt;
| grandparent_authority = {{{grandparent_authority|{{{grandparent authority|}}}}}}&lt;br /&gt;
| greatgrandparent_authority = {{{greatgrandparent_authority|{{{greatgrandparent authority|}}}}}}&lt;br /&gt;
| greatgreatgrandparent_authority = {{{greatgreatgrandparent_authority|{{{greatgreatgrandparent authority|}}}}}}&lt;br /&gt;
| greatgreatgreatgrandparent_authority = {{{greatgreatgreatgrandparent_authority|{{{greatgreatgreatgrandparent authority|}}}}}}&lt;br /&gt;
| offset = 1&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
NAME:&lt;br /&gt;
{{Speciesbox/name}} both determines the taxobox name and whether the page title should be italicized by&lt;br /&gt;
adding the {{italic title}} template.&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| name = {{Speciesbox/name|{{{name|&amp;lt;noinclude&amp;gt;&#039;&#039;Acacia aemula&#039;&#039;&amp;lt;/noinclude&amp;gt;}}}|{{{taxon|}}}|{{{genus|}}}|{{{species|}}}|{{PAGENAMEBASE}}|{{{italic_title|{{{italic title|yes}}}}}}}}&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
 -- colour:  (Note UK spelling here) There are two cases:&lt;br /&gt;
 1) the parameter color_as has a value – the colour is found directly using {{Taxobox colour|color_as}}&lt;br /&gt;
 2) otherwise – Module:Autotaxobox|taxoboxColour searches up the taxonomic hierarchy to try to find a taxon that&lt;br /&gt;
    determines the taxobox colour&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| colour  = {{#if:{{{color_as|{{{colour_as|{{{color as|{{{colour as|}}}}}}}}}}}}|{{Taxobox colour|{{{color_as|{{{colour_as|{{{color as|{{{colour as|}}}}}}}}}}}}}}|{{#invoke:Autotaxobox|taxoboxColour|&amp;lt;includeonly&amp;gt;{{{parent|{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia&amp;lt;/noinclude&amp;gt; }} }}&lt;br /&gt;
| status  = {{{status|}}}&lt;br /&gt;
| status_system = {{{status system|{{{status_system|}}} }}}&lt;br /&gt;
| status_ref = {{{status ref|{{{status_ref|}}} }}}&lt;br /&gt;
| status2  = {{{status2|}}}&lt;br /&gt;
| status2_system = {{{status2 system|{{{status2_system|}}} }}}&lt;br /&gt;
| status2_ref = {{{status2 ref|{{{status2_ref|}}} }}}&lt;br /&gt;
| trend = {{{trend|}}}&lt;br /&gt;
| image = {{{image|}}}&lt;br /&gt;
| upright = {{{image_upright|{{{image upright|}}} }}}&lt;br /&gt;
| image_alt = {{{image alt|{{{image_alt|}}} }}}&lt;br /&gt;
| image_caption = {{{image caption|{{{image_caption|}}} }}}&lt;br /&gt;
| image2 = {{{image2|}}}&lt;br /&gt;
| upright2 = {{{image2_upright|{{{image2 upright|}}} }}}&lt;br /&gt;
| image2_alt = {{{image2 alt|{{{image2_alt|}}} }}}&lt;br /&gt;
| image2_caption = {{{image2 caption|{{{image2_caption|}}} }}}&lt;br /&gt;
| classification_status = {{{classification status|{{{classification_status|}}} }}}&lt;br /&gt;
| diversity = {{{diversity|}}}&lt;br /&gt;
| diversity_ref = {{{diversity ref|{{{diversity_ref|}}} }}}&lt;br /&gt;
| diversity_link = {{{diversity link|{{{diversity_link|}}} }}}&lt;br /&gt;
| extinct = {{{extinct|}}}&lt;br /&gt;
| species = {{#if:{{{extinct|}}}|&amp;amp;dagger;|{{#ifeq:{{{status|}}}|EX|&amp;amp;dagger;|{{Taxon info|&amp;lt;includeonly&amp;gt;{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia&amp;lt;/noinclude&amp;gt;|dagger}}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&#039;&#039;&#039;{{taxon italics|abbreviated=yes|&amp;lt;includeonly&amp;gt;{{Speciesbox/trim|{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}}} {{Speciesbox/getSpecies|{{{taxon|}}}|{{{species|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia aemula&amp;lt;/noinclude&amp;gt;}}&#039;&#039;&#039;&lt;br /&gt;
| binomial = &amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{#if:{{{extinct|}}}|&amp;amp;dagger;|{{#ifeq:{{{status|}}}|EX|&amp;amp;dagger;|{{Taxon info|&amp;lt;includeonly&amp;gt;{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia&amp;lt;/noinclude&amp;gt;|dagger}}}}}}&amp;lt;/span&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{taxon italics|&amp;lt;includeonly&amp;gt;{{Speciesbox/trim|{{Speciesbox/getGenus|{{{taxon|}}}|{{{genus|}}}}}}} {{Speciesbox/getSpecies|{{{taxon|}}}|{{{species|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Acacia aemula&amp;lt;/noinclude&amp;gt;}}&lt;br /&gt;
| binomial_authority = {{{authority|{{{binomial authority|{{{binomial_authority|}}} }}} }}}&lt;br /&gt;
| subdivision = {{{subdivision|}}}&lt;br /&gt;
| subdivision_ranks = {{{subdivision ranks|{{{subdivision_ranks|Subspecies}}} }}}&lt;br /&gt;
| subdivision_ref = {{{subdivision_ref|{{{subdivision ref|}}} }}}&lt;br /&gt;
| type_strain = {{{type strain|{{{type_strain|}}} }}}&lt;br /&gt;
| type_strain_ref = {{{type_strain_ref|{{{type strain ref|}}} }}}&lt;br /&gt;
| range_map = {{{range map|{{{range_map|}}} }}}&lt;br /&gt;
| range_map_upright = {{{range_map_upright|{{{range map upright|}}}}}}&lt;br /&gt;
| range_map_alt = {{{range map alt|{{{range_map_alt|}}} }}}&lt;br /&gt;
| range_map_caption = {{{range map caption|{{{range_map_caption|}}} }}}&lt;br /&gt;
| range_map2 = {{{range map2|{{{range_map2|}}} }}}&lt;br /&gt;
| range_map2_upright = {{{range_map2_upright|{{{range map2 upright|}}}}}}&lt;br /&gt;
| range_map2_alt = {{{range map2 alt|{{{range_map2_alt|}}} }}}&lt;br /&gt;
| range_map2_caption = {{{range map2 caption|{{{range_map2_caption|}}} }}}&lt;br /&gt;
| range_map3 = {{{range map3|{{{range_map3|}}} }}}&lt;br /&gt;
| range_map3_upright = {{{range_map3_upright|{{{range map3 upright|}}}}}}&lt;br /&gt;
| range_map3_alt = {{{range map3 alt|{{{range_map3_alt|}}} }}}&lt;br /&gt;
| range_map3_caption = {{{range map3 caption|{{{range_map3_caption|}}} }}}&lt;br /&gt;
| range_map4 = {{{range map4|{{{range_map4|}}} }}}&lt;br /&gt;
| range_map4_upright = {{{range_map4_upright|{{{range map4 upright|}}}}}}&lt;br /&gt;
| range_map4_alt = {{{range map4 alt|{{{range_map4_alt|}}} }}}&lt;br /&gt;
| range_map4_caption = {{{range map4 caption|{{{range_map4_caption|}}} }}}&lt;br /&gt;
| synonyms_ref = {{{synonyms ref|{{{synonyms_ref|}}} }}}&lt;br /&gt;
| synonyms = {{{synonyms|}}}&lt;br /&gt;
}}{{Speciesbox/parameterCheck|{{{taxon|}}}|{{{genus|}}}|{{{species|}}}}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using speciesbox with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview = unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y|authority|binomial authority||binomial_authority|classification status|classification_status|color as|color_as|colour as|colour_as|display parents|display_parents|diversity|diversity link|diversity ref|diversity_link|diversity_ref|edit link|edit_link|extinct|fossil range|fossil_range|genus|grandparent authority|grandparent_authority|greatgrandparent authority|greatgrandparent_authority|greatgreatgrandparent authority|greatgreatgrandparent_authority|greatgreatgreatgrandparent authority|greatgreatgreatgrandparent_authority|image|image alt|image caption|image upright|image2|image2 alt|image2 caption|image2 upright|image2_alt|image2_caption|image2_upright|image_alt|image_caption|image_upright|italic title|italic_title|name|oldest fossil|oldest_fossil|parent|parent authority|parent_authority|range map|range map alt|range map caption|range map upright|range map2|range map2 alt|range map2 caption|range map2 upright|range map3|range map3 alt|range map3 caption|range map3 upright|range map4|range map4 alt|range map4 caption|range map4 upright|range_map|range_map2|range_map2_alt|range_map2_caption|range_map2_upright|range_map3|range_map3_alt|range_map3_caption|range_map3_caption|range_map3_upright|range_map4|range_map4_alt|range_map4_caption|range_map4_upright|range_map4_upright|range_map_alt|range_map_caption|range_map_upright|species|status|status ref|status system|status2|status2 ref|status2 system|status2_ref|status2_system|status_ref|status_system|subdivision|subdivision ranks|subdivision ref|subdivision_ranks|subdivision_ref|synonyms|synonyms ref|synonyms_ref|taxon|temporal range|temporal_range|trend|type strain|type_strain|type strain ref|type_strain_ref|youngest fossil|youngest_fossil}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=File:Letter_a_fridge_magnet.png&amp;diff=134398</id>
		<title>File:Letter a fridge magnet.png</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=File:Letter_a_fridge_magnet.png&amp;diff=134398"/>
		<updated>2025-04-15T20:56:01Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Category:alphabet Category:alphabet fridge magnet letters Category:magnets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
[[Category:alphabet]] [[Category:alphabet fridge magnet letters]] [[Category:magnets]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=List_of_programming_languages&amp;diff=117436</id>
		<title>List of programming languages</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=List_of_programming_languages&amp;diff=117436"/>
		<updated>2024-03-26T00:00:06Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Return|Language}}&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
There are between 250-2,500, maybe even around 8,945 programming languages. Here they are, sorted alphabetically:&lt;br /&gt;
*[[C (language)|C]]&lt;br /&gt;
*[[C Sharp|C#]]&lt;br /&gt;
*[[C++]]&lt;br /&gt;
*[[Java]]&lt;br /&gt;
*[[JavaScript]]&lt;br /&gt;
*[[Nerplang]]&lt;br /&gt;
*[[PHP]]&lt;br /&gt;
*[[Python]]&lt;br /&gt;
*[[Ruby (language)|Ruby]]&lt;br /&gt;
*[[SQL]]&lt;br /&gt;
*[[Swift]]&lt;br /&gt;
*[[~ATH]]&lt;br /&gt;
==See also==&lt;br /&gt;
*[[CSS]]&lt;br /&gt;
[[Category:Programming languages]]&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Object&amp;diff=117236</id>
		<title>Template:Taxonomy/Object</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Object&amp;diff=117236"/>
		<updated>2024-03-25T00:13:37Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Don&#039;t edit this line {{{machine code|}}}&lt;br /&gt;
|rank=genus&lt;br /&gt;
|link=Object (Biology)&lt;br /&gt;
|parent=Objetidae&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetiformia&amp;diff=117192</id>
		<title>Template:Taxonomy/Objetiformia</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetiformia&amp;diff=117192"/>
		<updated>2024-03-24T15:56:24Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Created page with &amp;quot;{{Don&amp;#039;t edit this line {{{machine code|}}} |rank=subordo |link=Objetiformia |parent= }}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Don&#039;t edit this line {{{machine code|}}}&lt;br /&gt;
|rank=subordo&lt;br /&gt;
|link=Objetiformia&lt;br /&gt;
|parent=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetidae&amp;diff=117191</id>
		<title>Template:Taxonomy/Objetidae</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetidae&amp;diff=117191"/>
		<updated>2024-03-24T15:54:57Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Don&#039;t edit this line {{{machine code|}}}&lt;br /&gt;
|rank=family&lt;br /&gt;
|link=Objetidae&lt;br /&gt;
|parent=Objetiformia&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Automatic_taxobox&amp;diff=117048</id>
		<title>Template:Automatic taxobox</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Automatic_taxobox&amp;diff=117048"/>
		<updated>2024-03-23T23:04:20Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Created page with &amp;quot;&amp;lt;includeonly&amp;gt;&amp;lt;nowiki/&amp;gt;{{#invoke:Automated taxobox|automaticTaxobox}}&amp;lt;/includeonly&amp;gt;{{#invoke:Check for unknown parameters|check|unknown={{main other|Category:Pages using auto...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;nowiki/&amp;gt;{{#invoke:Automated taxobox|automaticTaxobox}}&amp;lt;/includeonly&amp;gt;{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using automatic taxobox with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Automatic taxobox]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y | authority | binomial | binomial_authority | binomial_text | classification_status | color_as | display_parents | diversity | diversity_link | diversity_ref | extinct | fossil_range | genus_text | grandparent_authority | greatgrandparent_authority | greatgreatgrandparent_authority | image2 | image2_alt | image2_caption | image2_upright | image | image_alt | image_caption | image_upright | italic_title | name | oldest_fossil | parent_authority | range_map2 | range_map2_alt | range_map2_caption | range_map2_upright | range_map | range_map_alt | range_map_caption | range_map_upright | species_text | status2 | status2_ref | status2_system | status | status_ref | status_system | subdivision | subdivision_ranks | subdivision_ref | synonyms | synonyms_ref | taxon | trend | type_genus | type_genus_authority | type_species | type_species_authority | type_strain | type_strain_ref | youngest_fossil}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Object&amp;diff=117046</id>
		<title>Template:Taxonomy/Object</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Object&amp;diff=117046"/>
		<updated>2024-03-23T22:57:16Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Created page with &amp;quot;{{Don&amp;#039;t edit this line {{{machine code|}}} |rank=genus |link=Object |parent=Objetidae }}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Don&#039;t edit this line {{{machine code|}}}&lt;br /&gt;
|rank=genus&lt;br /&gt;
|link=Object&lt;br /&gt;
|parent=Objetidae&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetidae&amp;diff=117045</id>
		<title>Template:Taxonomy/Objetidae</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxonomy/Objetidae&amp;diff=117045"/>
		<updated>2024-03-23T22:57:08Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: Created page with &amp;quot;{{Don&amp;#039;t edit this line {{{machine code|}}} |rank=family |link=Objetidae |parent= }}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Don&#039;t edit this line {{{machine code|}}}&lt;br /&gt;
|rank=family&lt;br /&gt;
|link=Objetidae&lt;br /&gt;
|parent=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=Template:Taxobox&amp;diff=117039</id>
		<title>Template:Taxobox</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=Template:Taxobox&amp;diff=117039"/>
		<updated>2024-03-23T22:19:41Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: stolen from wikipedia, trying to fix Template:Speciesbox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--See parser bug T18700--&amp;gt;&amp;lt;nowiki/&amp;gt;{{Taxobox/core&lt;br /&gt;
| colour = {{#if:{{{color_as|{{{colour_as|{{{color as|{{{colour as|}}}}}}}}}}}}|{{Taxobox colour|{{{color_as|{{{colour_as|{{{color as|{{{colour as|}}}}}}}}}}}}}}|{{Taxobox colour|{{if empty&lt;br /&gt;
|{{Sets taxobox colour|{{{phylum|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_phylum|{{{unranked phylum|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{divisio|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_divisio|{{{unranked divisio|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{superphylum|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_superphylum|{{{unranked superphylum|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{superdivisio|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_superdivisio|{{{unranked superdivisio|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{subregnum|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_subregnum|{{{unranked subregnum|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{regnum|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_regnum|{{{unranked regnum|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{superregnum|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_superregnum|{{{unranked superregnum|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{domain|}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{unranked_domain|{{{unranked domain|}}}}}}|sep=}}&lt;br /&gt;
|{{Sets taxobox colour|{{{virus_group|{{{virus group|}}}}}}|sep=}}&lt;br /&gt;
|Error}}}}}}&lt;br /&gt;
| name = {{#if:{{{name|}}}|{{{name}}}|{{Taxobox name|{{{genus}}}|{{{species}}}|{{{binomial}}}}}}}&lt;br /&gt;
| status = {{{status|}}} &lt;br /&gt;
| status_system = {{{status_system|{{{status system|}}}}}}&lt;br /&gt;
| status_ref = {{{status_ref|{{{status ref|}}}}}}&lt;br /&gt;
| status2 = {{{status2|}}} &lt;br /&gt;
| status2_system = {{{status2_system|{{{status2 system|}}}}}}&lt;br /&gt;
| status2_ref = {{{status2_ref|{{{status2 ref|}}}}}}&lt;br /&gt;
| trend = {{{trend|}}}&lt;br /&gt;
| extinct = {{{extinct|}}}&lt;br /&gt;
| temporal_range = {{{temporal_range|{{{temporal range|{{{fossil_range|{{{fossil range|}}} }}} }}} }}}&lt;br /&gt;
| image = {{{image|}}}&lt;br /&gt;
| image_width = {{{image_width|{{{image width|}}}}}}&lt;br /&gt;
| upright = {{{image_upright|{{{image upright|}}}}}}&lt;br /&gt;
| image_alt = {{{image_alt|{{{image alt|}}}}}}&lt;br /&gt;
| image_caption = {{{image_caption|{{{image caption|}}}}}}&lt;br /&gt;
| image_caption_align = {{{image_caption_align|{{{image caption align|center}}}}}}&lt;br /&gt;
| image2 = {{{image2|}}}&lt;br /&gt;
| image2_width = {{{image2_width|{{{image2 width|}}}}}}&lt;br /&gt;
| upright2 = {{{image2_upright|{{{image2 upright|}}}}}}&lt;br /&gt;
| image2_alt = {{{image2_alt|{{{image2 alt|}}}}}}&lt;br /&gt;
| image2_caption = {{{image2_caption|{{{image2 caption|}}}}}}&lt;br /&gt;
| classification_status = {{{classification_status|{{{classification status|}}}}}}&lt;br /&gt;
| virus_group = {{{virus_group|{{{virus group|}}}}}}&lt;br /&gt;
| unranked_superdomain = {{{unranked_superdomain|{{{unranked superdomain|}}} }}} &lt;br /&gt;
| unranked_superdomain_authority = {{{unranked_superdomain_authority|{{{unranked superdomain authority|}}}}}}&lt;br /&gt;
| superdomain = {{{superdomain|}}}&lt;br /&gt;
| superdomain_authority = {{{superdomaindomain_authority|{{{superdomaindomain authority|}}}}}}&lt;br /&gt;
| unranked_domain= {{{unranked_domain|{{{unranked domain|}}}}}}&lt;br /&gt;
| unranked_domain_authority = {{{unranked_domain_authority|{{{unranked domain authority|}}}}}}&lt;br /&gt;
| domain = {{{domain|}}}&lt;br /&gt;
| domain_authority = {{{domain_authority|{{{domain authority|}}}}}}&lt;br /&gt;
| unranked_superregnum= {{{unranked_superregnum|{{{unranked superregnum|}}}}}}&lt;br /&gt;
| unranked_superregnum_authority = {{{unranked_superregnum_authority|{{{unranked superregnum authority|}}}}}}&lt;br /&gt;
| superregnum = {{{superregnum|}}}&lt;br /&gt;
| superregnum_authority = {{{superregnum_authority|{{{superregnum authority|}}}}}}&lt;br /&gt;
| unranked_regnum = {{{unranked_regnum|{{{unranked regnum|}}}}}}&lt;br /&gt;
| unranked_regnum_authority = {{{unranked_regnum_authority|{{{unranked regnum authority|}}}}}}&lt;br /&gt;
| regnum = {{{regnum|}}}&lt;br /&gt;
| regnum_authority = {{{regnum_authority|{{{regnum authority|}}}}}}&lt;br /&gt;
| unranked_subregnum= {{{unranked_subregnum|{{{unranked subregnum|}}}}}}&lt;br /&gt;
| unranked_subregnum_authority = {{{unranked_subregnum_authority|{{{unranked subregnum authority|}}}}}}&lt;br /&gt;
| subregnum = {{{subregnum|}}}&lt;br /&gt;
| subregnum_authority = {{{subregnum_authority|{{{subregnum authority|}}}}}}&lt;br /&gt;
| unranked_superdivisio= {{{unranked_superdivisio|{{{unranked superdivisio|}}}}}}&lt;br /&gt;
| unranked_superdivisio_authority = {{{unranked_superdivisio_authority|{{{unranked superdivisio authority|}}}}}}&lt;br /&gt;
| superdivisio = {{{superdivisio|}}}&lt;br /&gt;
| superdivisio_authority = {{{superdivisio_authority|{{{superdivisio authority|}}}}}}&lt;br /&gt;
| unranked_superphylum= {{{unranked_superphylum|{{{unranked superphylum|}}}}}}&lt;br /&gt;
| unranked_superphylum_authority = {{{unranked_superphylum_authority|{{{unranked superphylum authority|}}}}}}&lt;br /&gt;
| superphylum = {{{superphylum|}}}&lt;br /&gt;
| superphylum_authority = {{{superphylum_authority|{{{superphylum authority|}}}}}}&lt;br /&gt;
| unranked_divisio = {{{unranked_divisio|{{{unranked divisio|}}}}}}&lt;br /&gt;
| unranked_divisio_authority = {{{unranked_divisio_authority|{{{unranked divisio authority|}}} }}}      &lt;br /&gt;
| divisio = {{{divisio|}}}&lt;br /&gt;
| divisio_authority = {{{divisio_authority|{{{divisio authority|}}}}}}&lt;br /&gt;
| unranked_phylum= {{{unranked_phylum|{{{unranked phylum|}}}}}}&lt;br /&gt;
| unranked_phylum_authority = {{{unranked_phylum_authority|{{{unranked phylum authority|}}}}}}&lt;br /&gt;
| phylum = {{{phylum|}}}&lt;br /&gt;
| phylum_authority = {{{phylum_authority|{{{phylum authority|}}}}}}&lt;br /&gt;
| unranked_subdivisio= {{{unranked_subdivisio|{{{unranked subdivisio|}}}}}}&lt;br /&gt;
| unranked_subdivisio_authority = {{{unranked_subdivisio_authority|{{{unranked subdivisio authority|}}}}}}&lt;br /&gt;
| subdivisio = {{{subdivisio|}}}&lt;br /&gt;
| subdivisio_authority = {{{subdivisio_authority|{{{subdivisio authority|}}}}}}&lt;br /&gt;
| unranked_subphylum= {{{unranked_subphylum|{{{unranked subphylum|}}}}}}&lt;br /&gt;
| unranked_subphylum_authority = {{{unranked_subphylum_authority|{{{unranked subphylum authority|}}}}}}&lt;br /&gt;
| subphylum = {{{subphylum|}}}&lt;br /&gt;
| subphylum_authority = {{{subphylum_authority|{{{subphylum authority|}}}}}}&lt;br /&gt;
| unranked_infraphylum= {{{unranked_infraphylum|{{{unranked infraphylum|}}}}}}&lt;br /&gt;
| unranked_infraphylum_authority = {{{unranked_infraphylum_authority|{{{unranked infraphylum authority|}}}}}}&lt;br /&gt;
| infraphylum = {{{infraphylum|}}}&lt;br /&gt;
| infraphylum_authority = {{{infraphylum_authority|{{{infraphylum authority|}}}}}}&lt;br /&gt;
| unranked_microphylum= {{{unranked_microphylum|{{{unranked microphylum|}}}}}}&lt;br /&gt;
| unranked_microphylum_authority = {{{unranked_microphylum_authority|{{{unranked microphylum authority|}}}}}}&lt;br /&gt;
| microphylum = {{{microphylum|}}}&lt;br /&gt;
| microphylum_authority = {{{microphylum_authority|{{{microphylum authority|}}}}}}&lt;br /&gt;
| unranked_nanophylum= {{{unranked_nanophylum|{{{unranked nanophylum|}}}}}}&lt;br /&gt;
| unranked_nanophylum_authority = {{{unranked_nanophylum_authority|{{{unranked nanophylum authority|}}}}}}&lt;br /&gt;
| nanophylum = {{{nanophylum|}}}&lt;br /&gt;
| nanophylum_authority = {{{nanophylum_authority|{{{nanophylum authority|}}}}}}&lt;br /&gt;
| unranked_superclassis= {{{unranked_superclassis|{{{unranked superclassis|}}}}}}&lt;br /&gt;
| unranked_superclassis_authority = {{{unranked_superclassis_authority|{{{unranked superclassis authority|}}}}}}&lt;br /&gt;
| superclassis = {{{superclassis|}}}&lt;br /&gt;
| superclassis_authority = {{{superclassis_authority|{{{superclassis authority|}}}}}}&lt;br /&gt;
| unranked_classis = {{{unranked_classis|{{{unranked classis|}}}}}}&lt;br /&gt;
| unranked_classis_authority = {{{unranked_classis_authority|{{{unranked classis authority|}}}}}}&lt;br /&gt;
| classis = {{{classis|}}}&lt;br /&gt;
| classis_authority = {{{classis_authority|{{{classis authority|}}}}}}&lt;br /&gt;
| unranked_subclassis = {{{unranked_subclassis|{{{unranked subclassis|}}}}}}&lt;br /&gt;
| unranked_subclassis_authority = {{{unranked_subclassis_authority|{{{unranked subclassis authority|}}}}}}&lt;br /&gt;
| subclassis = {{{subclassis|}}}&lt;br /&gt;
| subclassis_authority = {{{subclassis_authority|{{{subclassis authority|}}}}}}&lt;br /&gt;
| unranked_infraclassis = {{{unranked_infraclassis|{{{unranked infraclassis|}}}}}}&lt;br /&gt;
| unranked_infraclassis_authority = {{{unranked_infraclassis_authority|{{{unranked infraclassis authority|}}}}}}&lt;br /&gt;
| infraclassis = {{{infraclassis|}}}&lt;br /&gt;
| infraclassis_authority = {{{infraclassis_authority|{{{infraclassis authority|}}}}}}&lt;br /&gt;
| unranked_magnordo= {{{unranked_magnordo|{{{unranked magnordo|}}}}}}&lt;br /&gt;
| unranked_magnordo_authority = {{{unranked_magnordo_authority|{{{unranked magnordo authority|}}}}}}&lt;br /&gt;
| magnordo = {{{magnordo|}}}&lt;br /&gt;
| magnordo_authority = {{{magnordo_authority|{{{magnordo authority|}}}}}}&lt;br /&gt;
| unranked_superordo= {{{unranked_superordo|{{{unranked superordo|}}}}}}&lt;br /&gt;
| unranked_superordo_authority = {{{unranked_superordo_authority|{{{unranked superordo authority|}}}}}}&lt;br /&gt;
| superordo = {{{superordo|}}}&lt;br /&gt;
| superordo_authority = {{{superordo_authority|{{{superordo authority|}}}}}}&lt;br /&gt;
| unranked_ordo = {{{unranked_ordo|{{{unranked ordo|}}}}}}&lt;br /&gt;
| unranked_ordo_authority = {{{unranked_ordo_authority|{{{unranked ordo authority|}}}}}}&lt;br /&gt;
| ordo = {{{ordo|}}}&lt;br /&gt;
| ordo_authority = {{{ordo_authority|{{{ordo authority|}}}}}}&lt;br /&gt;
| unranked_subordo= {{{unranked_subordo|{{{unranked subordo|}}}}}}&lt;br /&gt;
| unranked_subordo_authority = {{{unranked_subordo_authority|{{{unranked subordo authority|}}}}}}&lt;br /&gt;
| subordo = {{{subordo|}}}&lt;br /&gt;
| subordo_authority = {{{subordo_authority|{{{subordo authority|}}}}}}&lt;br /&gt;
| unranked_infraordo= {{{unranked_infraordo|{{{unranked infraordo|}}}}}}&lt;br /&gt;
| unranked_infraordo_authority = {{{unranked_infraordo_authority|{{{unranked infraordo authority|}}}}}}&lt;br /&gt;
| infraordo = {{{infraordo|}}}&lt;br /&gt;
| infraordo_authority = {{{infraordo_authority|{{{infraordo authority|}}}}}}&lt;br /&gt;
| unranked_parvordo= {{{unranked_parvordo|{{{unranked parvordo|}}}}}}&lt;br /&gt;
| unranked_parvordo_authority = {{{unranked_parvordo_authority|{{{unranked parvordo authority|}}}}}}&lt;br /&gt;
| parvordo = {{{parvordo|}}}&lt;br /&gt;
| parvordo_authority = {{{parvordo_authority|{{{parvordo authority|}}}}}}&lt;br /&gt;
| zoodivisio = {{{zoodivisio|}}}&lt;br /&gt;
| zoodivisio_authority = {{{zoodivisio_authority|{{{zoodivisio authority|}}}}}}&lt;br /&gt;
| unranked_zoosectio = {{{unranked_zoosectio|{{{unranked zoosectio|}}}}}}&lt;br /&gt;
| unranked_zoosectio_authority = {{{unranked_zoosectio_authority|{{{unranked zoosectio authority|}}}}}}&lt;br /&gt;
| zoosectio = {{{zoosectio|}}}&lt;br /&gt;
| zoosectio_authority = {{{zoosectio_authority|{{{zoosectio authority|}}}}}}&lt;br /&gt;
| unranked_zoosubsectio = {{{unranked_zoosubsectio|{{{unranked zoosubsectio|}}}}}}&lt;br /&gt;
| unranked_zoosubsectio_authority = {{{unranked_zoosubsectio_authority|{{{unranked zoosubsectio authority|}}}}}}&lt;br /&gt;
| zoosubsectio = {{{zoosubsectio|}}}&lt;br /&gt;
| zoosubsectio_authority = {{{zoosubsectio_authority|{{{zoosubsectio authority|}}}}}}&lt;br /&gt;
| unranked_superfamilia= {{{unranked_superfamilia|{{{unranked superfamilia|}}}}}}&lt;br /&gt;
| unranked_superfamilia_authority = {{{unranked_superfamilia_authority|{{{unranked superfamilia authority|}}}}}}&lt;br /&gt;
| superfamilia = {{{superfamilia|}}}&lt;br /&gt;
| superfamilia_authority = {{{superfamilia_authority|{{{superfamilia authority|}}}}}}&lt;br /&gt;
| unranked_familia = {{{unranked_familia|{{{unranked familia|}}}}}}&lt;br /&gt;
| unranked_familia_authority = {{{unranked_familia_authority|{{{unranked familia authority|}}}}}}&lt;br /&gt;
| familia = {{{familia|}}}&lt;br /&gt;
| familia_authority = {{{familia_authority|{{{familia authority|}}}}}}&lt;br /&gt;
| unranked_subfamilia = {{{unranked_subfamilia|{{{unranked subfamilia|}}}}}}&lt;br /&gt;
| unranked_subfamilia_authority = {{{unranked_subfamilia_authority|{{{unranked subfamilia authority|}}}}}}&lt;br /&gt;
| subfamilia = {{{subfamilia|}}}&lt;br /&gt;
| subfamilia_authority = {{{subfamilia_authority|{{{subfamilia authority|}}}}}}&lt;br /&gt;
| unranked_supertribus = {{{unranked_supertribus|{{{unranked supertribus|}}}}}}&lt;br /&gt;
| unranked_supertribus_authority = {{{unranked_supertribus_authority|{{{unranked supertribus authority|}}}}}}&lt;br /&gt;
| supertribus = {{{supertribus|}}}&lt;br /&gt;
| supertribus_authority = {{{supertribus_authority|{{{supertribus authority|}}}}}}&lt;br /&gt;
| unranked_tribus = {{{unranked_tribus|{{{unranked tribus|}}}}}}&lt;br /&gt;
| unranked_tribus_authority = {{{unranked_tribus_authority|{{{unranked tribus authority|}}}}}}&lt;br /&gt;
| tribus = {{{tribus|}}}&lt;br /&gt;
| tribus_authority = {{{tribus_authority|{{{tribus authority|}}}}}}&lt;br /&gt;
| unranked_subtribus = {{{unranked_subtribus|{{{unranked subtribus|}}}}}}&lt;br /&gt;
| unranked_subtribus_authority = {{{unranked_subtribus_authority|{{{unranked subtribus authority|}}}}}}&lt;br /&gt;
| subtribus = {{{subtribus|}}}&lt;br /&gt;
| subtribus_authority = {{{subtribus_authority|{{{subtribus authority|}}}}}}&lt;br /&gt;
| unranked_alliance = {{{unranked_alliance|{{{unranked alliance|}}}}}}&lt;br /&gt;
| unranked_alliance_authority = {{{unranked_alliance_authority|{{{unranked alliance authority|}}}}}}&lt;br /&gt;
| alliance = {{{alliance|}}}&lt;br /&gt;
| alliance_authority = {{{alliance_authority|{{{alliance authority|}}}}}}&lt;br /&gt;
| unranked_genus = {{{unranked_genus|{{{unranked genus|}}}}}}&lt;br /&gt;
| unranked_genus_authority = {{{unranked_genus_authority|{{{unranked genus authority|}}}}}}&lt;br /&gt;
| genus = {{{genus|}}}&lt;br /&gt;
| genus_authority = {{{genus_authority|{{{genus authority|}}}}}}&lt;br /&gt;
| unranked_subgenus = {{{unranked_subgenus|{{{unranked subgenus|}}}}}}&lt;br /&gt;
| unranked_subgenus_authority = {{{unranked_subgenus_authority|{{{unranked subgenus authority|}}}}}}&lt;br /&gt;
| subgenus = {{{subgenus|}}}&lt;br /&gt;
| subgenus_authority = {{{subgenus_authority|{{{subgenus authority|}}}}}}&lt;br /&gt;
| unranked_sectio = {{{unranked_sectio|{{{unranked sectio|}}}}}}&lt;br /&gt;
| unranked_sectio_authority = {{{unranked_sectio_authority|{{{unranked sectio authority|}}}}}}&lt;br /&gt;
| sectio = {{{sectio|}}}&lt;br /&gt;
| sectio_authority = {{{sectio_authority|{{{sectio authority|}}}}}}&lt;br /&gt;
| unranked_subsectio = {{{unranked_subsectio|{{{unranked subsectio|}}}}}}&lt;br /&gt;
| unranked_subsectio_authority = {{{unranked_subsectio_authority|{{{unranked subsectio authority|}}}}}}&lt;br /&gt;
| subsectio = {{{subsectio|}}}&lt;br /&gt;
| subsectio_authority = {{{subsectio_authority|{{{subsectio authority|}}}}}}&lt;br /&gt;
| unranked_series = {{{unranked_series|{{{unranked series|}}}}}}&lt;br /&gt;
| unranked_series_authority = {{{unranked_series_authority|{{{unranked series authority|}}}}}}&lt;br /&gt;
| series = {{{series|}}}&lt;br /&gt;
| series_authority = {{{series_authority|{{{series authority|}}}}}}&lt;br /&gt;
| unranked_subseries = {{{unranked_subseries|{{{unranked subseries|}}}}}}&lt;br /&gt;
| unranked_subseries_authority = {{{unranked_subseries_authority|{{{unranked subseries authority|}}}}}}&lt;br /&gt;
| subseries = {{{subseries|}}}&lt;br /&gt;
| subseries_authority = {{{subseries_authority|{{{subseries authority|}}}}}}&lt;br /&gt;
| unranked_species_group = {{{unranked_species_group|{{{unranked species group|}}}}}}&lt;br /&gt;
| unranked_species_group_authority = {{{unranked_species_group_authority|{{{unranked species group authority|}}}}}}&lt;br /&gt;
| species_group = {{{species_group|{{{species group|}}}}}}&lt;br /&gt;
| species_group_authority = {{{species_group_authority|{{{species group authority|}}}}}}&lt;br /&gt;
| unranked_species_subgroup = {{{unranked_species_subgroup|{{{unranked species subgroup|}}}}}}&lt;br /&gt;
| unranked_species_subgroup_authority = {{{unranked_species_subgroup_authority|{{{unranked species subgroup authority|}}}}}}&lt;br /&gt;
| species_subgroup = {{{species_subgroup|{{{species subgroup|}}}}}}&lt;br /&gt;
| species_subgroup_authority = {{{species_subgroup_authority|{{{species subgroup authority|}}}}}}&lt;br /&gt;
| unranked_species_complex = {{{unranked_species_complex|{{{unranked species complex|}}}}}}&lt;br /&gt;
| unranked_species_complex_authority = {{{unranked_species_complex_authority|{{{unranked species complex authority|}}}}}}&lt;br /&gt;
| species_complex = {{{species_complex|{{{species complex|}}}}}}&lt;br /&gt;
| species_complex_authority = {{{species_complex_authority|{{{species complex authority|}}}}}}&lt;br /&gt;
| unranked_species = {{{unranked_species|{{{unranked species|}}}}}}&lt;br /&gt;
| unranked_species_authority = {{{unranked_species_authority|{{{unranked species authority|}}}}}}&lt;br /&gt;
| species = {{{species|}}}&lt;br /&gt;
| species_authority = {{{species_authority|}}}&lt;br /&gt;
| unranked_subspecies = {{{unranked_subspecies|{{{unranked subspecies|}}}}}}&lt;br /&gt;
| unranked_subspecies_authority = {{{unranked_subspecies_authority|{{{unranked subspecies authority|}}}}}}&lt;br /&gt;
| subspecies = {{{subspecies|}}}&lt;br /&gt;
| subspecies_authority = {{{subspecies_authority|{{{subspecies authority|}}}}}}&lt;br /&gt;
| unranked_variety = {{{unranked_variety|{{{unranked variety|{{{unranked_varietas|{{{unranked varietas|}}}}}}}}}}}}&lt;br /&gt;
| unranked_variety_authority = {{{unranked_variety_authority|{{{unranked_varietas_authority|}}}}}}&lt;br /&gt;
| variety = {{{variety|{{{varietas|}}}}}}&lt;br /&gt;
| variety_authority = {{{variety_authority|{{{variety authority|{{{varietas_authority|{{{varietas authority|}}}}}}}}}}}}&lt;br /&gt;
| forma = {{{forma|}}}&lt;br /&gt;
| forma_authority = {{{forma_authority|{{{forma authority|}}}}}}&lt;br /&gt;
| diversity = {{{diversity|}}}&lt;br /&gt;
| diversity_ref = {{{diversity_ref|}}}&lt;br /&gt;
| diversity_link = {{{diversity_link|{{{diversity link|}}}}}}&lt;br /&gt;
| binomial = {{{binomial|}}}&lt;br /&gt;
| binomial_authority = {{{binomial_authority|{{{binomial authority|}}}}}}&lt;br /&gt;
| trinomial = {{{trinomial|}}}&lt;br /&gt;
| trinomial_authority = {{{trinomial_authority|{{{trinomial authority|}}}}}}&lt;br /&gt;
| type_genus = {{{type_genus|{{{type genus|}}}}}}&lt;br /&gt;
| type_genus_authority = {{{type_genus_authority|{{{type genus authority|}}}}}}&lt;br /&gt;
| type_species = {{{type_species|{{{type species|}}}}}}&lt;br /&gt;
| type_species_authority = {{{type_species_authority|{{{type species authority|}}}}}}&lt;br /&gt;
| subdivision = {{{subdivision|}}}&lt;br /&gt;
| subdivision_ref = {{{subdivision_ref|{{{subdivision ref|}}}}}}&lt;br /&gt;
| subdivision_ranks = {{{subdivision_ranks|{{{subdivision ranks|}}}}}}&lt;br /&gt;
| type_strain = {{{type_strain|{{{type strain|}}}}}}&lt;br /&gt;
| type_strain_ref = {{{type_strain_ref|{{{type strain ref|}}}}}}&lt;br /&gt;
| range_map = {{{range_map|{{{range map|}}}}}}&lt;br /&gt;
| range_map_upright = {{{range_map_upright|{{{range map upright|}}}}}}&lt;br /&gt;
| range_map_width = {{{range_map_width|{{{range map width|}}}}}}&lt;br /&gt;
| range_map_alt = {{{range_map_alt|{{{range map alt|}}}}}}&lt;br /&gt;
| range_map_caption = {{{range_map_caption|{{{range map caption|}}}}}}&lt;br /&gt;
| binomial2 = {{{binomial2|}}}&lt;br /&gt;
| binomial2_authority = {{{binomial2_authority|{{{binomial2 authority|}}}}}}&lt;br /&gt;
| range_map2 = {{{range_map2|{{{range map2|}}}}}}&lt;br /&gt;
| range_map2_upright = {{{range_map2_upright|{{{range map2 upright|}}}}}}&lt;br /&gt;
| range_map2_width = {{{range_map2_width|{{{range map2 width|}}}}}}&lt;br /&gt;
| range_map2_alt = {{{range_map2_alt|{{{range map2 alt|}}}}}}&lt;br /&gt;
| range_map2_caption = {{{range_map2_caption|{{{range map2 caption|}}}}}}&lt;br /&gt;
| binomial3 = {{{binomial3|}}}&lt;br /&gt;
| binomial3_authority = {{{binomial3_authority|{{{binomial3 authority|}}}}}}&lt;br /&gt;
| range_map3 = {{{range_map3|{{{range map3|}}}}}}&lt;br /&gt;
| range_map3_upright = {{{range_map3_upright|{{{range map3 upright|}}}}}}&lt;br /&gt;
| range_map3_width = {{{range_map3_width|{{{range map3 width|}}}}}}&lt;br /&gt;
| range_map3_alt = {{{range_map3_alt|{{{range map3 alt|}}}}}}&lt;br /&gt;
| range_map3_caption = {{{range_map3_caption|{{{range map3 caption|}}}}}}&lt;br /&gt;
| binomial4 = {{{binomial4|}}}&lt;br /&gt;
| binomial4_authority = {{{binomial4_authority|{{{binomial4 authority|}}}}}}&lt;br /&gt;
| range_map4 = {{{range_map4|{{{range map4|}}}}}}&lt;br /&gt;
| range_map4_upright = {{{range_map4_upright|{{{range map4 upright|}}}}}}&lt;br /&gt;
| range_map4_width = {{{range_map4_width|{{{range map4 width|}}}}}}&lt;br /&gt;
| range_map4_alt = {{{range_map4_alt|{{{range map4 alt|}}}}}}&lt;br /&gt;
| range_map4_caption = {{{range_map4_caption|{{{range map4 caption|}}}}}}&lt;br /&gt;
| synonyms_ref = {{{synonyms_ref|{{{synonyms ref|}}}}}}&lt;br /&gt;
| synonyms = {{{synonyms|}}}&lt;br /&gt;
| footer = {{{footer|}}}&lt;br /&gt;
}}{{#if:{{{extinct|}}}|[[Category:Taxoboxes using extinct parameters]]}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
	<entry>
		<id>https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=108362</id>
		<title>User:Mislirneality</title>
		<link rel="alternate" type="text/html" href="https://camp2.rectangle.zone/index.php?title=User:Mislirneality&amp;diff=108362"/>
		<updated>2024-01-16T01:37:54Z</updated>

		<summary type="html">&lt;p&gt;Mislirneality: create user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mislirneality</name></author>
	</entry>
</feed>