<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://montepedia.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MontessoriX</id>
	<title>Montepedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://montepedia.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MontessoriX"/>
	<link rel="alternate" type="text/html" href="https://montepedia.com/wiki/Special:Contributions/MontessoriX"/>
	<updated>2026-06-06T16:53:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.2</generator>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Montessori_Schools_in_Thailand&amp;diff=5288</id>
		<title>Montessori Schools in Thailand</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Montessori_Schools_in_Thailand&amp;diff=5288"/>
		<updated>2024-09-17T07:38:41Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: added introduction of the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Montessori Schools in Thailand==&lt;br /&gt;
&lt;br /&gt;
Montessori education, developed by Dr. Maria Montessori in the early 20th century, emphasizes child-led learning, independence, and holistic development. The method has gained significant traction globally and has made a notable impact in Thailand, where several schools have adopted its principles. Montessori schools in Thailand offer a unique approach to education, providing children with a prepared environment that encourages exploration, critical thinking, and self-directed learning.&lt;br /&gt;
&lt;br /&gt;
This article serves as a comprehensive list of Montessori schools currently operating in Thailand. These institutions adhere to the Montessori philosophy and play a crucial role in shaping the educational landscape of the country. Each school provides an individualistic learning path for its students while promoting respect for cultural diversity and environmental stewardship.&lt;br /&gt;
&lt;br /&gt;
The following list of Montessori schools across various regions of Thailand has been compiled to offer an overview of the institutions that are embracing this innovative educational model. In future updates, each school will be linked to provide more detailed information about its history, educational approach, and impact on the community.&lt;br /&gt;
&lt;br /&gt;
This listing aims to foster greater awareness of Montessori education in Thailand and serve as a resource for parents, educators, and researchers interested in alternative educational models&lt;br /&gt;
&lt;br /&gt;
=== List of all existing Montessori Schools in Thailand by Province ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 | Name&lt;br /&gt;
! colspan=3 | School&lt;br /&gt;
! colspan=5 | Grades&lt;br /&gt;
! colspan=4 | Features&lt;br /&gt;
! colspan=4 | Location&lt;br /&gt;
! colspan=2 | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{vert header|stp=1|Type}}&lt;br /&gt;
! {{vert header|stp=1|Year}}&lt;br /&gt;
! {{vert header|stp=1|Religion}}&lt;br /&gt;
&lt;br /&gt;
! {{vert header|stp=1|0-3}}&lt;br /&gt;
! {{vert header|stp=1|3-6}}&lt;br /&gt;
! {{vert header|stp=1|6-12}}&lt;br /&gt;
! {{vert header|stp=1|12-15}}&lt;br /&gt;
! {{vert header|stp=1|15-18}}&lt;br /&gt;
&lt;br /&gt;
! {{vert header|stp=1|Montessori}}&lt;br /&gt;
! {{vert header|stp=1|Curriculum  }}&lt;br /&gt;
! {{vert header|stp=1|Languages}}&lt;br /&gt;
! {{vert header|stp=1|Special Needs}}&lt;br /&gt;
&lt;br /&gt;
! Tambon, Ampher&lt;br /&gt;
! Longitude, Latitude&lt;br /&gt;
! {{vert header|stp=1|Prov/Map No.}}&lt;br /&gt;
! {{vert header|stp=1|Region (6)}}&lt;br /&gt;
&lt;br /&gt;
! {{vert header|stp=1|Price (Tsd THB)}}&lt;br /&gt;
! (registered) (closed)&lt;br /&gt;
&lt;br /&gt;
|-{{sorting row|19}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Amnat_Charoen_Province Amnat Charoen Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดอำนาจเจริญ จังหวัดอำนาจเจริญ]&lt;br /&gt;
!colspan=1  | 37&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Amnat Charoen 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 37-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Amnat Charoen 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 37-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Ang_Thong_Province Ang Thong Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดอ่างทอง จังหวัดอ่างทอง]&lt;br /&gt;
!colspan=1  | 14&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Bueng_Kan_Province Bueang Khan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดบึงกาฬ จังหวัดบึงกาฬ]&lt;br /&gt;
!colspan=1  | 27&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 27-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Buriram_province Buriram Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดบุรีรัมย์ จังหวัดบุรีรัมย์]&lt;br /&gt;
!colspan=1  | 31&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Buriram 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 31-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Buriram 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 31-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Buriram 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 31-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Buriram 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 31-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;ffff2a&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/dhammapatsorn/about &#039;&#039;&#039;Dhammapatsorn School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| I8&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nai_Mueang,_Buriram Nai Mueang], [https://en.wikipedia.org/wiki/Mueang_Buriram_district Mueang Buri Ram]&lt;br /&gt;
| {{coord|14.988264|103.113713|scale:500|name=Dhammapatsorn School}}&lt;br /&gt;
| 31-005 [[File:Yellow-red pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|  n.a.&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chachoengsao_Province Chachoengsao Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดฉะเชิงเทรา จังหวัดฉะเชิงเทรา]&lt;br /&gt;
!colspan=1  | 24&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chachoengsao 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 24-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chainat_Province Chainat Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดชัยนาท จังหวัดชัยนาท]&lt;br /&gt;
!colspan=1  | 17&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 17-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chaiyaphum_Province Chaiyaphum Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดชัยนาท จังหวัดชัยนาท]&lt;br /&gt;
!colspan=1  | 36&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chaiyaphum 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 36-001 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chaiyaphum 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 36-002 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chaiyaphum 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 36-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chaiyaphum 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 36-004 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chanthaburi_Province Chantaburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดจันทบุรี จังหวัดจันทบุร]&lt;br /&gt;
!colspan=1  | 22&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 22-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chiang_Mai_province Chiang Mai Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดเชียงใหม่ จังหวัดเชียงใหม่]&lt;br /&gt;
!colspan=1  | 50&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://maerimmontessori.wixsite.com/maerimmontessorihome &#039;&#039;&#039;Baan Maerim Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chiang_Mai_province Chiang Mai], [https://en.wikipedia.org/wiki/Mae_Rim_district Mae Rim]&lt;br /&gt;
| {{coord|18.930006|98.944166|scale:500|name=Baan Maerim Montessori}}&lt;br /&gt;
| 50-001 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|[https://maerimmontessori.wixsite.com/maerimmontessorihome/tuition-fee &#039;&#039;&#039;90,000&#039;&#039;&#039; 6:B 90:T 90:K]&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/ckms/ &#039;&#039;&#039;Ban Chang Khoeng Samakee Wittayakhan&#039;&#039;&#039; School]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chang_Khoeng Chang Khaen], [https://en.wikipedia.org/wiki/Mae_Chaem_district Mae Chaem]&lt;br /&gt;
| {{coord|18.500960|98.361634|scale:500|name=Ban Chang Khoeng Samakee Wittayakhan School}}&lt;br /&gt;
| 50-002 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/muangchum/ &#039;&#039;&#039;Ban Muang Chum School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Taeng_subdistrict Mae Taeng], [https://en.wikipedia.org/wiki/Mae_Taeng_district Mae Taeng]&lt;br /&gt;
| {{coord|19.132529|98.934946|scale:500|name=Ban Muang Chum School}}&lt;br /&gt;
| 50-003 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/banrongkhilek/ &#039;&#039;&#039;Ban Rong Khi Lek School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Choeng_Doi Choeng Doi], [https://en.wikipedia.org/wiki/Doi_Saket_district Doi Saket]&lt;br /&gt;
| {{coord|18.866740|99.108386|scale:500|name=Ban Rong Khi Lek School}}&lt;br /&gt;
| 50-004 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.chiangmaimontessori.org/ &#039;&#039;&#039;Chiang Mai Montessori International School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nong_Khwai Nong Kwai], [https://en.wikipedia.org/wiki/Hang_Dong_district Hang Dong]&lt;br /&gt;
| {{coord|18.718163|98.931364|scale:500|name=Chiang Mai Montessori International School}}&lt;br /&gt;
| 50-005 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|[https://www.chiangmaimontessori.org/wp-content/uploads/2023/03/CMM-Fee-Summary-2023-24-Sheet1.pdf &#039;&#039;&#039;337,000&#039;&#039;&#039; 90:B 298:T 316:K 360:P1 374:P4]&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#D6FF6D&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/kruying/ &#039;&#039;&#039;Kru Ying&#039;s Home School&#039;&#039;&#039;]&lt;br /&gt;
| H&lt;br /&gt;
| C&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/San_Sai_Noi San Sai Noi], [https://en.wikipedia.org/wiki/San_Sai_district San Sai]&lt;br /&gt;
| {{coord|18.810715|99.0231735|scale:500|name=Kru Ying&#039;s Home School}}&lt;br /&gt;
| 50-006 [[File:Blue 0080ff pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|n.a.&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/lesfleurs/about &#039;&#039;&#039;Les Fleurs School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| FR TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Suthep Suthep], [https://en.wikipedia.org/wiki/Mueang_Chiang_Mai_district Mueang Chiang Mai]&lt;br /&gt;
| {{coord|18.769352|98.950733|scale:500|name=Les Fleurs}}&lt;br /&gt;
| 50-007 [[File:Black pog x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|closed&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://nims-chiangmai.org/admissions.htm &#039;&#039;&#039;Northern International Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Suthep Suthep], [https://en.wikipedia.org/wiki/Mueang_Chiang_Mai_district Mueang Chiang Mai]&lt;br /&gt;
| {{coord|18.787122|98.963174|scale:500|name=Northern International Montessori School}}&lt;br /&gt;
| 50-008 [[File:Yellow-red pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|[https://nims-chiangmai.org/index_htm_files/NIMS-TuitionFee-2023.pdf &#039;&#039;&#039;262,000&#039;&#039;&#039; 42:B 262:T 262:K]&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/wildflower/about &#039;&#039;&#039;Wildflower Foundation&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Khue Mae Khue], [https://en.wikipedia.org/wiki/Doi_Saket_district Doi Saket]&lt;br /&gt;
| {{coord|18.783743|99.086573|scale:500|name=Wildflower Foundation}}&lt;br /&gt;
| 50-009 [[File:Purple 8000ff pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|n.a.&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chiang_Rai_province Chiang Rai Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดเชียงราย จังหวัดเชียงราย]&lt;br /&gt;
!colspan=1  | 57&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [http://anubannanglae.ac.th/ &#039;&#039;&#039;Anuban Nang Lae&#039;&#039;&#039;] ([https://en.wikipedia.org/wiki/Ban_Thung_Chiang_Rai Ban Thung])&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nang_Lae Nang Lae], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
|{{coord|20.003746|99.870535|scale:500|name=Anuban Nang Lae}}&lt;br /&gt;
| 57-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://anbwcr.ac.th/ &#039;&#039;&#039;Anuban Wiang Chiang Rung&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Thung_Ko Thung Ko], [https://en.wikipedia.org/wiki/Wiang_Chiang_Rung_district Wiang Chiang Rung]&lt;br /&gt;
| {{coord|19.956198|100.003814|scale:500|name=Anuban Wiang Chiang Rung}}&lt;br /&gt;
| 57-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/doihang/ &#039;&#039;&#039;Ban Doi Hang School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Doi_Hang Doi Hang], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.823801|100.021650|scale:500|name=Ban Doi Hang School}}&lt;br /&gt;
| 57-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/bandon/ &#039;&#039;&#039;Ban Don School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|  |&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Don_Sila Don Sila], [https://en.wikipedia.org/wiki/Wiang_Chai_district Wiang Chai]&lt;br /&gt;
| {{coord|19.823801|100.021650|scale:500|name=Ban Don School}}&lt;br /&gt;
| 57-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/huaisaikhao/ &#039;&#039;&#039;Ban Huai Sai Khao School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Yao Mae Yao], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.936461|99.755150|scale:500|name=Ban Huai Sai Khao School}}&lt;br /&gt;
| 57-005 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/maemon/ &#039;&#039;&#039;Ban Mae Mon Wittaya School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.862285|99.607899|scale:500|name=Ban Mae Mon Wittaya School}}&lt;br /&gt;
| 57-006 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/nongbua/ &#039;&#039;&#039;Ban Nong Bua Pha Bom School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Pha_Ngam Pha Ngam], [https://en.wikipedia.org/wiki/Wiang_Chai_district Wiang Chai]&lt;br /&gt;
| {{coord|19.851626|100.013440|scale:500|name=Ban Nong Bua Pha Bom School}}&lt;br /&gt;
| 57-007 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/pasangnua/ &#039;&#039;&#039;Ban Pa Sang Nuea School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Pa_Sang,_Wiang_Chiang_Rung Pa Sang], [https://en.wikipedia.org/wiki/Wiang_Chiang_Rung_district Wiang Chiang Rung]&lt;br /&gt;
| {{coord|20.060816|100.139364|scale:500|name=Ban Pa Sang Nuea School}}&lt;br /&gt;
| 57-008 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/payangmon/ &#039;&#039;&#039;Ban Pa Yang Mon School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rop_Wiang Rob Wiang], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.913196|99.881696|scale:500|name=Ban Pa Yang Mon School}}&lt;br /&gt;
| 57-009 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/pangkhon/ &#039;&#039;&#039;Ban Pang Khon School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Huai_Chomphu Huai Chomphu], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.898460|99.618240|scale:500|name=Ban Pang Khon School}}&lt;br /&gt;
| 57-010 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/panglao/ &#039;&#039;&#039;Ban Pang Lao School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Khao_Tom Mae Khao Tom], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|20.046533|99.946730|scale:500|name=Ban Pang Lao School}}&lt;br /&gt;
| 57-011 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/pangrimkok/ &#039;&#039;&#039;Ban Pang Rim Kok School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Kon Mae Kon], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.847633|99.668122|scale:500|name=Ban Pang Rim Kok School}}&lt;br /&gt;
| 57-012 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/wiangdoem/ &#039;&#039;&#039;Ban Wiang Doem School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Wiang_Nuea,_Chiang_Rai Wiang Nuea], [https://en.wikipedia.org/wiki/Wiang_Chai_district Wiang Chai]&lt;br /&gt;
| {{coord|19.940298|99.947002|scale:500|name=Ban Wiang Doem School}}&lt;br /&gt;
| 57-013 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/hongsi/ &#039;&#039;&#039;Hong Si Kindergarten&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{coord|19.823801|100.021650|scale:500|name=Hong Si Kindergarten}}&lt;br /&gt;
| 57-014 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/kasemsasna/ &#039;&#039;&#039;Kasemsasna Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Wiang_Chai_district Wiang Chai], [https://en.wikipedia.org/wiki/Wiang_Chai_subdistrict Wiang Chai]&lt;br /&gt;
| {{coord|19.886942|99.850424|scale:500|name=Kasemsasna Montessori School}}&lt;br /&gt;
| 57-015 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;ffff2a&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/nimitmai/ &#039;&#039;&#039;Nimitmai Trilingual Kindergarten&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Sai Mae Sai], [https://en.wikipedia.org/wiki/Mae_Sai_district Mae Sai]&lt;br /&gt;
| {{coord|20.425914|99.884995|scale:500|name=Nimitmai Trilingual Kindergarten}}&lt;br /&gt;
| 57-016 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/phakwang/ &#039;&#039;&#039;Pha Kwang Wittaya School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mae_Yao Mae Yao], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|20.019427|99.606355|scale:500|name=Pha Kwang Wittaya School}}&lt;br /&gt;
| 57-017 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [http://pitisuksa.com/ &#039;&#039;&#039;Piti Suksa School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.925365|99.831909|scale:500|name=Piti Suksa School}}&lt;br /&gt;
| 57-018 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/sunlightchiangrai/ &#039;&#039;&#039;Sunlight Montessori Chiangrai&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Doi_Hang Doi Hang], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.922629|99.760305|scale:500|name=Sunlight Montessori Chiangrai}}&lt;br /&gt;
| 57-019 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/wiangkaew/ &#039;&#039;&#039;Wiang Kaew Witthaya School&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Chum Mueang Chum], [https://en.wikipedia.org/wiki/Wiang_Chai_district Wiang Chai]&lt;br /&gt;
| {{coord|19.915393|99.988724|scale:500|name=Wiang Kaew Witthaya School}}&lt;br /&gt;
| 57-020 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/wisaschool/ &#039;&#039;&#039;Wisanusorn School - โรงเรียนวิศานุสรณ์&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rop_Wiang Rob Wiang], [https://en.wikipedia.org/wiki/Mueang_Chiang_Rai_district Mueang Chiang Rai]&lt;br /&gt;
| {{coord|19.91249553|99.872444|scale:500|name=Wisanusorn School - โรงเรียนวิศานุสรณ์}}&lt;br /&gt;
| 57-021 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chonburi_province Chonburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดชลบุรี จังหวัดชลบุรี]&lt;br /&gt;
!colspan=1  | 20&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Chonburi 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 20-001 [[File:Green dot.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;dddddd&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/mcci/ Montessori Children Center International]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| I1&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Pattaya Pattaya City], [https://en.wikipedia.org/wiki/Chonburi_province Chonburi]&lt;br /&gt;
| {{coord|12.964463|100.884411|scale:500|name=Montessori Children Center International}}&lt;br /&gt;
| 20-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| Closed&lt;br /&gt;
| &#039;&#039;&#039;1990-2011 closed&#039;&#039;&#039; [[Mooltripakdee International School]]&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| [http://www.mis.ac.th/ &#039;&#039;&#039;Mooltripakdee International School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Pattaya Pattaya City], [https://en.wikipedia.org/wiki/Chonburi_province Chonburi]&lt;br /&gt;
| {{coord|12.948374|100.949503|scale:500|name=Mooltripakdee International School}}&lt;br /&gt;
| 20-003 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/wonderyears/ &#039;&#039;&#039;Wonder Years Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nong_Khaem_district Nong Kham], [https://en.wikipedia.org/wiki/Si_Racha_district Si Racha]&lt;br /&gt;
| {{coord|13.147237|100.962322|scale:500|name=Wonder Years Montessori School}}&lt;br /&gt;
| 20-004 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Chumphon_province Chumphon Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดชุมพร จังหวัดชุมพร]&lt;br /&gt;
!colspan=1  | 86&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/sawi/ Bunsombat Wittaya School]&#039;&#039;&#039;&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Na_Pho_district Na Pho], [https://en.wikipedia.org/wiki/Sawi_district Sawi]&lt;br /&gt;
| {{coord|10.237283|99.106647|scale:500|name=Bunsombat Wittaya School}}&lt;br /&gt;
| 86-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/khaothalom/about Montessori Chumphon Ban Khao Thalom School]&#039;&#039;&#039;&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khao_Thalom Khao Thalom], [https://en.wikipedia.org/wiki/Mueang_Chumphon_district Mueang Chumphon]&lt;br /&gt;
| {{coord|10.237283|99.106647|scale:500|name=Montessori Chumphon Ban Khao Thalom School}}&lt;br /&gt;
| 86-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/tis/ Theodore International School - โรงเรียนสุทธิ์รัก]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M6&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Takded_sub_district Takded], [https://en.wikipedia.org/wiki/Mueang_Chumphon_district Mueang Chumphon]&lt;br /&gt;
| {{coord|10.237283|99.106647|scale:500|name=Theodore International School - โรงเรียนสุทธิ์รัก}}&lt;br /&gt;
| 86-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| n.a.&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Kalasin_province Kalasin Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดกาฬสินธุ์ จังหวัดกาฬสินธุ์]&lt;br /&gt;
!colspan=1  | 46&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/kalasin/ &#039;&#039;&#039;Kalasin Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Phon_Thong_sub_district Phon Thong], [https://en.wikipedia.org/wiki/Mueang_Kalasin_district Mueang Kalasin]&lt;br /&gt;
| {{coord|16.452911|103.530024|scale:500|name=Kalasin Montessori School}}&lt;br /&gt;
| 46-0010 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| n.a.&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Kamphaeng_Phet_Province Kamphaeng Phet Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดคอนฟิงเฟต จังหวัดคอนฟิงเฟต]&lt;br /&gt;
!colspan=1  | 62&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 62-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Kanchanaburi_Province  Kanchanaburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดกาญจนบุรี จังหวัดกาญจนบุรี]&lt;br /&gt;
!colspan=1  | 71&lt;br /&gt;
!colspan=1  | W&lt;br /&gt;
!colspan=2  | Weatern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 71-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Khon_Kaen_province Khon Kaen Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดขอนแก่น จังหวัดขอนแก่น]&lt;br /&gt;
!colspan=1  | 40&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/nonghai/ Ban Nong Hai Kham Pia School]&#039;&#039;&#039;&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ban_Haet Ban Haet], [https://en.wikipedia.org/wiki/Mueang_Khon_Kaen_district Mueang Khon Kaen]&lt;br /&gt;
| {{coord|16.213880|102.760704|scale:500|name=Ban Nong Hai Kham Pia School}}&lt;br /&gt;
| 40-059 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Khan Kaen 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 40-001 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Khan Kaen 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 40-002 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Khan Kaen 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 40-003 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Khan Kaen 4 and 55 more Public Montessori Schools!&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 40-004 [[File:Green 00ff00 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/casadebamboo/ &#039;&#039;&#039;CaSa De Bamboo Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ban_Pet Ban Pet], [https://en.wikipedia.org/wiki/Mueang_Khon_Kaen_district Mueang Khon Kaen]&lt;br /&gt;
| {{coord|14.988264|103.113713|scale:500|name=CaSa De Bamboo Montessori School}}&lt;br /&gt;
| 40-060 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://www.ratchutschool.com/ &#039;&#039;&#039;Ratchut School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Hua_Nong_sub_district Hua Nong], [https://en.wikipedia.org/wiki/Ban_Phai_district Ban Phai]&lt;br /&gt;
| {{coord|16.068349|102.678338|scale:500|name=Ratchut School}}&lt;br /&gt;
| 40-061 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://www.suansonschool.com/ &#039;&#039;&#039;Suanson Khonkaen School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Khon_Kaen_district Mueang Khon Kaen]&lt;br /&gt;
| {{coord|16.413089|102.833064|scale:500|name=Suanson Khonkaen School}}&lt;br /&gt;
| 40-062 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/agapekk/ &#039;&#039;&#039;Unrak Khon Kaen School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| EV&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nai_Mueang,_Khon_Kaen Nai Mueang], [https://en.wikipedia.org/wiki/Mueang_Khon_Kaen_district Mueang Khon Kaen]&lt;br /&gt;
| {{coord|16.422539|102.855422|scale:500|name=Unrak Khon Kaen School}}&lt;br /&gt;
| 40-063 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Krabi_province Krabi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดกระบี่ จังหวัดกระบี่]&lt;br /&gt;
!colspan=1  | 81&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.daisychainskrabi.com/ Daisy Chains Krabi Montessori]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| I3&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ao_Nang Ao Nang], [https://en.wikipedia.org/wiki/Mueang_Krabi_district Mueng-Krabi]&lt;br /&gt;
| {{coord|8.047705|98.843849|scale:500|name=Daisy Chains Krabi Montessori}}&lt;br /&gt;
| 81-001 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.krabikidsunflower.com/ International Kids Sunflower]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Saithai_sub_district Saithai], [https://en.wikipedia.org/wiki/Ao_Nang Ao Nang]&lt;br /&gt;
| {{coord|8.049593|98.852423}}&lt;br /&gt;
| 81-002 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
| &#039;&#039;&#039;48,000&#039;&#039;&#039; 54:T 72:K&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://web.archive.org/web/20210225021056/http://krabimontessori.com/ Krabi International Montessori Academy]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ao_Nang Ao Nang], [https://en.wikipedia.org/wiki/Mueang_Krabi_district Mueng-Krabi]&lt;br /&gt;
| {{coord|8.069185|98.915911|scale:500|name=Krabi International Montessori Academy}}&lt;br /&gt;
| 81-003 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/tmc/ The Montessori Corner Krabi]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| T1&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Pak_Nam_sub_district_Krabi Pak Nam], [https://en.wikipedia.org/wiki/Mueang_Krabi_district Mueng-Krabi]&lt;br /&gt;
| {{coord|8.063016|98.915435|scale:500|name=The Montessori Corner Krabi}}&lt;br /&gt;
| 81-004 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Bangkok Krung Thep Maha Nakhon (Bangkok)] - โรงเรียนใน [https://th.wikipedia.org/wiki/กรุงเทพมหานคร กรุงเทพมหานคร (กรุงเทพมหานคร)]&lt;br /&gt;
!colspan=1  | 10&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.amnuaysilpa.ac.th/ Amnuay Silpa Dhonburi - Montessori School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Bang_Khae_Nuea Bang Khae Nuea], [https://en.wikipedia.org/wiki/Bang_Khae_subdistrict,_Bangkok Bang Khae]&lt;br /&gt;
| {{coord|13.709326|100.392536|scale:500|name=Amnuay Silpa Dhonburi - Montessori School}}&lt;br /&gt;
| 10-001 [[File:Gfi-set01-archaeology.png|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
| 1939-1921 &amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.bangkokpost.com/thailand/general/2202723/private-schools-suffer-mass-closures Permanently Closed]&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.amnuaysilpa.ac.th/ Amnuay Silpa School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Thung_Phaya_Thai Thug Phaya Thai], [https://en.wikipedia.org/wiki/Ratchathewi_district Ratchathewi]&lt;br /&gt;
| {{coord|13.760721|100.527568|scale:500|name=Amnuay Silpa School}}&lt;br /&gt;
| 10-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/anantaa/ &#039;&#039;&#039;Anantaa School - โรงเรียนอนันตา&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khok_Twin Khok Twin], [https://en.wikipedia.org/wiki/Nong_Chok_district Nong Chok]&lt;br /&gt;
| {{coord|13.848327|100.808539|scale:500|name=Anantaa School - โรงเรียนอนันตา}}&lt;br /&gt;
| 10-003 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.baantonmai.ac.th/ Baantonmai Trilingual Kindergarten]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Samsen_Nok Samsen Nok], [https://en.wikipedia.org/wiki/Huai_Khwang_district Huai Khwang]&lt;br /&gt;
| {{coord|13.792298|100.583961|scale:500|name=Baantonmai Trilingual Kindergarten}}&lt;br /&gt;
| 10-004 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.baanwadfun.ac.th/ Baanwadfun Kindergarten]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Phahonyothin_Road Phahonyothin Rd], [https://en.wikipedia.org/wiki/Lat_Phrao_district Lat Phrao]&lt;br /&gt;
| {{coord|13.827838|100.598701}}&lt;br /&gt;
| 10-005 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://cbischool.com/ Casa Bambino International Preschool]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Thung_Wat_Don Thung Wat Don], [https://en.wikipedia.org/wiki/Sathon_district Sathon]&lt;br /&gt;
| {{coord|13.707374|100.535278|scale:500|name=Casa Bambino International Preschool}}&lt;br /&gt;
| 10-006 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| [https://www.eis.ac.th/ &#039;&#039;&#039;Ekamai International School - Kindergarten&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Phra_Khanong_area Pridi Banomyong], [https://en.wikipedia.org/wiki/Sukhumvit_Road Sukhumvit]&lt;br /&gt;
| {{coord|13.730842|100.592255|scale:500|name=Ekamai International School - Kindergarten}}&lt;br /&gt;
| 10-007 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| [http://www.gisschool.org &#039;&#039;&#039;Global Indian International School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Bangkayaeng Bangkayaeng], [https://en.wikipedia.org/wiki/Pathum_Thani_Khet Pathumthani]&lt;br /&gt;
| {{coord|13.969501|100.527410|scale:500|name=Global Indian International School}}&lt;br /&gt;
| 10-008 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| [https://imc.ac.th/ &#039;&#039;&#039;International Montessori Center&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Saphan_Sung_subdistrict Saphan Sung]&lt;br /&gt;
| {{coord|13.753568|100.676138|scale:500|name=International Montessori Center}}&lt;br /&gt;
| 10-009 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.imc.ac.th/preschool International Montessori Preschool]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Min_Buri_district Min Buri]&lt;br /&gt;
| {{coord|13.781593|100.721694|scale:500|name=International Montessori Preschool}}&lt;br /&gt;
| 10-010 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.jwmontessori.com/ John Wyatt Montessori]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M3&lt;br /&gt;
| M6&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Kwaeng_Chom_Phon Chom Phon], [https://en.wikipedia.org/wiki/Chatuchak_district Chatuchak]&lt;br /&gt;
| {{coord|13.821493|100.568546|scale:500|name=John Wyatt Montessori}}&lt;br /&gt;
| 10-011 [[File:Red-green-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.jwmontessori.com/ John Wyatt Montessori International School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M6&lt;br /&gt;
|&lt;br /&gt;
| MM&lt;br /&gt;
| INT ERD&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Kwaeng_Chom_Phon Chom Phon], [https://en.wikipedia.org/wiki/Chatuchak_district Chatuchak]&lt;br /&gt;
| {{coord|14.685022|100.708017|scale:500|name=John Wyatt Montessori International School}}&lt;br /&gt;
| 10-012 [[File:Red-green-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.kornkaew.com/ Kornkaew Montessori School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Dusit_district Dusit]&lt;br /&gt;
| {{coord|13.787378|100.528518|scale:500|name=Kornkaew Montessori School}}&lt;br /&gt;
| 10-013 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;dddddd&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.mmipreschool.com/ Modern Montessori International Pre-School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M3&lt;br /&gt;
| M6&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sukhumvit_Road Sukhumvit], [https://en.wikipedia.org/wiki/Khlong_Toei_district Khlong Toei]&lt;br /&gt;
| {{coord|13.716557|100.588933|scale:500|name=Modern Montessori International Pre-School}}&lt;br /&gt;
| 10-014  [[File:Gfi-set01-archaeology.png|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.montessoribkk.com/ Montessori Academy Bangkok Intl. School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Bang_Na_district Bang Na]&lt;br /&gt;
| {{coord|13.666526|100.637377|scale:500|name=Montessori Academy Bangkok Intl. School}}&lt;br /&gt;
| 10-015 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/playandlearn/ Montessori Play and Learn]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Prawet_district Prawet]&lt;br /&gt;
| {{coord|13.724642|100.667128|scale:500|name=Montessori Play and Learn}}&lt;br /&gt;
| 10-016 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.prep.ac.th/ Prep International Kindergarten, Ladprao 88]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Phlapphla,_Bangkok Phlabphla], [https://en.wikipedia.org/wiki/Wang_Thonglang_district Wang Thonglang]&lt;br /&gt;
| {{coord|13.731413|100.595972}}&lt;br /&gt;
| 10-017 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.pmr.ac.th/ Phramae Mary Sathon School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Thung_Wat_Don Thung Wat Dong], [https://en.wikipedia.org/wiki/Sathon_district Sathon]&lt;br /&gt;
| {{coord|13.704714|100.526125|scale:500|name=Phramae Mary Sathon School}}&lt;br /&gt;
| 10-018 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://plearnmontessori.com/ Plearn Montessori Early Learning &amp;amp; Childcare]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ekachai Ekachai], [https://en.wikipedia.org/wiki/Thawi_Watthana_district Thawi Watthana]&lt;br /&gt;
| {{coord|13.771580|100.344232}}&lt;br /&gt;
| 10-019 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[http://pongsuwan.org/ Pongsuwan Wittaya Sai Mai School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sai_Mai_subdistrict Sai Mai], [https://en.wikipedia.org/wiki/Sai_Mai_district Sai Mai]&lt;br /&gt;
| {{coord|13.927927|100.657262|scale:500|name=Pongsuwan Wittaya Sai Mai School}}&lt;br /&gt;
| 10-020 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://prep.ac.th/ Prep International Kindergarten, Sutthisan]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| INT&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Samsen_Nok Samsen Nok], [https://en.wikipedia.org/wiki/Huai_Khwang_district Huai Khwang]&lt;br /&gt;
| {{coord|13.789213|100.584193|scale:500|name=Prep International Kindergarten, Sutthisan}}&lt;br /&gt;
| 10-021 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.montessorisukhumvit71.com/ Montessori Sukhumvit 71 School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khlong_Tan_Nuea Khlong Tan Nuea], [https://en.wikipedia.org/wiki/Watthana_Nakhon_district Watthana]&lt;br /&gt;
| {{coord|13.731558|100.595961}}&lt;br /&gt;
| 10-022 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.sombunwit.ac.th/ Sombunwit Trilingual School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chom_Thong_subdistrict,_Bangkok Chom Thong], [https://en.wikipedia.org/wiki/Samae_Dam Khwaeng Samae Dam]&lt;br /&gt;
| {{coord|13.731558|100.595961|scale:500|name=Sombunwit Trilingual School}}&lt;br /&gt;
| 10-023 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/sunshinebkk/ Sunshine Montessori Nursery]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Saphan_Sung_subdistrict Khwaeng Saphan Sung], [https://en.wikipedia.org/wiki/Saphan_Sung_district Saphan Sung]&lt;br /&gt;
| {{coord|13.774477|00.678509|scale:500|name=Sunshine Montessori Nursery}}&lt;br /&gt;
| 10-024 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://yuvavit.ac.th/ Yuwamit Kindergarten]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Wachiraphayaban_subdistrict Wachira Phayaban], [https://en.wikipedia.org/wiki/Dusit_district Dusit]&lt;br /&gt;
| {{coord|13.777515|100.507084|scale:500|name=Yuwamit Kindergarten}}&lt;br /&gt;
| 10-025 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Lampang_Province Lampang Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดลำปาง จังหวัดลำปาง]&lt;br /&gt;
!colspan=1  | 52&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 52-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Lamphun_Province Lamphun Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดลำพูน จังหวัดลำพูน]&lt;br /&gt;
!colspan=1  | 51&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 51-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Loei_province Loei Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดเลย จังหวัดเลย]&lt;br /&gt;
!colspan=1  | 42&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | Northern-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#fff2a&amp;quot;&lt;br /&gt;
| [https://loeimontessori.wordpress.com/ &#039;&#039;&#039;Loei Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nam_Man Nam Man], [https://en.wikipedia.org/wiki/Mueang_Loei_district Mueang Loei]&lt;br /&gt;
| {{coord|17.495288|101.695906|scale:500|name=Loei Montessori School}}&lt;br /&gt;
| 42-000 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Lopburi_Province Lopburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดลพบุรี จังหวัดลพบุรี]&lt;br /&gt;
!colspan=1  | 15&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 15-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Mae_Hong_Son_Province Mae Hong Son Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดแม่ฮ่องสอนจังหวัดแม่ฮ่องสอน]&lt;br /&gt;
!colspan=1  | 58&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 58-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Maha_Sarakham_Province Maha Sarakham Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดมหาสารคาม จังหวัดมหาสารคาม]&lt;br /&gt;
!colspan=1  | 44&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 44-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Mukdahan_province Mukdahan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดมุกดาหาร จังหวัดมุกดาหาร]&lt;br /&gt;
!colspan=1  | 49&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Mukdahan 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 49-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://mukdahan.montessorithailand.org/ &#039;&#039;&#039;Mukdahan Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| T1&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Mukdahan_district Mueang Mukdahan Province]&lt;br /&gt;
| -{{coord|16.546346|104.714853|scale:500|name=Mukdahan Montessori School}}&lt;br /&gt;
| 49-002 [[File:Yellow-blue dot.png|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Nayok_Province Nakhon Nayok Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครนายก จังหวัดนครนายก]&lt;br /&gt;
!colspan=1  | 26&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 26-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Pathom_Province Nakhon Pathom Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครปฐม จังหวัดนครปฐม]&lt;br /&gt;
!colspan=1  | 73&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 73-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Phanom_Province Nakhon Phanom Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครพนม จังหวัดนครพนม]&lt;br /&gt;
!colspan=1  | 48&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 48-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Ratchasima_province Nakhon Ratchasima Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครราชสีมา จังหวัดนครราชสีมา]&lt;br /&gt;
!colspan=1  | 38&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://www.koratmontessori.com/ &#039;&#039;&#039;Korat Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nai_Mueang,_Nakhon_Ratchasima Nai Mueang]&lt;br /&gt;
| {{coord|14.954057|102.060614|scale:500|name=Korat Montessori}}&lt;br /&gt;
| 38-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://morimorimontessori.com &#039;&#039;&#039;Mori Mori Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Ban_Mai_sub_district Ban Mai], [https://en.wikipedia.org/wiki/Mueang_Nakhon_Ratchasima_district Mueang Nakhon Ratchasima]&lt;br /&gt;
| {{coord|14.965152|102.049983|scale:500|name=Mori Mori Montessori}}&lt;br /&gt;
| 38-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/will/ &#039;&#039;&#039;Will Montessori Korat&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nai_Mueang,_Nakhon_Ratchasima Nai Mueang], [https://en.wikipedia.org/wiki/Mueang_Nakhon_Ratchasima_district Mueang Nakhon Ratchasima]&lt;br /&gt;
| {{coord|14.967351|102.059418|scale:500|name=Will Montessori Korat}}&lt;br /&gt;
| 38-003 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Sawan_Province Nakhon Sawan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครสวรรค์ จังหวัดนครสวรรค์]&lt;br /&gt;
!colspan=1  | 60&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 60-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nakhon_Si_Thammarat_province Nakhon Sri Thammarat Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนครศรีธรรมราช จังหวัดนครศรีธรรมราช]&lt;br /&gt;
!colspan=1  | 80&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/ntt-happy-montessori/ &#039;&#039;&#039;NTT Happy Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chamai Chamai], [https://en.wikipedia.org/wiki/Thung_Song_district Thung Song]&lt;br /&gt;
| {{coord|8.170674|99.652373|scale:500|name=NTT Happy Montessori}}&lt;br /&gt;
| 80-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://www.ttw.ac.th/main &#039;&#039;&#039;Tantiwatra School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chamai Chamai], [https://en.wikipedia.org/wiki/Thung_Song_district Thung Song]&lt;br /&gt;
| {{coord|8.160444|99.661670|scale:500|name=Tantiwatra School}}&lt;br /&gt;
| 80-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nan_Province Nan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดน่าน จังหวัดน่าน]&lt;br /&gt;
!colspan=1  | 55&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 55-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Narathiwat_province Narathiwat Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดนราธิวาส จังหวัดนราธิวาส]&lt;br /&gt;
!colspan=1  | 96&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/kolok/ Kolok Montessori]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Su-ngai_Kolok Su-ngai], [https://en.wikipedia.org/wiki/Kolok_District Kolok]&lt;br /&gt;
| {{coord|6.011982|101.957120|scale:500|name=Kolok Montessori}}&lt;br /&gt;
| 96-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/mumtaz/ Mumtaz Montessori]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Narathiwat_district Mueang Narathiwat], [https://en.wikipedia.org/wiki/Bang_Nak_Narathiwat Bang Nak]&lt;br /&gt;
| {{coord|6.410058|101.823495|scale:500|name=Mumtaz Montessori}}&lt;br /&gt;
| 96-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://www.narashire.com/ Narashire Montessori]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Narathiwat_district Mueang Narathiwat], [https://en.wikipedia.org/wiki/Bang_Nak_Narathiwat Bang Nak]&lt;br /&gt;
| {{coord|6.408965|101.822695|scale:500|name=Narashire Montessori}}&lt;br /&gt;
| 96-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nong_Bua_Lamphu_Province Nong Bua Lamphu Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดหนองบัวลำภู จังหวัดหนองบัวลำภู]&lt;br /&gt;
!colspan=1  | 39&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 39-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nong_Khai_province Nong Khai Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดหนองคาย จังหวัดหนองคาย]&lt;br /&gt;
!colspan=1  | 43&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ffff2a&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/little-tree-huggers/ &#039;&#039;&#039;Little Tree Huggers&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| I2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khai_Bok_Wan Pho Chai], [https://en.wikipedia.org/wiki/Mueang_Nong_Khai_district Mueang Nong Khai]&lt;br /&gt;
| {{coord|17.859180|102.754560|scale:500|name=Little Tree Huggers}}&lt;br /&gt;
| 43-002&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://montessori-international.com/s/sirakan/ Sirakan Montessori School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khai_Bok_Wan Khai Bok Wan], [https://en.wikipedia.org/wiki/Mueang_Nong_Khai_district Mueang Nong Khai]&lt;br /&gt;
| {{coord|17.765984|102.753785|scale:500|name=Sirakan Montessori School}}&lt;br /&gt;
| 43-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Nonthaburi_province Nonthaburi Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดนนทบุรี จังหวัดนนทบุรี]&lt;br /&gt;
!colspan=1  | 11&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Nonthaburi 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 11-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Nonthaburi 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 11-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/dymontessori/ &#039;&#039;&#039;Discovery Years Montessori Int&#039;l Learning&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sano_Loi Sano Loi], [https://en.wikipedia.org/wiki/Bang_Bua_Thong_district Bang Bua Thong]&lt;br /&gt;
| {{coord|13.911384|100.427565|scale:500|name=Discovery Years Montessori Int&#039;l Learning}}&lt;br /&gt;
| 11-003 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/westgate/ &#039;&#039;&#039;Westgate Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| I1&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM AL&lt;br /&gt;
| THA ATL&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sao_Thong_Hin Sao Thong Hin], [https://en.wikipedia.org/wiki/Bang_Yai_District Bang Yai District]&lt;br /&gt;
| {{coord|13.911384|100.427565|scale:500|name=Westgate Montessori}}&lt;br /&gt;
| 11-004 [[File:Yellow-red pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Pathum_Thani_province Pathum Thani Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดปทุมธานี จังหวัดปทุมธาน]&lt;br /&gt;
!colspan=1  | 12&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://sathitpathum.ac.th/ Sathitpathum Demonstration School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Bang_Khu_Rat Bang Khu Wat], [https://en.wikipedia.org/wiki/Mueang_Pathum_Thani_district Mueang Pathum Thani]&lt;br /&gt;
| {{coord|13.960377|100.517597}}&lt;br /&gt;
| 12-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Pattani_province Pattani Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดปัตตานี จังหวัดปัตตานี]&lt;br /&gt;
!colspan=1  | 94&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/montessori-house-pattani/ &#039;&#039;&#039;Montessori House Pattani&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chabangtoki Chabangtoki], [https://en.wikipedia.org/wiki/Mueang_Pattani_district Mueang Pattani]&lt;br /&gt;
| {{coord|6.855006|101.255205|scale:500|name=Montessori House Pattani}}&lt;br /&gt;
| 94-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phang_Nga_province Phang Nga Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดพังงา จังหวัดพังงา]&lt;br /&gt;
!colspan=1  | 82&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/khaolak/ &#039;&#039;&#039;Christian Montessori Preschool&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khuekkhak Khuekkhak], [https://en.wikipedia.org/wiki/Takua_Pa_district Takua Pa]&lt;br /&gt;
| {{coord|8.712005|98.258604|scale:500|name=Christian Montessori Preschool}}&lt;br /&gt;
| 82-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;[https://yaowawit.org/ Yaowawit School]&#039;&#039;&#039;&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mao_district Mao], [https://en.wikipedia.org/wiki/Kapong_district Kapong]&lt;br /&gt;
| {{coord|8.689991|98.390644|scale:500|name=Yaowawit School}}&lt;br /&gt;
| 82-002 [[File:Red-green-blue dot.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phatthalung_province Phatthalung Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดพัทลุง จังหวัดพัทลุง]&lt;br /&gt;
!colspan=1  | 93&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99eeff&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/pattalung/ &#039;&#039;&#039;Phattalung Christian School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khuha_Sawan,_Bangkok Khuha Sawan], [https://en.wikipedia.org/wiki/Mueang_Phatthalung_district Mueang Phatthalung]&lt;br /&gt;
| {{coord|7.604676|100.055091|scale:500|name=Phattalung Christian School}}&lt;br /&gt;
| 93-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phayao_Province Phayao Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดพะเยา จังหวัดพะเยา]&lt;br /&gt;
!colspan=1  | 56&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 56-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phetchabun_Province Phetchabun Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดเพชรบูรณ์ จังหวัดเพชรบูรณ]&lt;br /&gt;
!colspan=1  | 67&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 67-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phetchaburi_Province Phetchaburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดเพชรบุรี จังหวัดเพชรบุร]&lt;br /&gt;
!colspan=1  | 76&lt;br /&gt;
!colspan=1  | W&lt;br /&gt;
!colspan=2  | Western&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 76-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phichit_Province Phichit Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดพิจิตร จังหวัดพิจิตร]&lt;br /&gt;
!colspan=1  | 66&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 66-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phitsanulok_Province Phitsanulok Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดพิษณุโลก จังหวัดพิษณุโลก]&lt;br /&gt;
!colspan=1  | 65&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 65-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phra_Nakhon_Si_Ayutthaya_Province Phra Nakhon Si Ayutthaya Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดพระนครศรีอยุธยา จังหวัดพระนครศรีอยุธยา]&lt;br /&gt;
!colspan=1  | 13&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 13-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phrae_Province Phrae Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดแพร่ จังหวัดแพร]&lt;br /&gt;
!colspan=1  | 54&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 5&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-005 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Phrae 6&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 54-006 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Phuket_province Phuket Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดภูเก็ต จังหวัดภูเก็ต]&lt;br /&gt;
!colspan=1  | 83&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFDB58&amp;quot;&lt;br /&gt;
| [https://www.bebalancednaturally.com/soul &#039;&#039;&#039;Balanced Naturally (S.O.U.L.)&#039;&#039;&#039;]&lt;br /&gt;
| L&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM EK&lt;br /&gt;
| OWN ECO&lt;br /&gt;
| EN&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.783342|98.321229|scale:500|name=S.O.U.L}}&lt;br /&gt;
| 83-006 [[File:Purple 8000ff pog.svg|14px|123]]&lt;br /&gt;
| SW&lt;br /&gt;
| n.a.&lt;br /&gt;
| reg: Learning Center&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://www.greenhousephuket.ac.th/ &#039;&#039;&#039;Greenhouse Phuket Kindergarten (GHP)&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Choeng_Thale Choeng Thale], [https://en.wikipedia.org/wiki/Thalang_district Thalang]&lt;br /&gt;
| {{coord|7.991131|98.316058|scale:500|name=Greenhouse Phuket Kindergarten}}&lt;br /&gt;
| 83-007 [[File:Red ff0000 pog.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
|[https://www.greenhousephuket.ac.th/_files/ugd/36a7af_3a0837d1a9f84484829ae6967a7abbf0.pdf 117,000 117:K]&lt;br /&gt;
| reg: Kindergarten K1-K3&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/imct/ International Montessori Charter and Training Homeschool (IMCT)]&lt;br /&gt;
| H&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| I2&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M3&lt;br /&gt;
| -&lt;br /&gt;
| MM DE CZ&lt;br /&gt;
| THA [https://montessori.org.au/montessori-national-curriculum AUS MON] ERD&lt;br /&gt;
| EN TH DE&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.794517|98.333287|scale:500|name=UpSchool}}&lt;br /&gt;
| 83-002 [[File:Gfi-set01-archaeology.png|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
| &#039;&#039;&#039;2008-2010&#039;&#039;&#039; Closed. Now UpSchool Phuket&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-thailand.com &#039;&#039;&#039;Montessori House International School Phuket (MHP)&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| USA BOS BAN&lt;br /&gt;
| EN TH&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chalong, Phuket Chalong], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.844902|98.340615|scale:500|name=MHP}}&lt;br /&gt;
| 83-005 [[File:Red-blue dot.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| [https://static1.squarespace.com/static/5de9dce10977476a2932834e/t/6451e5c021ba466696bdf251/1683088833846/School+Fees+2023+-+2024.pdf 380,000 315:K1 395:P1 430:P4]&lt;br /&gt;
| reg: Intl. School K1-P6&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#EED0D0&amp;quot;&lt;br /&gt;
| Montessori International Kindergarten Tree&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| I1&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| MON&lt;br /&gt;
| RU EN&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.923057|98.380415|scale:500|name=MIKT}}&lt;br /&gt;
| 83-012 [[File:Black pog x.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| n.a.&lt;br /&gt;
| Not Registered until now&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#EED0D0&amp;quot;&lt;br /&gt;
| Montessori School of Phuket&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| I1&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| MON&lt;br /&gt;
| RU EN&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Boat_Plaza Boat Plaza], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.791289|98.329011|scale:500|name=MSOP}}&lt;br /&gt;
| 83-011 [[File:Black pog x.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| n.a.&lt;br /&gt;
| Not Registered until now&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://phuketmontessori.school &#039;&#039;&#039;Rainbow Montessori International Kindergarten (RMP)&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| I6&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| [https://montessori.org.au/montessori-national-curriculum AUS MON] ATL&lt;br /&gt;
| EN TH RU CN DE FR&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Vichit Vichit], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.870149|98.362539|scale:500|name=Rainbow Montessori Phuket}}&lt;br /&gt;
| 83-009 [[File:Yellow-red pog.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| [https://phuketmontessori.school/school-fee/ 221,000 221:IT 221:K1]&lt;br /&gt;
| reg: Toddler 1y-3y, Kindergarten K1-K3&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
| [https://web.archive.org/web/20040603202457/http://www.montessori-thailand.com/progressive-school.htm Rawai Progressive International Montessori School (RPIS)]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| MON AUS&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.800820|98.335805|scale:500|name=Rawai Progressive International Montessori School}}&lt;br /&gt;
| 83-001 [[File:Gfi-set01-archaeology.png|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| [https://web.archive.org/web/20120626145831/http://www.montessori-thailand.com/pdf/Fees2012-2013-1.pdf 259,000 (2012) 206:K 277:P1 293:P4]&lt;br /&gt;
| &#039;&#039;&#039;1996-2012&#039;&#039;&#039; Closed. Moved and Renamed Montessori House Phuket&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.rism.ac.th/mou-ris-phuket/ &#039;&#039;&#039;Ruamrudee International School (RIS)&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| Ca&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM ER&lt;br /&gt;
| THA EMR&lt;br /&gt;
| EN TH DE&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chalong, Phuket Chalong], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.839844|98.366701|scale:500|name=Ruamrudee International School}}&lt;br /&gt;
| 83-010 [[File:Red-blue dot.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| n.a.&lt;br /&gt;
| Reg: RIS Bangkok International School K1-M6, (near HiTel-Palai)&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
| [https://satit.pkru.ac.th Satit Rajabhat University School (PKRU)]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA MON&lt;br /&gt;
| TH&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.908845|98.387954|scale:500|name=Satit Rajabhat University School}}&lt;br /&gt;
| 83-003 [[File:Gfi-set01-archaeology.png|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| n.a.&lt;br /&gt;
| &#039;&#039;&#039;2006-2012&#039;&#039;&#039; - now no more Montessori&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#D6FF6D&amp;quot;&lt;br /&gt;
| [https://upschoolphuket.com &#039;&#039;&#039;UpSchool Phuket (UN-/Homeschool) (USP)&#039;&#039;&#039;]&lt;br /&gt;
| H&lt;br /&gt;
| C&lt;br /&gt;
| -&lt;br /&gt;
| I0&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M3&lt;br /&gt;
| M6&lt;br /&gt;
| MM UP EK&lt;br /&gt;
| THA [https://montessori.org.au/montessori-national-curriculum AUS MON] ERD&lt;br /&gt;
| EN TH DE&lt;br /&gt;
| ADHD LD&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rawai Rawai], [https://en.wikipedia.org/wiki/Mueang_Phuket_district Mueang Phuket]&lt;br /&gt;
| {{coord|7.794517|98.333287|scale:500|name=UpSchool}}&lt;br /&gt;
| 83-008 [[File:Black pog x.svg|14px|]]&lt;br /&gt;
| SW&lt;br /&gt;
| Thai Homeschool receives funds. FREE&lt;br /&gt;
| Reg: Homeschool, Community worldwide&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Prachinburi_Province Prachinburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดปราจีนบุรี จังหวัดปราจีนบุรี]&lt;br /&gt;
!colspan=1  | 25&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 25-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Prachuap_Khiri_Khan_province Prachuap Khiri Khan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดประจวบคีรีขันธ์ จังหวัดประจวบคีรีขันธ์]&lt;br /&gt;
!colspan=1  | 77&lt;br /&gt;
!colspan=1  | W&lt;br /&gt;
!colspan=2  | Western&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFDB58&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/smartkidshuahin/ &#039;&#039;&#039;SmartKids Nursery Hua Hin&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Hua_Hin_district Hua Hin]&lt;br /&gt;
| {{coord|12.540558|99.950648|scale:500|name=SmartKids Nursery Hua Hin}}&lt;br /&gt;
| 77-001 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Ranong_Province Ranong Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดระนอง จังหวัดระนอง]&lt;br /&gt;
!colspan=1  | 85&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 85-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Ratchaburi_province Ratchaburi Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดราชบุรี จังหวัดราชบุรี]&lt;br /&gt;
!colspan=1  | 70&lt;br /&gt;
!colspan=1  | W&lt;br /&gt;
!colspan=2  | Western&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Ratchaburi 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 70-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Ratchaburi 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 70-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Ratchaburi 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 70-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Ratchaburi 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 70-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Ratchaburi 5&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 70-005 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.nrv.ac.th/ &#039;&#039;&#039;Naree Wittaya School&#039;&#039;&#039;] - [[St Marys Convent Chapel|St. Mary Convent]]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| Ca&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Na_Mueang,_Mueang_Ratchaburi Na Mueang], [https://en.wikipedia.org/wiki/Mueang_Ratchaburi_district Mueang Ratchaburi]&lt;br /&gt;
| {{coord|13.535192|99.821723|scale:500|name=Naree Wittaya School}}&lt;br /&gt;
| 70-006 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Rayong_Province Rayong Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดระยอง จังหวัดระยอง]&lt;br /&gt;
!colspan=1  | 21&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Rayong 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 21-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Roi_Et_Province Roi Et Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดร้อยเอ็ด จังหวัดร้อยเอ็ด]&lt;br /&gt;
!colspan=1  | 45&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Roi Et 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 45-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Roi Et 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 45-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/nongwaeng/ &#039;&#039;&#039;Ban Nong Waeng School - โรงเรียนบ้านหนองแวง&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| Ev&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nong_Kaeo_Subdistrict Nong Kaeo], [https://en.wikipedia.org/wiki/Mueang_Roi_Et_District Roi Et]&lt;br /&gt;
| {{coord|15.948437|103.650132|scale:500|name=Mahachai Ban Nong Waeng School}}&lt;br /&gt;
| 45-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [https://www.mcs.education/ &#039;&#039;&#039;Chumchon Ban Khok Thom, Phi Sit Phitthayakhan&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| Ev&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Bua_Deng_Subdistrict Bua Deng], [https://en.wikipedia.org/wiki/Pathum_Rat_District Pathum Rat]&lt;br /&gt;
| {{coord|15.638841|103.370264|scale:500|name=Chumchon Ban Khok Thom, Phi Sit Phitthayakhan}}&lt;br /&gt;
| 45-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Sa_Kaeo_Province Sa Kaeo Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดร้อยเอ็ด จังหวัดร้อยเอ็ด]&lt;br /&gt;
!colspan=1  | 27&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Sa Kaeo 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 27-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Sa Kaeo 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 27-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Sakon_Nakhon_Province Sakon Nakhon Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสกลนคร จังหวัดสกลนคร]&lt;br /&gt;
!colspan=1  | 47&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 47-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Samut_Prakan_Province Samut Prakan Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสมุทรปราการ จังหวัดสมุทรปราการ]&lt;br /&gt;
!colspan=1  | 10&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Cental&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Samut Prakan 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 10-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Samut Prakan 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Samut Prakan 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 10-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Samut_Sakhon_Province Samut Sakhon Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสมุทรสาคร จังหวัดสมุทรสาคร]&lt;br /&gt;
!colspan=1  | 74&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Cental&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Samut Sakhon 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 74-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Samut Sakhon 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 74-002[[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.mcs.education/ &#039;&#039;&#039;Mahachai Christian Wittaya School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| Ev&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mahachai_Subdistrict Mahachai], [https://en.wikipedia.org/wiki/Samut_Sakhon_District Samut Sakhon]&lt;br /&gt;
| {{coord|13.551789|100.273153|scale:500|name=Mahachai Christian Wittaya School}}&lt;br /&gt;
| 74-003 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Samut_Songkhram_Province Samut Songkhram Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสมุทรสงคราม จังหวัดสมุทรสงคราม]&lt;br /&gt;
!colspan=1  | 75&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Cental&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 75-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Saraburi_Province Saraburi Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสระบุรี จังหวัดสระบุรี]&lt;br /&gt;
!colspan=1  | 18&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Cental&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Saraburi 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 18-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Saraburi 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 18-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Saraburi 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 18-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.jwmontessori.com/adolescent.html &#039;&#039;&#039;John Wyatt Montessori Adolescent Farm School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| M3&lt;br /&gt;
| M6&lt;br /&gt;
| MM&lt;br /&gt;
| INT ERD&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nongdon Nongdon]&lt;br /&gt;
| {{coord|14.686579|100.717584|scale:500|name=John Wyatt Montessori Adolescent Farm School}}&lt;br /&gt;
| 18-004 [[File:Red steel pog.png|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.jwmontessori.com/ &#039;&#039;&#039;John Wyatt Montessori International School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| M3&lt;br /&gt;
| M6&lt;br /&gt;
| MM&lt;br /&gt;
| INT ERD&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Nongdon Nongdon]&lt;br /&gt;
| {{coord|14.685166|100.708001|scale:500|name=John Wyatt Montessori International School}}&lt;br /&gt;
| 18-005 [[File:Red-green-blue dot.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Satun_Province Satun Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสตูล จังหวัดสตูล]&lt;br /&gt;
!colspan=1  | 91&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Satun 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 91-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Satun 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 91-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Sing_Buri_Province Sing Buri Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสิงห์บุรี จังหวัดสิงห์บุร]&lt;br /&gt;
!colspan=1  | 16&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Sing Buri 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 16-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Sing Buri 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 16-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Sisaket_Province Sisaket Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดศรีสะเกษ จังหวัดศรีสะเกษ]&lt;br /&gt;
!colspan=1  | 33&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 33-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Songkhla_province Songkla Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสงขลา จังหวัดสงขลา]&lt;br /&gt;
!colspan=1  | 90&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/hatyai/ &#039;&#039;&#039;About Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Hat_Yai_district Hat Yai]&lt;br /&gt;
| {{coord|6.988838|100.426572|scale:500|name=About Montessori}}&lt;br /&gt;
| 90-001 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/hatyai-christian-montessori/ &#039;&#039;&#039;Hatyai Christian Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Hat_Yai Hat Yai], [https://en.wikipedia.org/wiki/Mueang_Hat_Yai Mueang Hat Yai]&lt;br /&gt;
| {{coord|7.017325|100.494984|scale:500|name=Hatyai Christian Montessori}}&lt;br /&gt;
| 90-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://www.srinakarin.ac.th/ &#039;&#039;&#039;Srinagarinda Wittayanukroh School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khlong_San_district Khlong Sai], [https://en.wikipedia.org/wiki/Na_Thawi_district Na Thawi]&lt;br /&gt;
| {{coord|6.746726|100.662951|scale:500|name=Srinagarinda Wittayanukroh School}}&lt;br /&gt;
| 90-003 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/suthrak/ &#039;&#039;&#039;Suthrak Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chana_district Chana], [https://en.wikipedia.org/wiki/Hat_Yai_district Hat Yai]&lt;br /&gt;
| {{coord|6.911028|100.737918|scale:500|name=Suthrak Montessori School}}&lt;br /&gt;
| 90-004 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://wondervalleyhatyai.com/ &#039;&#039;&#039;Wonder Valley Hat Yai&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Phatong_district Phatong], [https://en.wikipedia.org/wiki/Hat_Yai_district Hat Yai]&lt;br /&gt;
| {{coord|9.318426|99.689330|scale:500|name=Wonder Valley}}&lt;br /&gt;
| 90-005 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Sukhothai_Province Sukhothai Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสุโขทัย จังหวัดสุโขทัย]&lt;br /&gt;
!colspan=1  | 64&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Sukhothai 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 64-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Suphan_Buri_Province Suphan Buri Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสุพรรณบุรี จังหวัดสุพรรณบุรี]&lt;br /&gt;
!colspan=1  | 72&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Suphan Buri 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 72-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Suphan Buri 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 72-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Suphan Buri 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 72-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Surat_Thani_province Surat Thani Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสุราษฎร์ธานี จังหวัดสุราษฎร์ธาน]&lt;br /&gt;
!colspan=1  | 84&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Surat Thani 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 84-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/chuleekorn/ &#039;&#039;&#039;Anuban Chuleekorn Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Don_Sak_district Donsak], [https://en.wikipedia.org/wiki/Mueang_Surat_Thani_district Mueang Surat Thani]&lt;br /&gt;
| {{coord|9.318426|99.689330|scale:500|name=Anuban Chuleekorn Montessori School}}&lt;br /&gt;
| 84-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [https://web.archive.org/web/20121115032904/http://www.samuimontessori.com/ Samui Montessori]&lt;br /&gt;
| X&lt;br /&gt;
| I&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| EN TH&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Chaweng_Noi Chaweng Noi], [https://en.wikipedia.org/wiki/Ko_Samui Koh Samui]&lt;br /&gt;
| {{coord|9.503625|100.023900|scale:500|name=Samui Montessori}}&lt;br /&gt;
| 84-003 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| -&lt;br /&gt;
| &#039;&#039;&#039;2008-2016&#039;&#039;&#039; [https://web.archive.org/web/20160413093932/http://www.samuimontessori.com/blog/ School closed]&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/surat/about &#039;&#039;&#039;Surat Montessori Preschool&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Thung_Kong_district Thung Kong], [https://en.wikipedia.org/wiki/Kanchanadit_district Kanchanadit]&lt;br /&gt;
| {{coord|9.145649|99.372983|scale:500|name=Surat Montessori Preschool}}&lt;br /&gt;
| 84-004 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Surin_Province Surin Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดสุรินทร์ จังหวัดสุรินทร]&lt;br /&gt;
!colspan=1  | 32&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Surin 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 32-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Surin 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 32-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Surin 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 33-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Tak_Province Tak Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดตาก จังหวัดตาก]&lt;br /&gt;
!colspan=1  | 63&lt;br /&gt;
!colspan=1  | W&lt;br /&gt;
!colspan=2  | Western&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Tak 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 63-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| W&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Trang_province Trang Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดตรัง จังหวัดตรัง]&lt;br /&gt;
!colspan=1  | 92&lt;br /&gt;
!colspan=1  | SW&lt;br /&gt;
!colspan=2  | Southern West Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Trang 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 92-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.trinitytrang.com/ &#039;&#039;&#039;Trinity Montessori Bilingual School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Khuan_Khun_Kalase Khuan Khu Kalase], [https://en.wikipedia.org/wiki/Sikao_district Sikao]&lt;br /&gt;
| {{coord|7.740591|99.323765|scale:500|name=Ban Na Muen School}}&lt;br /&gt;
| 92-002 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SW&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Trat_Province Trat Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดตราด จังหวัดตราด]&lt;br /&gt;
!colspan=1  | 23&lt;br /&gt;
!colspan=1  | E&lt;br /&gt;
!colspan=2  | Eastern&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 23-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Ubon_Ratchathani_province Ubon Ratchathani Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดอุบลราชธานี จังหวัดอุบลราชธาน]&lt;br /&gt;
!colspan=1  | 34&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| [http://bannamuen.ac.th/ &#039;&#039;&#039;Ban Na Muen School - โรงเรียนบ้านนามึน&#039;&#039;&#039;]&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Rai_Noi Rai Noi], [https://en.wikipedia.org/wiki/Mueang_Ubon_Ratchathani_district Mueang Ubon Ratchathani]&lt;br /&gt;
| {{coord|15.333277|104.929399|scale:500|name=Ban Na Muen School}}&lt;br /&gt;
| 34-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/panwarin/ &#039;&#039;&#039;Panwarin Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Saen_Suk_district Saen Suk], [https://en.wikipedia.org/wiki/Warin_Chamrap_district Warin Chamrap]&lt;br /&gt;
| {{coord|15.176828|104.860086|scale:500|name=Panwarin Montessori}}&lt;br /&gt;
| 34-002 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/piamsook/ &#039;&#039;&#039;Piamsook Montessori School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Ubon_Ratchathani_district Mueang Ubon Ratchathani]&lt;br /&gt;
| {{coord|15.246638|104.835101|scale:500|name=Piamsook Montessori School}}&lt;br /&gt;
| 34-003 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Udon_Thani_province Udon Thani Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดอุดรธานี จังหวัดอุดรธาน]&lt;br /&gt;
!colspan=1  | 41&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Udon Thani 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 41-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Udon Thani 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 41-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Udon Thani 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 41-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Udon Thani 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 41-005 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/udon/ &#039;&#039;&#039;Udon Montessori&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mu_Mon_district Mu Mon], [https://en.wikipedia.org/wiki/Mueang_Udon_Thani_district Mueang Udon Thani]&lt;br /&gt;
| {{coord|17.453219|102.791667|scale:500|name=Udon Montessori}}&lt;br /&gt;
| 41-006 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFFF2A&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/udonsensory/ &#039;&#039;&#039;Udon Sensory School&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Mueang_Udon_Thani_district Mueang Udon Thani]&lt;br /&gt;
| {{coord|17.366964|102.761191|scale:500|name=Udon Sensory School}}&lt;br /&gt;
| 41-007 [[File:Red ff0000 pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Uthai_Thani_Province Uthai Thani Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/ยกจังหวัด ยกจังหวัด]&lt;br /&gt;
!colspan=1  | 61&lt;br /&gt;
!colspan=1  | CE&lt;br /&gt;
!colspan=2  | Central&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Uthai Thani 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 61-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Uthai Thani 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 61-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| CE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Uttaradit_Province Uttaradit Province] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดอุตรดิตถ์ จังหวัดอุตรดิตถ์]&lt;br /&gt;
!colspan=1  | 53&lt;br /&gt;
!colspan=1  | N&lt;br /&gt;
!colspan=2  | Northern&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| School Name with Link&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 53-000 [[File:Black pog-sized x.svg|20px]]&lt;br /&gt;
| N&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Yala_province Yala Province ] - โรงเรียนใน [https://th.wikipedia.org/wiki/จังหวัดยะลา จังหวัดยะลา]&lt;br /&gt;
!colspan=1  | 95&lt;br /&gt;
!colspan=1  | SE&lt;br /&gt;
!colspan=2  | Southern East Coast&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yala 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 95-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yala 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 95-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yala 3&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 95-003 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yala 4&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 95-004 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://www.yalamontessori.com/ &#039;&#039;&#039;Montessori House of Sateng&#039;&#039;&#039;]&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sateng Sateng], [https://en.wikipedia.org/wiki/Mueang_Yala district Mueang Yala]&lt;br /&gt;
| {{coord|6.539285|101.266990|scale:500|name=Montessori House of Sateng}}&lt;br /&gt;
| 95-005 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#99EEFF&amp;quot;&lt;br /&gt;
| [https://montessori-international.com/s/montessori-junior-yala/ &#039;&#039;&#039;Montessori Junior Yala&#039;&#039;&#039;] (Islamic Montessori Centre Yala)&lt;br /&gt;
| X&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| P6&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
| -&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Sateng Sateng], [https://en.wikipedia.org/wiki/Mueang_Yala district Mueang Yala]&lt;br /&gt;
| {{coord|6.565914|101.291891|scale:500|name=Montessori Junior Yala}}&lt;br /&gt;
| 95-006 [[File:Red-blue dot.svg|20px]]&lt;br /&gt;
| SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;&amp;quot;&lt;br /&gt;
!colspan=15 | Schools in [https://en.wikipedia.org/wiki/Yasothon_Province Yasothon Province] - โรงเรียนใน[https://th.wikipedia.org/wiki/จังหวัดยโสธร จังหวัดยโสธร]&lt;br /&gt;
!colspan=1  | 35&lt;br /&gt;
!colspan=1  | NE&lt;br /&gt;
!colspan=2  | North-Eastern - Isan&lt;br /&gt;
&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yasothon 1&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 35-001 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|- bgcolor=&amp;quot;#FFF&amp;quot;&lt;br /&gt;
| Yasothon 2&lt;br /&gt;
| P&lt;br /&gt;
| T&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| K3&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| MM&lt;br /&gt;
| THA&lt;br /&gt;
| TH EN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 35-002 [[File:Green_00ff00_pog.svg|20px]]&lt;br /&gt;
| NE&lt;br /&gt;
| FREE&lt;br /&gt;
|&lt;br /&gt;
|}{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Map of Montessori Schools in Thailand ==&lt;br /&gt;
This map is showing the local spread of Montessori Schools in Thailand.&lt;br /&gt;
&lt;br /&gt;
{{Location map many | Thailand&lt;br /&gt;
| width       = 1920&lt;br /&gt;
| float       = left&lt;br /&gt;
| border      =&lt;br /&gt;
| caption     = Locations of Montessori Schools in Thailand&lt;br /&gt;
| alt         = Locations of Montessori Schools in Thailand&lt;br /&gt;
| relief      =&lt;br /&gt;
| AlternativeMap =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10001 label/marker--&amp;gt;&lt;br /&gt;
| label10001      = 10001 Amnuay Silpa Dhonburi - Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/amnuaysilpadhonburi/about Amnuay Silpa Dhonburi - Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10001_size = 90&lt;br /&gt;
| label10001_width= 25&lt;br /&gt;
| position10001   = left&lt;br /&gt;
| background10001 = #fff&lt;br /&gt;
| mark10001       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark10001size   = 20&lt;br /&gt;
| link10001       = https://www.amnuaysilpa.ac.th/&lt;br /&gt;
| coordinates10001= {{coord|13.709326|100.392536}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100020 label/marker--&amp;gt;&lt;br /&gt;
| mark100020       = Red-blue dot.svg&lt;br /&gt;
| mark100020size   = 12&lt;br /&gt;
| link100020       = https://www.amnuaysilpa.ac.th/&lt;br /&gt;
| coordinates100020= {{coord|13.760721|100.527568}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10002 label/marker--&amp;gt;&lt;br /&gt;
| label10002      = 10002 Amnuay Silpa School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/amnuaysilpa/about Amnuay Silpa School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10002_size = 90&lt;br /&gt;
| label10002_width= 25&lt;br /&gt;
| position10002   = left&lt;br /&gt;
| background10002 = #fff&lt;br /&gt;
| mark10002       = Circle_red_blink.gif&lt;br /&gt;
| mark10002size   = 25&lt;br /&gt;
| link10002       = https://www.amnuaysilpa.ac.th/&lt;br /&gt;
| coordinates10002= {{coord|13.760721|100.527568}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100030 label/marker--&amp;gt;&lt;br /&gt;
| mark100030       = Red-blue dot.svg&lt;br /&gt;
| mark100030size   = 12&lt;br /&gt;
| link100030       = https://montessori-international.com/s/anantaa/&lt;br /&gt;
| coordinates100030= {{coord|13.848327|100.808539}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10003 label/marker--&amp;gt;&lt;br /&gt;
| label10003      = 10003 Anantaa School - โรงเรียนอนันตา&amp;lt;ref&amp;gt;[https://montessori-international.com/s/anantaa/about Anantaa School - โรงเรียนอนันตา &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10003_size = 90&lt;br /&gt;
| label10003_width= 25&lt;br /&gt;
| position10003   = left&lt;br /&gt;
| background10003 = #fff&lt;br /&gt;
| mark10003       = Circle_red_blink.gif&lt;br /&gt;
| mark10003size   = 25&lt;br /&gt;
| link10003       = https://montessori-international.com/s/anantaa/&lt;br /&gt;
| coordinates10003= {{coord|13.848327|100.808539}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100040 label/marker--&amp;gt;&lt;br /&gt;
| mark100040       = Red ff0000 pog.svg&lt;br /&gt;
| mark100040size   = 12&lt;br /&gt;
| link100040       = https://www.baantonmai.ac.th/&lt;br /&gt;
| coordinates100040= {{coord|13.792298|100.583961}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10004 label/marker--&amp;gt;&lt;br /&gt;
| label10004      = 10004 Baantonmai Trilingual Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/baantomai/about Baantonmai Trilingual Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10004_size = 90&lt;br /&gt;
| label10004_width= 25&lt;br /&gt;
| position10004   = top&lt;br /&gt;
| background10004 = #fff&lt;br /&gt;
| mark10004       = Circle_red_blink.gif&lt;br /&gt;
| mark10004size   = 25&lt;br /&gt;
| link10004       = https://www.baantonmai.ac.th/&lt;br /&gt;
| coordinates10004= {{coord|13.792298|100.583961}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100050 label/marker--&amp;gt;&lt;br /&gt;
| mark100050       = Red ff0000 pog.svg&lt;br /&gt;
| mark100050size   = 12&lt;br /&gt;
| link100050       = https://www.baanwadfun.ac.th/&lt;br /&gt;
| coordinates100050= {{coord|13.827838|100.598701}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10005 label/marker--&amp;gt;&lt;br /&gt;
| label10005      = 10005 Baanwadfun Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/baanwadfun/about Baanwadfun Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10005_size = 90&lt;br /&gt;
| label10005_width= 25&lt;br /&gt;
| position10005   = right&lt;br /&gt;
| background10005 = #fff&lt;br /&gt;
| mark10005       = Circle_red_blink.gif&lt;br /&gt;
| mark10005size   = 25&lt;br /&gt;
| link10005       = https://www.baanwadfun.ac.th/&lt;br /&gt;
| coordinates10005= {{coord|13.827838|100.598701}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100060 label/marker--&amp;gt;&lt;br /&gt;
| mark100060       = Red ff0000 pog.svg&lt;br /&gt;
| mark100060size   = 12&lt;br /&gt;
| link100060       =https://cbischool.com/&lt;br /&gt;
| coordinates100060= {{coord|13.707374|100.535278}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10006 label/marker--&amp;gt;&lt;br /&gt;
| label10006      = 10006 Casa Bambino International Preschooll&amp;lt;ref&amp;gt;[https://montessori-international.com/s/cbischool/about Casa Bambino International Preschool &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10006_size = 90&lt;br /&gt;
| label10006_width= 25&lt;br /&gt;
| position10006   = top&lt;br /&gt;
| background10006 = #fff&lt;br /&gt;
| mark10006       = Circle_red_blink.gif&lt;br /&gt;
| mark10006size   = 25&lt;br /&gt;
| link10006       = https://cbischool.com/&lt;br /&gt;
| coordinates10006= {{coord|13.707374|100.535278}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100070 label/marker--&amp;gt;&lt;br /&gt;
| mark100070       = Red ff0000 pog.svg&lt;br /&gt;
| mark100070size   = 12&lt;br /&gt;
| link100070       = https://www.eis.ac.th/&lt;br /&gt;
| coordinates100070= {{coord|13.730842|100.592255}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10007 label/marker--&amp;gt;&lt;br /&gt;
| label10007      = 10007 Ekamai International School - Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/eis/about Ekamai International School - Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10007_size = 90&lt;br /&gt;
| label10007_width= 25&lt;br /&gt;
| position10007   = left&lt;br /&gt;
| background10007 = #fff&lt;br /&gt;
| mark10007       = Circle_red_blink.gif&lt;br /&gt;
| mark10007size   = 25&lt;br /&gt;
| link10007       = https://www.eis.ac.th/&lt;br /&gt;
| coordinates10007= {{coord|13.730842|100.592255}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100080 label/marker--&amp;gt;&lt;br /&gt;
| mark100080       = Red ff0000 pog.svg&lt;br /&gt;
| mark100080size   = 12&lt;br /&gt;
| link100080       = http://www.gisschool.org/&lt;br /&gt;
| coordinates100080= {{coord|13.969501|100.527410}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10008 label/marker--&amp;gt;&lt;br /&gt;
| label10008      = 10008 &#039;Global Indian International School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/gisschool/about &#039;Global Indian International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10008_size = 90&lt;br /&gt;
| label10008_width= 25&lt;br /&gt;
| position10008   = right&lt;br /&gt;
| background10008 = #fff&lt;br /&gt;
| mark10008       = Circle_red_blink.gif&lt;br /&gt;
| mark10008size   = 25&lt;br /&gt;
| link10008       = http://www.gisschool.org/&lt;br /&gt;
| coordinates10008= {{coord|13.969501|100.527410}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100090 label/marker--&amp;gt;&lt;br /&gt;
| mark100090       = Red ff0000 pog.svg&lt;br /&gt;
| mark100090size   = 12&lt;br /&gt;
| link100090       = https://imc.ac.th/&lt;br /&gt;
| coordinates100090= {{coord|13.753568|100.676138}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10009 label/marker--&amp;gt;&lt;br /&gt;
| label10009      = 10009 International Montessori Center&amp;lt;ref&amp;gt;[https://montessori-international.com/s/imcenter/about International Montessori Center &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10009_size = 90&lt;br /&gt;
| label10009_width= 25&lt;br /&gt;
| position10009   = left&lt;br /&gt;
| background10009 = #fff&lt;br /&gt;
| mark10009       = Circle_red_blink.gif&lt;br /&gt;
| mark10009size   = 25&lt;br /&gt;
| link10009       = https://imc.ac.th/&lt;br /&gt;
| coordinates10009= {{coord|13.753568|100.676138}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100100 label/marker--&amp;gt;&lt;br /&gt;
| mark100100       = Red ff0000 pog.svg&lt;br /&gt;
| mark100100size   = 12&lt;br /&gt;
| link100100       =https://www.imc.ac.th/preschool&lt;br /&gt;
| coordinates100100= {{coord|13.781593|100.721694}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10010 label/marker--&amp;gt;&lt;br /&gt;
| label10010      = 10010 International Montessori Preschool&amp;lt;ref&amp;gt;[https://montessori-international.com/s/imcpre/about International Montessori Preschool &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10010_size = 90&lt;br /&gt;
| label10010_width= 25&lt;br /&gt;
| position10010   = right&lt;br /&gt;
| background10010 = #fff&lt;br /&gt;
| mark10010       = Circle_red_blink.gif&lt;br /&gt;
| mark10010size   = 25&lt;br /&gt;
| link10010       = https://www.imc.ac.th/preschool&lt;br /&gt;
| coordinates10010= {{coord|13.781593|100.721694}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100110 label/marker--&amp;gt;&lt;br /&gt;
| mark100110       = Red-blue dot.svg&lt;br /&gt;
| mark100110size   = 12&lt;br /&gt;
| link100110       = https://www.jwmontessori.com/&lt;br /&gt;
| coordinates100110= {{coord|13.821493|100.568546}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10011 label/marker--&amp;gt;&lt;br /&gt;
| label10011      = 10011 John Wyatt Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/jwmontessori/about John Wyatt Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10011_size = 90&lt;br /&gt;
| label10011_width= 25&lt;br /&gt;
| position10011   = top&lt;br /&gt;
| background10011 = #fff&lt;br /&gt;
| mark10011       = Circle_red_blink.gif&lt;br /&gt;
| mark10011size   = 25&lt;br /&gt;
| link10011       = https://www.jwmontessori.com/&lt;br /&gt;
| coordinates10011= {{coord|13.821493|100.568546}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100120 label/marker--&amp;gt;&lt;br /&gt;
| mark100120       = Red-blue dot.svg&lt;br /&gt;
| mark100120size   = 12&lt;br /&gt;
| link100120       = https://www.jwmontessori.com/&lt;br /&gt;
| coordinates100120= {{coord|14.685022|100.708017}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10012 label/marker--&amp;gt;&lt;br /&gt;
| label10012      = 10012 John Wyatt Montessori International School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/johnwyatt/about John Wyatt Montessori International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10012_size = 90&lt;br /&gt;
| label10012_width= 25&lt;br /&gt;
| position10012   = left&lt;br /&gt;
| background10012 = #fff&lt;br /&gt;
| mark10012       = Circle_red_blink.gif&lt;br /&gt;
| mark10012size   = 25&lt;br /&gt;
| link10012       = https://www.jwmontessori.com/&lt;br /&gt;
| coordinates10012= {{coord|14.685022|100.708017}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100130 label/marker--&amp;gt;&lt;br /&gt;
| mark100130       = Red-blue dot.svg&lt;br /&gt;
| mark100130size   = 12&lt;br /&gt;
| link100130       = https://www.kornkaew.com/&lt;br /&gt;
| coordinates100130= {{coord|13.787378|100.528518}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10013 label/marker--&amp;gt;&lt;br /&gt;
| label10013      = 10013 Kornkaew Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/kornkeaw/about Kornkaew Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10013_size = 90&lt;br /&gt;
| label10013_width= 25&lt;br /&gt;
| position10013   = left&lt;br /&gt;
| background10013 = #fff&lt;br /&gt;
| mark10013       = Circle_red_blink.gif&lt;br /&gt;
| mark10013size   = 25&lt;br /&gt;
| link10013       = https://www.kornkaew.com/&lt;br /&gt;
| coordinates10013= {{coord|13.787378|100.528518}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10014 label/marker--&amp;gt;&lt;br /&gt;
| label10014      = 10014 Modern Montessori International Pre-School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mmipreschool/about Modern Montessori International Pre-School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10014_size = 90&lt;br /&gt;
| label10014_width= 25&lt;br /&gt;
| position10014   = right&lt;br /&gt;
| background10014 = #fff&lt;br /&gt;
| mark10014       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark10014size   = 20&lt;br /&gt;
| link10014       = https://www.mmipreschool.com/&lt;br /&gt;
| coordinates10014= {{coord|13.716557|100.588933}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100150 label/marker--&amp;gt;&lt;br /&gt;
| mark100150       = Red-blue dot.svg&lt;br /&gt;
| mark100150size   = 12&lt;br /&gt;
| link100150       = https://www.montessoribkk.com/&lt;br /&gt;
| coordinates100150= {{coord|13.666526|100.637377}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10015 label/marker--&amp;gt;&lt;br /&gt;
| label10015      = 10015 Montessori Academy Bangkok Intl. School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mabis/about Montessori Academy Bangkok Intl. School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10015_size = 90&lt;br /&gt;
| label10015_width= 25&lt;br /&gt;
| position10015   = left&lt;br /&gt;
| background10015 = #fff&lt;br /&gt;
| mark10015       = Circle_red_blink.gif&lt;br /&gt;
| mark10015size   = 25&lt;br /&gt;
| link10015       = https://www.montessoribkk.com/&lt;br /&gt;
| coordinates10015= {{coord|13.666526|100.637377}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100160 label/marker--&amp;gt;&lt;br /&gt;
| mark100160       = Red-blue dot.svg&lt;br /&gt;
| mark100160size   = 12&lt;br /&gt;
| link100160       = https://montessori-international.com/s/playandlearn/&lt;br /&gt;
| coordinates100160= {{coord|13.724642|100.667128}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10016 label/marker--&amp;gt;&lt;br /&gt;
| label10016      = 10016 Montessori Play and Learn&amp;lt;ref&amp;gt;[https://montessori-international.com/s/playandlearn/about Montessori Play and Learn &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10016_size = 90&lt;br /&gt;
| label10016_width= 25&lt;br /&gt;
| position10016   = right&lt;br /&gt;
| background10016 = #fff&lt;br /&gt;
| mark10016       = Circle_red_blink.gif&lt;br /&gt;
| mark10016size   = 25&lt;br /&gt;
| link10016       = https://montessori-international.com/s/playandlearn/&lt;br /&gt;
| coordinates10016= {{coord|13.724642|100.667128}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100170 label/marker--&amp;gt;&lt;br /&gt;
| mark100170       = Red ff0000 pog.svg&lt;br /&gt;
| mark100170size   = 12&lt;br /&gt;
| link100170       = https://www.prep.ac.th/&lt;br /&gt;
| coordinates100170= {{coord|13.731413|100.595972}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10017 label/marker--&amp;gt;&lt;br /&gt;
| label10017      = 10017 Prep International Kindergarten, Ladprao 88&amp;lt;ref&amp;gt;[https://montessori-international.com/s/ladprao88/about Prep International Kindergarten, Ladprao 88 &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10017_size = 90&lt;br /&gt;
| label10017_width= 25&lt;br /&gt;
| position10017   = top&lt;br /&gt;
| background10017 = #fff&lt;br /&gt;
| mark10017       = Circle_red_blink.gif&lt;br /&gt;
| mark10017size   = 25&lt;br /&gt;
| link10017       =https://www.prep.ac.th/&lt;br /&gt;
| coordinates10017= {{coord|13.731413|100.595972}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100180 label/marker--&amp;gt;&lt;br /&gt;
| mark100180       = Red-blue dot.svg&lt;br /&gt;
| mark100180size   = 12&lt;br /&gt;
| link100180       = https://www.pmr.ac.th/&lt;br /&gt;
| coordinates100180= {{coord|13.704714|100.526125}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10018 label/marker--&amp;gt;&lt;br /&gt;
| label10018      = 10018 Phramae Mary Sathon Schoo&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pmr/about Phramae Mary Sathon Schoo &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10018_size = 90&lt;br /&gt;
| label10018_width= 25&lt;br /&gt;
| position10018   = bottom&lt;br /&gt;
| background10018 = #fff&lt;br /&gt;
| mark10018       = Circle_red_blink.gif&lt;br /&gt;
| mark10018size   = 25&lt;br /&gt;
| link10018       = https://www.pmr.ac.th/&lt;br /&gt;
| coordinates10018= {{coord|13.704714|100.5261259}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100190 label/marker--&amp;gt;&lt;br /&gt;
| mark100190       = Red-blue dot.svg&lt;br /&gt;
| mark100190size   = 12&lt;br /&gt;
| link100190       = https://plearnmontessori.com/&lt;br /&gt;
| coordinates100190= {{coord|13.771580|100.344232}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10019 label/marker--&amp;gt;&lt;br /&gt;
| label10019      = 10019 Plearn Montessori Early Learning &amp;amp; Childcare&amp;lt;ref&amp;gt;[https://montessori-international.com/s/plearn/about Plearn Montessori Early Learning &amp;amp; Childcare &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10019_size = 90&lt;br /&gt;
| label10019_width= 25&lt;br /&gt;
| position10019   = left&lt;br /&gt;
| background10019 = #fff&lt;br /&gt;
| mark10019       = Circle_red_blink.gif&lt;br /&gt;
| mark10019size   = 25&lt;br /&gt;
| link10019       = https://plearnmontessori.com/&lt;br /&gt;
| coordinates10019= {{coord|13.771580|100.344232}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100200 label/marker--&amp;gt;&lt;br /&gt;
| mark100200       = Red-blue dot.svg&lt;br /&gt;
| mark100200size   = 12&lt;br /&gt;
| link100200       = http://pongsuwan.org/&lt;br /&gt;
| coordinates100200= {{coord|13.927927|100.657262}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10020 label/marker--&amp;gt;&lt;br /&gt;
| label10020      = 10020 Pongsuwan Wittaya Sai Mai School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pongsuwan/about Pongsuwan Wittaya Sai Mai School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10020_size = 90&lt;br /&gt;
| label10020_width= 25&lt;br /&gt;
| position10020   = left&lt;br /&gt;
| background10020 = #fff&lt;br /&gt;
| mark10020       = Circle_red_blink.gif&lt;br /&gt;
| mark10020size   = 25&lt;br /&gt;
| link10020       = http://pongsuwan.org/&lt;br /&gt;
| coordinates10020= {{coord|13.927927|100.657262}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100210 label/marker--&amp;gt;&lt;br /&gt;
| mark100210       = Red ff0000 pog.svg&lt;br /&gt;
| mark100210size   = 12&lt;br /&gt;
| link100210       = https://prep.ac.th/&lt;br /&gt;
| coordinates100210= {{coord|13.789213|100.584193}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10021 label/marker--&amp;gt;&lt;br /&gt;
| label10021      = 10021 Prep International Kindergarten, Sutthisan&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sutthisan/about Prep International Kindergarten, Sutthisan &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10021_size = 90&lt;br /&gt;
| label10021_width= 25&lt;br /&gt;
| position10021   = bottom&lt;br /&gt;
| background10021 = #fff&lt;br /&gt;
| mark10021       = Circle_red_blink.gif&lt;br /&gt;
| mark10021size   = 25&lt;br /&gt;
| link10021       = https://prep.ac.th/&lt;br /&gt;
| coordinates10021= {{coord|13.789213|100.584193}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100220 label/marker--&amp;gt;&lt;br /&gt;
| mark100220       = Red-blue dot.svg&lt;br /&gt;
| mark100220size   = 12&lt;br /&gt;
| link100220       = https://www.montessorisukhumvit71.com/&lt;br /&gt;
| coordinates100220= {{coord|13.731558|100.595961}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10022 label/marker--&amp;gt;&lt;br /&gt;
| label10022      = 10022 Montessori Sukhumvit 71 School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sukhumvit71/about Montessori Sukhumvit 71 School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10022_size = 90&lt;br /&gt;
| label10022_width= 25&lt;br /&gt;
| position10022   = left&lt;br /&gt;
| background10022 = #fff&lt;br /&gt;
| mark10022       = Circle_red_blink.gif&lt;br /&gt;
| mark10022size   = 25&lt;br /&gt;
| link10022       = https://www.montessorisukhumvit71.com/&lt;br /&gt;
| coordinates10022= {{coord|13.731558|100.595961}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100230 label/marker--&amp;gt;&lt;br /&gt;
| mark100230       = Red-blue dot.svg&lt;br /&gt;
| mark100230size   = 12&lt;br /&gt;
| link100230       = https://www.sombunwit.ac.th/&lt;br /&gt;
| coordinates100230= {{coord|13.731558|100.5959618}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10023 label/marker--&amp;gt;&lt;br /&gt;
| label10023      = 10023 Sombunwit Trilingual School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sombunwit/about Sombunwit Trilingual School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10023_size = 90&lt;br /&gt;
| label10023_width= 25&lt;br /&gt;
| position10023   = left&lt;br /&gt;
| background10023 = #fff&lt;br /&gt;
| mark10023       = Circle_red_blink.gif&lt;br /&gt;
| mark10023size   = 25&lt;br /&gt;
| link10023       = https://www.sombunwit.ac.th/&lt;br /&gt;
| coordinates10023= {{coord|13.731558|100.5959618}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100240 label/marker--&amp;gt;&lt;br /&gt;
| mark100240       = Red-blue dot.svg&lt;br /&gt;
| mark100240size   = 12&lt;br /&gt;
| link100240       = https://montessori-international.com/s/sunshinebkk/&lt;br /&gt;
| coordinates100240= {{coord|13.774477|00.678509}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10024 label/marker--&amp;gt;&lt;br /&gt;
| label10024      = 10024 Sunshine Montessori Nursery&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sunshinebkk/about Sunshine Montessori Nursery &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10024_size = 90&lt;br /&gt;
| label10024_width= 25&lt;br /&gt;
| position10024   = bottom&lt;br /&gt;
| background10024 = #fff&lt;br /&gt;
| mark10024       = Circle_red_blink.gif&lt;br /&gt;
| mark10024size   = 25&lt;br /&gt;
| link10024       = https://montessori-international.com/s/sunshinebkk/&lt;br /&gt;
| coordinates10024= {{coord|13.774477|00.678509}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--100250 label/marker--&amp;gt;&lt;br /&gt;
| mark100250       = Red-blue dot.svg&lt;br /&gt;
| mark100250size   = 12&lt;br /&gt;
| link100250       = https://yuvavit.ac.th/&lt;br /&gt;
| coordinates100250= {{coord|13.777515|100.507084}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--10025 label/marker--&amp;gt;&lt;br /&gt;
| label10025      = 10025 Yuwamit Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/yuwamit/about Yuwamit Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label10025_size = 90&lt;br /&gt;
| label10025_width= 25&lt;br /&gt;
| position10025   = left&lt;br /&gt;
| background10025 = #fff&lt;br /&gt;
| mark10025       = Circle_red_blink.gif&lt;br /&gt;
| mark10025size   = 25&lt;br /&gt;
| link10025       = https://yuvavit.ac.th/&lt;br /&gt;
| coordinates10025= {{coord|13.777515|100.507084}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--110030 label/marker--&amp;gt;&lt;br /&gt;
| mark110030       = Red-blue dot.svg&lt;br /&gt;
| mark110030size   = 12&lt;br /&gt;
| link110030       = https://montessori-international.com/s/dymontessori/&lt;br /&gt;
| coordinates110030= {{coord|13.911742|100.427545}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--11003 label/marker--&amp;gt;&lt;br /&gt;
| label11003      = 11003 Discovery Years Montessori International Learning&amp;lt;ref&amp;gt;[https://montessori-international.com/s/dymontessori/about] Discovery Years Montessori International Learning About Page seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label11003_size = 100&lt;br /&gt;
| label11003_width= 14&lt;br /&gt;
| position11003   = right&lt;br /&gt;
| background11003 = #ffffff&lt;br /&gt;
| mark11003       = Circle_red_blink.gif&lt;br /&gt;
| mark11003size   = 25&lt;br /&gt;
| link11003       = https://montessori-international.com/s/dymontessori/&lt;br /&gt;
| coordinates11003={{coord|13.911742|100.427545}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--110040 label/marker--&amp;gt;&lt;br /&gt;
| mark110040       = Red-blue dot.svg&lt;br /&gt;
| mark110040size   = 12&lt;br /&gt;
| link110040       = https://montessori-international.com/s/westgate/&lt;br /&gt;
| coordinates110040= {{coord|13.881076|100.404311}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--11004 label/marker--&amp;gt;&lt;br /&gt;
| label11004      = 11004 Westgate Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/westgate/about] Westgate Montessori &amp;quot;About&amp;quot; page seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label11004_size = 100&lt;br /&gt;
| label11004_width= 12&lt;br /&gt;
| position11004   = left&lt;br /&gt;
| background11004 = #ffffff&lt;br /&gt;
| mark11004       = Circle red blink.gif&lt;br /&gt;
| mark11004size   = 25&lt;br /&gt;
| link11004       = https://montessori-international.com/s/westgate/&lt;br /&gt;
| coordinates11004= {{coord|13.881076|100.404311}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--1200010 label/marker--&amp;gt;&lt;br /&gt;
| mark120010       = Red-blue dot.svg&lt;br /&gt;
| mark120010size   = 12&lt;br /&gt;
| link120010       = https://sathitpathum.ac.th/&lt;br /&gt;
| coordinates120010= {{coord|13.960377|100.517597}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--12001 label/marker--&amp;gt;&lt;br /&gt;
| label12001      = Sathitpathum Demonstration School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sathitpathum/about Sathitpathum Demonstration School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label12001_size = 90&lt;br /&gt;
| label12001_width= 25&lt;br /&gt;
| position12001   = right&lt;br /&gt;
| background12001 = #FFF&lt;br /&gt;
| mark12001       = Circle_red_blink.gif&lt;br /&gt;
| mark12001size   = 25&lt;br /&gt;
| link12001       = https://sathitpathum.ac.th/&lt;br /&gt;
| coordinates12001= {{coord|13.960377|100.517597}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--180010 label/marker--&amp;gt;&lt;br /&gt;
| mark180010       = Red-blue dot.svg&lt;br /&gt;
| mark180010size   = 12&lt;br /&gt;
| link180010       = https://www.jwmontessori.com/adolescent.html&lt;br /&gt;
| coordinates180010= {{coord|14.686579|100.717584}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--18001 label/marker--&amp;gt;&lt;br /&gt;
| label18001      = 18001 John Wyatt Montessori Adolescent Farm School Lae&amp;lt;ref&amp;gt;[https://montessori-international.com/s/jwmfarm/about John Wyatt Montessori Adolescent Farm School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label18001_size = 90&lt;br /&gt;
| label18001_width= 25&lt;br /&gt;
| position18001   = left&lt;br /&gt;
| background18001 = #ffffff&lt;br /&gt;
| mark18001       = Circle_red_blink.gif&lt;br /&gt;
| mark18001size   = 25&lt;br /&gt;
| link18001       = https://www.jwmontessori.com/adolescent.html&lt;br /&gt;
| coordinates18001= {{coord|14.686579|100.717584}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--180020 label/marker--&amp;gt;&lt;br /&gt;
| mark180020       = Red-blue dot.svg&lt;br /&gt;
| mark180020size   = 12&lt;br /&gt;
| link180020       = https://www.jwmontessori.com/&lt;br /&gt;
| coordinates180020= {{coord|12.948374|100.949503}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--18002 label/marker--&amp;gt;&lt;br /&gt;
| label18002      = 18002 John Wyatt Montessori International School Rung&amp;lt;ref&amp;gt;[https://montessori-international.com/s/jwmis/about John Wyatt Montessori International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--200020 label/marker--&amp;gt;&lt;br /&gt;
| label200020      = &#039;&#039;&#039;1990-2011 MCCI Montessori Children Center International&#039;&#039;&#039;&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mcci/about Montessori Children Center International &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label200020_size = 90&lt;br /&gt;
| label200020_width= 50&lt;br /&gt;
| position200020   = top&lt;br /&gt;
| background200020 = white&lt;br /&gt;
| mark200020       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark200020size   = 20&lt;br /&gt;
| link200020       = https://www.oocities.org/mcciptty/&lt;br /&gt;
| coordinates200020= {{coord|12.964463|100.884411}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--200030 label/marker--&amp;gt;&lt;br /&gt;
| mark200030       = Red ff0000 pog.svg&lt;br /&gt;
| mark200030size   = 12&lt;br /&gt;
| link200030       = http://www.mis.ac.th/&lt;br /&gt;
| coordinates200030= {{coord|12.948374|100.949503}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--20003 label/marker--&amp;gt;&lt;br /&gt;
| label20003      = Mooltripakdee International School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mis/about Mooltripakdee International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label20003_size = 90&lt;br /&gt;
| label20003_width= 50&lt;br /&gt;
| position20003   = right&lt;br /&gt;
| background20003 = white&lt;br /&gt;
| mark20003       = Circle_red_blink.gif&lt;br /&gt;
| mark20003size   = 25&lt;br /&gt;
| link20003       = http://www.mis.ac.th/&lt;br /&gt;
| coordinates20003= {{coord|12.948374|100.949503}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--200040 label/marker--&amp;gt;&lt;br /&gt;
| mark200040       = Red-blue dot.svg&lt;br /&gt;
| mark200040size   = 12&lt;br /&gt;
| link200040       = https://montessori-international.com/s/wonderyears/&lt;br /&gt;
| coordinates200040= {{coord|13.147237|100.962322}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--20004 label/marker--&amp;gt;&lt;br /&gt;
| label20004      = Wonder Years Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wonderyears/about Wonder Years Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label20004_size = 90&lt;br /&gt;
| label20004_width= 50&lt;br /&gt;
| position20004   = right&lt;br /&gt;
| background20004 = white&lt;br /&gt;
| mark20004       = Circle_red_blink.gif&lt;br /&gt;
| mark20004size   = 25&lt;br /&gt;
| link20004       = https://montessori-international.com/s/banrongkhilek/&lt;br /&gt;
| coordinates20004= {{coord|13.147237|100.962322}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--310050 label/marker--&amp;gt;&lt;br /&gt;
| mark310050       = Yellow-red pog.svg&lt;br /&gt;
| mark310050size   = 12&lt;br /&gt;
| link310050       = https://montessori-international.com/s/dhammapatsorn/about&lt;br /&gt;
| coordinates310050= {{coord|14.988264|103.113713}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--31005 label/marker--&amp;gt;&lt;br /&gt;
| label31005      = 31005 DPS Dhammapatsorn School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/dhammapatsorn/about Dhammapatsorn School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label31005_size = 90&lt;br /&gt;
| label31005_width= 25&lt;br /&gt;
| position31005   = left&lt;br /&gt;
| background31005 = #ffffff&lt;br /&gt;
| mark31005       = Circle_red_blink.gif&lt;br /&gt;
| mark31005size   = 25&lt;br /&gt;
| link31005       = https://montessori-international.com/s/dhammapatsorn/about&lt;br /&gt;
| coordinates31005= {{coord|14.988264|103.113713}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--340010 label/marker--&amp;gt;&lt;br /&gt;
| mark340010       = Green 00ff00 pog.svg&lt;br /&gt;
| mark340010size   = 12&lt;br /&gt;
| link340010       = http://bannamuen.ac.th/&lt;br /&gt;
| coordinates340010= {{coord|15.333277|104.929399}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--34001 label/marker--&amp;gt;&lt;br /&gt;
| label34001      = 34001 Ban Na Muen School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/namuen/about Ban Na Muen School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label34001_size = 90&lt;br /&gt;
| label34001_width= 25&lt;br /&gt;
| position34001   = left&lt;br /&gt;
| background34001 = #ffffff&lt;br /&gt;
| mark34001       = Circle_green_blink.gif&lt;br /&gt;
| mark34001size   = 25&lt;br /&gt;
| link34001       = http://bannamuen.ac.th/&lt;br /&gt;
| coordinates34001= {{coord|15.333277|104.929399}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--340020 label/marker--&amp;gt;&lt;br /&gt;
| mark340020       = Green 00ff00 pog.svg&lt;br /&gt;
| mark340020size   = 12&lt;br /&gt;
| link340020       = https://montessori-international.com/s/panwarin/&lt;br /&gt;
| coordinates340020= {{coord|15.176828|104.860086}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--34002 label/marker--&amp;gt;&lt;br /&gt;
| label34002      = 34002 Panwarin Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/panwarin/about Panwarin Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label34002_size = 90&lt;br /&gt;
| label34002_width= 25&lt;br /&gt;
| position34002   = left&lt;br /&gt;
| background34002 = #ffffff&lt;br /&gt;
| mark34002       = Circle_green_blink.gif&lt;br /&gt;
| mark34002size   = 25&lt;br /&gt;
| link34002       = https://montessori-international.com/s/panwarin/&lt;br /&gt;
| coordinates34002= {{coord|15.176828|104.860086}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--340030 label/marker--&amp;gt;&lt;br /&gt;
| mark340030       = Green 00ff00 pog.svg&lt;br /&gt;
| mark340030size   = 12&lt;br /&gt;
| link340030       = https://montessori-international.com/s/piamsook/&lt;br /&gt;
| coordinates340030= {{coord|15.246638|104.835101}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--34003 label/marker--&amp;gt;&lt;br /&gt;
| label34003      =  34003 Piamsook Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/piamsook/about Piamsook Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label34003_size = 90&lt;br /&gt;
| label34003_width= 25&lt;br /&gt;
| position34003   = left&lt;br /&gt;
| background34003 = #ffffff&lt;br /&gt;
| mark34003       = Circle_green_blink.gif&lt;br /&gt;
| mark34003size   = 25&lt;br /&gt;
| link34003       = https://montessori-international.com/s/piamsook/&lt;br /&gt;
| coordinates34003= {{coord|15.246638|104.835101}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--380010 label/marker--&amp;gt;&lt;br /&gt;
| mark380010       = Red-blue dot.svg&lt;br /&gt;
| mark380010size   = 12&lt;br /&gt;
| link380010       = https://www.koratmontessori.com/&lt;br /&gt;
| coordinates380010= {{coord|14.954057|102.060614}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--38001 label/marker--&amp;gt;&lt;br /&gt;
| label38001      = 38001 Korat Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/korat/about Korat Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label38001_size = 90&lt;br /&gt;
| label38001_width= 25&lt;br /&gt;
| position38001   = left&lt;br /&gt;
| background38001 = #ffffff&lt;br /&gt;
| mark38001       = Circle_red_blink.gif&lt;br /&gt;
| mark38001size   = 25&lt;br /&gt;
| link38001       = https://www.koratmontessori.com/&lt;br /&gt;
| coordinates38001= {{coord|14.954057|102.060614}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--380020 label/marker--&amp;gt;&lt;br /&gt;
| mark380020       = Red-blue dot.svg&lt;br /&gt;
| mark380020size   = 12&lt;br /&gt;
| link380020       = https://morimorimontessori.com/&lt;br /&gt;
| coordinates380020= {{coord|14.965152|102.049983}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--38002 label/marker--&amp;gt;&lt;br /&gt;
| label38002      = 38002 Mori Mori Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/morimori/about Mori Mori Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label38002_size = 90&lt;br /&gt;
| label38002_width= 25&lt;br /&gt;
| position38002   = left&lt;br /&gt;
| background38002 = #ffffff&lt;br /&gt;
| mark38002       = Circle_red_blink.gif&lt;br /&gt;
| mark38002size   = 25&lt;br /&gt;
| link38002       = https://morimorimontessori.com/&lt;br /&gt;
| coordinates38002= {{coord|14.965152|102.049983}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--380030 label/marker--&amp;gt;&lt;br /&gt;
| mark380030       = Red-blue dot.svg&lt;br /&gt;
| mark380030size   = 12&lt;br /&gt;
| link380030       = https://montessori-international.com/s/will/&lt;br /&gt;
| coordinates380030= {{coord|14.967351|102.059418}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--38003 label/marker--&amp;gt;&lt;br /&gt;
| label38003      =  38003 Will Montessori Korat&amp;lt;ref&amp;gt;[https://montessori-international.com/s/will/about Will Montessori Korat &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label38003_size = 90&lt;br /&gt;
| label38003_width= 25&lt;br /&gt;
| position38003   = left&lt;br /&gt;
| background38003 = #ffffff&lt;br /&gt;
| mark38003       = Circle_red_blink.gif&lt;br /&gt;
| mark38003size   = 25&lt;br /&gt;
| link38003       = https://montessori-international.com/s/will/&lt;br /&gt;
| coordinates38003= {{coord|14.967351|102.059418}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--400590 label/marker--&amp;gt;&lt;br /&gt;
| mark400590       = Green 00ff00 pog.svg&lt;br /&gt;
| mark400590size   = 12&lt;br /&gt;
| link400590       = https://data.bopp-obec.info/web/index_view.php?School_ID=1040051067&amp;amp;page=info&lt;br /&gt;
| coordinates400590= {{coord|16.213880|102.760704}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--40059 label/marker--&amp;gt;&lt;br /&gt;
| label40059      = 40059 Ban Nong Hai Kham Pia School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nonghai/about Ban Nong Hai Kham Pia School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label40059_size = 90&lt;br /&gt;
| label40059_width= 25&lt;br /&gt;
| position40059   = left&lt;br /&gt;
| background40059 = #ffffff&lt;br /&gt;
| mark40059       = Circle_green_blink.gif&lt;br /&gt;
| mark40059size   = 25&lt;br /&gt;
| link40059       = https://data.bopp-obec.info/web/index_view.php?School_ID=1040051067&amp;amp;page=info&lt;br /&gt;
| coordinates40059= {{coord|16.213880|102.760704}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--400600 label/marker--&amp;gt;&lt;br /&gt;
| mark400600       = Red-blue dot.svg&lt;br /&gt;
| mark400600size   = 12&lt;br /&gt;
| link400600       = https://montessori-international.com/s/casadebamboo/&lt;br /&gt;
| coordinates400600= {{coord|16.448236|102.776771}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--40060 label/marker--&amp;gt;&lt;br /&gt;
| label40060      = 40060 CaSa De Bamboo Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/casadebamboo/about CaSa De Bamboo Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label40060_size = 90&lt;br /&gt;
| label40060_width= 25&lt;br /&gt;
| position40060   = top&lt;br /&gt;
| background40060 = #ffffff&lt;br /&gt;
| mark40060       = Circle_red_blink.gif&lt;br /&gt;
| mark40060size   = 25&lt;br /&gt;
| link40060       = https://montessori-international.com/s/casadebamboo/&lt;br /&gt;
| coordinates40060= {{coord|16.448236|102.776771}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--400610 label/marker--&amp;gt;&lt;br /&gt;
| mark400610       = Red-blue dot.svg&lt;br /&gt;
| mark400610size   = 12&lt;br /&gt;
| link400610       = https://www.ratchutschool.com/&lt;br /&gt;
| coordinates400610= {{coord|16.068349|102.678338}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--40061 label/marker--&amp;gt;&lt;br /&gt;
| label40061      = 40061 Ratchut School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/ratchut/about Ratchut School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label40061_size = 90&lt;br /&gt;
| label40061_width= 25&lt;br /&gt;
| position40061   = left&lt;br /&gt;
| background40061 = #ffffff&lt;br /&gt;
| mark40061       = Circle_red_blink.gif&lt;br /&gt;
| mark40061size   = 25&lt;br /&gt;
| link40061       = https://www.ratchutschool.com/&lt;br /&gt;
| coordinates40061= {{coord|16.068349|102.678338}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--400620 label/marker--&amp;gt;&lt;br /&gt;
| mark400620       = Red-blue dot.svg&lt;br /&gt;
| mark400620size   = 12&lt;br /&gt;
| link400620       = https://www.suansonschool.com/&lt;br /&gt;
| coordinates400620= {{coord|16.413089|102.833064}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--40062 label/marker--&amp;gt;&lt;br /&gt;
| label40062      = 40062 Suanson Khonkaen School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/suanson/about Suanson Khonkaen School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label40062_size = 90&lt;br /&gt;
| label40062_width= 25&lt;br /&gt;
| position40062   = right&lt;br /&gt;
| background40062 = #ffffff&lt;br /&gt;
| mark40062       = Circle_red_blink.gif&lt;br /&gt;
| mark40062size   = 25&lt;br /&gt;
| link40062       = https://www.suansonschool.com/&lt;br /&gt;
| coordinates40062= {{coord|16.413089|102.833064}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--400630 label/marker--&amp;gt;&lt;br /&gt;
| mark400630       = Red-blue dot.svg&lt;br /&gt;
| mark400630size   = 12&lt;br /&gt;
| link400630       = https://montessori-international.com/s/agapekk/&lt;br /&gt;
| coordinates400630= {{coord|16.422539|102.855422}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--40063 label/marker--&amp;gt;&lt;br /&gt;
| label40063      = 40063 Unrak Khon Kaen School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/agapekk/about Unrak Khon Kaen School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label40063_size = 90&lt;br /&gt;
| label40063_width= 25&lt;br /&gt;
| position40063   = left&lt;br /&gt;
| background40063 = #ffffff&lt;br /&gt;
| mark40063       = Circle_red_blink.gif&lt;br /&gt;
| mark40063size   = 25&lt;br /&gt;
| link40063       = https://montessori-international.com/s/agapekk/&lt;br /&gt;
| coordinates40063= {{coord|16.422539|102.855422}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--410030 label/marker--&amp;gt;&lt;br /&gt;
| mark410030       = Red-blue dot.svg&lt;br /&gt;
| mark410030size   = 12&lt;br /&gt;
| link410030       = https://montessori-international.com/s/udon/&lt;br /&gt;
| coordinates410030= {{coord|17.453219|102.791667}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--41003 label/marker--&amp;gt;&lt;br /&gt;
| label41003      = 41001 Udon Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/udonsensory/about Udon Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label41003_size = 90&lt;br /&gt;
| label41003_width= 25&lt;br /&gt;
| position41003   = left&lt;br /&gt;
| background41003 = #ffffff&lt;br /&gt;
| mark41003       = Circle_red_blink.gif&lt;br /&gt;
| mark41003size   = 25&lt;br /&gt;
| link41003       = https://montessori-international.com/s/udon/&lt;br /&gt;
| coordinates41003= {{coord|17.453219|102.791667}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--410050 label/marker--&amp;gt;&lt;br /&gt;
| mark410050       = Yellow-red pog.svg&lt;br /&gt;
| mark410050size   = 12&lt;br /&gt;
| link410050       = https://montessori-international.com/s/udonsensory/&lt;br /&gt;
| coordinates410050= {{coord|17.366964|102.761191}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--41005 label/marker--&amp;gt;&lt;br /&gt;
| label41005      = 41005 Udon Sensory  School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/udonsensory/about Udon Sensory School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label41005_size = 90&lt;br /&gt;
| label41005_width= 25&lt;br /&gt;
| position41005   = left&lt;br /&gt;
| background41005 = #ffffff&lt;br /&gt;
| mark41005       = Circle_red_blink.gif&lt;br /&gt;
| mark41005size   = 25&lt;br /&gt;
| link41005       = https://montessori-international.com/s/udonsensory/&lt;br /&gt;
| coordinates41005= {{coord|15.948437|103.650132}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--420010 label/marker--&amp;gt;&lt;br /&gt;
| mark420010       = Red ff0000 pog.svg&lt;br /&gt;
| mark420010size   = 12&lt;br /&gt;
| link420010       = https://loeimontessori.wordpress.com/&lt;br /&gt;
| coordinates420010= {{coord|17.495288|101.695906}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--42001 label/marker--&amp;gt;&lt;br /&gt;
| label42001      = 42001 Loei Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/loei/about Loei Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label42001_size = 90&lt;br /&gt;
| label42001_width= 25&lt;br /&gt;
| position42001   = left&lt;br /&gt;
| background42001 = #ffffff&lt;br /&gt;
| mark42001       = Circle_red_blink.gif&lt;br /&gt;
| mark42001size   = 25&lt;br /&gt;
| link42001       = https://loeimontessori.wordpress.com/&lt;br /&gt;
| coordinates42001= {{coord|17.495288|101.695906}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--430010 label/marker--&amp;gt;&lt;br /&gt;
| mark430010       = Red ff0000 pog.svg&lt;br /&gt;
| mark430010size   = 12&lt;br /&gt;
| link430010       = https://montessori-international.com/s/little-tree-huggers/&lt;br /&gt;
| coordinates430010= {{coord|17.859180|102.754560}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--43001 label/marker--&amp;gt;&lt;br /&gt;
| label43001      = 43001 Little Tree Huggers&amp;lt;ref&amp;gt;[https://montessori-international.com/s/little-tree-huggers/about Little Tree Huggers &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label43001_size = 90&lt;br /&gt;
| label43001_width= 25&lt;br /&gt;
| position43001   = left&lt;br /&gt;
| background43001 = #ffffff&lt;br /&gt;
| mark43001       = Circle_red_blink.gif&lt;br /&gt;
| mark43001size   = 25&lt;br /&gt;
| link43001       = https://montessori-international.com/s/little-tree-huggers/&lt;br /&gt;
| coordinates43001= {{coord|17.859180|102.754560}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--430020 label/marker--&amp;gt;&lt;br /&gt;
| mark430020       = Yellow-red pog.svg&lt;br /&gt;
| mark430020size   = 12&lt;br /&gt;
| link430020       = https://montessori-international.com/s/sirakan/&lt;br /&gt;
| coordinates430020= {{coord|17.765984|102.753785}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--43002 label/marker--&amp;gt;&lt;br /&gt;
| label43002      = 43002 Sirakan Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sirakan/about Sirakan Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label43002_size = 90&lt;br /&gt;
| label43002_width= 50&lt;br /&gt;
| position43002   = left&lt;br /&gt;
| background43002 = #ffffff&lt;br /&gt;
| mark43002       = Circle_red_blink.gif&lt;br /&gt;
| mark43002size   = 25&lt;br /&gt;
| link43002       = https://montessori-international.com/s/sirakan/&lt;br /&gt;
| coordinates43002= {{coord|17.765984|102.753785}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--450010 label/marker--&amp;gt;&lt;br /&gt;
| mark450010       = Green 00ff00 pog.svg&lt;br /&gt;
| mark450010size   = 12&lt;br /&gt;
| link450010       = https://montessori-international.com/s/nongwaeng/&lt;br /&gt;
| coordinates450010= {{coord|15.948437|103.650132}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--45001 label/marker--&amp;gt;&lt;br /&gt;
| label45001      = 45001 Ban Nong Waeng School School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nongwaeng/about Ban Nong Waeng School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label45001_size = 90&lt;br /&gt;
| label45001_width= 25&lt;br /&gt;
| position45001   = left&lt;br /&gt;
| background45001 = #ffffff&lt;br /&gt;
| mark45001       = Circle_green_blink.gif&lt;br /&gt;
| mark45001size   = 25&lt;br /&gt;
| link45001       = https://montessori-international.com/s/nongwaeng/&lt;br /&gt;
| coordinates45001= {{coord|15.638841|103.370264}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--450020 label/marker--&amp;gt;&lt;br /&gt;
| mark450020       = Green 00ff00 pog.svg&lt;br /&gt;
| mark450020size   = 12&lt;br /&gt;
| link450020       = https://www.mcs.education/&lt;br /&gt;
| coordinates450020= {{coord|15.638841|103.370264}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--45002 label/marker--&amp;gt;&lt;br /&gt;
| label45002      = 45002 Chumchon Ban Khok Thom, Phi Sit Phitthayakhan Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/phisit/about Chumchon Ban Khok Thom, Phi Sit Phitthayakhan &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label45002_size = 90&lt;br /&gt;
| label45002_width= 50&lt;br /&gt;
| position45002   = left&lt;br /&gt;
| background45002 = #ffffff&lt;br /&gt;
| mark45002       = Circle_green_blink.gif&lt;br /&gt;
| mark45002size   = 25&lt;br /&gt;
| link45002       = https://www.mcs.education/&lt;br /&gt;
| coordinates45002= {{coord|15.176828|104.860086}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--460010 label/marker--&amp;gt;&lt;br /&gt;
| mark460010       = Red-blue dot.svg&lt;br /&gt;
| mark460010size   = 12&lt;br /&gt;
| link460010       = https://kalasin.montessorithailand.org&lt;br /&gt;
| coordinates460010= {{coord|16.452911|103.530024}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--46001 label/marker--&amp;gt;&lt;br /&gt;
| label46001      = 46001 Kalasin Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/kalasin/about Kalasin Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label46001_size = 90&lt;br /&gt;
| label46001_width= 25&lt;br /&gt;
| position46001   = right&lt;br /&gt;
| background46001 = #ffffff&lt;br /&gt;
| mark46001       = Circle_red_blink.gif&lt;br /&gt;
| mark46001size   = 25&lt;br /&gt;
| link46001       = https://kalasin.montessorithailand.org&lt;br /&gt;
| coordinates46001= {{coord|16.452911|103.530024}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--49002 label/marker--&amp;gt;&lt;br /&gt;
| mark490020       = Yellow-blue dot.png&lt;br /&gt;
| mark490020size   = 12&lt;br /&gt;
| link490020       = https://mukdahan.montessorithailand.org/&lt;br /&gt;
| coordinates490020= {{coord|16.546346|104.714853}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--49002 label/marker--&amp;gt;&lt;br /&gt;
| label49002      = 49002 MMS Mukdahan Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mukdahan/about Mukdahan Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label49002_size = 90&lt;br /&gt;
| label49002_width= 25&lt;br /&gt;
| position49002   = left&lt;br /&gt;
| background49002 = #fff&lt;br /&gt;
| mark49002       = Circle_red_blink.gif&lt;br /&gt;
| mark49002size   = 25&lt;br /&gt;
| link49002       = https://mukdahan.montessorithailand.org/&lt;br /&gt;
| coordinates49002= {{coord|16.546346|104.714853}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500010 label/marker1--&amp;gt;&lt;br /&gt;
| mark500010      = Green 00ff00 pog.svg&lt;br /&gt;
| mark500010size   = 12&lt;br /&gt;
| link500010       = https://maerimmontessori.wixsite.com/maerimmontessorihome&lt;br /&gt;
| coordinates500010= {{coord|18.930006|98.944166}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50001 label/marker--&amp;gt;&lt;br /&gt;
| label50001      = 50001 Baan Maerim Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/maerim/about Baan Maerim Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50001_size = 90&lt;br /&gt;
| label50001_width= 25&lt;br /&gt;
| position50001   = left&lt;br /&gt;
| background50001 = white&lt;br /&gt;
| mark50001       = Circle_green_blink.gif&lt;br /&gt;
| mark50001size   = 25&lt;br /&gt;
| link50001       = https://maerimmontessori.wixsite.com/maerimmontessorihome&lt;br /&gt;
| coordinates50001= {{coord|18.930006|98.944166}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50002 label/marker--&amp;gt;&lt;br /&gt;
| mark500020       = Green 00ff00 pog.svg&lt;br /&gt;
| mark500020size   = 12&lt;br /&gt;
| link500020       = https://montessori-international.com/s/ckms/&lt;br /&gt;
| coordinates500020= {{coord|18.500960|98.361634}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50002 label/marker--&amp;gt;&lt;br /&gt;
| label50002      = 50002 Ban Chang Khoeng Samakee Wittayakhan&amp;lt;ref&amp;gt;[https://montessori-international.com/s/ckms/ Ban Chang Khoeng Samakee Wittayakhan &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50002_size = 90&lt;br /&gt;
| label50002_width= 12&lt;br /&gt;
| position50002   = left&lt;br /&gt;
| background50002 = white&lt;br /&gt;
| mark50002       = Circle_green_blink.gif&lt;br /&gt;
| mark50002size   = 25&lt;br /&gt;
| link50002       = https://montessori-international.com/s/ckms/&lt;br /&gt;
| coordinates50002= {{coord|18.500960|98.361634}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500030 label/marker--&amp;gt;&lt;br /&gt;
| mark500030       = Green 00ff00 pog.svg&lt;br /&gt;
| mark500030size   = 12&lt;br /&gt;
| link500030       = https://montessori-international.com/s/muangchum/&lt;br /&gt;
| coordinates500030= {{coord|19.132529|98.934946}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50003 label/marker--&amp;gt;&lt;br /&gt;
| label50003      = 50003 Ban Muang Chum School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/banrongkhilek/about  Ban Muang Chum School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50003_size = 90&lt;br /&gt;
| label50003_width= 10&lt;br /&gt;
| position50003   = left&lt;br /&gt;
| background50003 = white&lt;br /&gt;
| mark50003       = Circle_green_blink.gif&lt;br /&gt;
| mark50003size   = 25&lt;br /&gt;
| link50003       = https://montessori-international.com/s/muangchum/&lt;br /&gt;
| coordinates50003= {{coord|19.132529|98.934946}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500040 label/marker--&amp;gt;&lt;br /&gt;
| mark500040       = Green 00ff00 pog.svg&lt;br /&gt;
| mark500040size   = 12&lt;br /&gt;
| link500040       = https://montessori-international.com/s/banrongkhilek/&lt;br /&gt;
| coordinates500040= {{coord|18.866740|99.108386}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50004 label/marker--&amp;gt;&lt;br /&gt;
| label50004      = 50004 Ban Rong Khi Lek School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/banrongkhilek/about Ban Rong Khi Lek School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50004_size = 90&lt;br /&gt;
| label50004_width= 10&lt;br /&gt;
| position50004   = right&lt;br /&gt;
| background50004 = white&lt;br /&gt;
| mark50004       = Circle_green_blink.gif&lt;br /&gt;
| mark50004size   = 25&lt;br /&gt;
| link50004       = https://montessori-international.com/s/banrongkhilek/&lt;br /&gt;
| coordinates50004= {{coord|18.866740|99.108386}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500050 label/marker--&amp;gt;&lt;br /&gt;
| mark500050       = Red-blue dot.svg&lt;br /&gt;
| mark500050size   = 12&lt;br /&gt;
| link500050       = https://www.chiangmaimontessori.org/&lt;br /&gt;
| coordinates500050= {{coord|18.718163|98.931364}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50005 label/marker--&amp;gt;&lt;br /&gt;
| label50005      = 50005 Chiang Mai Montessori International School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/cmis/about Chiang Mai Montessori International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50005_size = 90&lt;br /&gt;
| label50005_width= 13&lt;br /&gt;
| position50005   = bottom&lt;br /&gt;
| background50005 = white&lt;br /&gt;
| mark50005       = Circle red blink.gif&lt;br /&gt;
| mark50005size   = 25&lt;br /&gt;
| link50005       = https://www.chiangmaimontessori.org/&lt;br /&gt;
| coordinates50005= {{coord|18.718163|98.931364}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500060 label/marker--&amp;gt;&lt;br /&gt;
| mark500060       = Blue 0080ff pog.svg&lt;br /&gt;
| mark500060size   = 12&lt;br /&gt;
| link500060       = https://montessori-international.com/s/kruying/&lt;br /&gt;
| coordinates500060= {{coord|18.810715|99.0231735}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50006 label/marker--&amp;gt;&lt;br /&gt;
| label50006      = 50006 Kru Ying&#039;s Home School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/kruying/about Kru Ying&#039;s Home School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50006_size = 90&lt;br /&gt;
| label50006_width= 25&lt;br /&gt;
| position50006   = left&lt;br /&gt;
| background50006 = white&lt;br /&gt;
| mark50006       = Circle_cyan_blink.gif&lt;br /&gt;
| mark50006size   = 25&lt;br /&gt;
| link50006       = https://montessori-international.com/s/kruying/&lt;br /&gt;
| coordinates50006= {{coord|18.810715|99.0231735}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50007 label/marker--&amp;gt;&lt;br /&gt;
| label50007      = 50007 LFS&amp;lt;ref&amp;gt;[https://montessori-international.com/s/lesfleurs/about Les Fleurs School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50007_size = 90&lt;br /&gt;
| label50007_width= 10&lt;br /&gt;
| position50007   = left&lt;br /&gt;
| background50007 = #ccc&lt;br /&gt;
| mark50007       = Black pog x.svg&lt;br /&gt;
| mark50007size   = 25&lt;br /&gt;
| link50007       = https://montessori-international.com/s/lesfleurs/&lt;br /&gt;
| coordinates50007= {{coord|18.769352|98.950733}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500080 label/marker--&amp;gt;&lt;br /&gt;
| mark500080       = Yellow-red pog.svg&lt;br /&gt;
| mark500080size   = 12&lt;br /&gt;
| link500080       = https://nims-chiangmai.org/admissions.htm&lt;br /&gt;
| coordinates500080= {{coord|18.787122|98.963174}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50008 label/marker--&amp;gt;&lt;br /&gt;
| label50008      = 50008 Northern International Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nims-chiangmai/about Northern International Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50008_size = 90&lt;br /&gt;
| label50008_width= 25&lt;br /&gt;
| position50008   = left&lt;br /&gt;
| background50008 = white&lt;br /&gt;
| mark50008       = Circle red blink.gif&lt;br /&gt;
| mark50008size   = 25&lt;br /&gt;
| link50008       = https://nims-chiangmai.org/admissions.htm&lt;br /&gt;
| coordinates50008= {{coord|18.787122|98.963174}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--500090 label/marker--&amp;gt;&lt;br /&gt;
| mark500090       = Purple 8000ff pog.svg&lt;br /&gt;
| mark500090size   = 12&lt;br /&gt;
| link500090       = https://montessori-international.com/s/wildflower/&lt;br /&gt;
| coordinates500090= {{coord|18.783743|99.086573}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--50009 label/marker--&amp;gt;&lt;br /&gt;
| label50009      = 50009 Wildflower Foundation&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wildflower/about Wildflower Foundation &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label50009_size = 90&lt;br /&gt;
| label50009_width= 15&lt;br /&gt;
| position50009   = right&lt;br /&gt;
| background50009 = white&lt;br /&gt;
| mark50009       = Circle_violet_blink.gif&lt;br /&gt;
| mark50009size   = 25&lt;br /&gt;
| link50009       = https://montessori-international.com/s/wildflower/about&lt;br /&gt;
| coordinates50009= {{coord|18.783743|99.086573}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570010 label/marker--&amp;gt;&lt;br /&gt;
| mark570010       = Red-blue dot.svg&lt;br /&gt;
| mark570010size   = 12&lt;br /&gt;
| link570010       = http://anubannanglae.ac.th/&lt;br /&gt;
| coordinates570010= {{coord|20.003746|99.870535}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57001 label/marker--&amp;gt;&lt;br /&gt;
| label57001      = 57001 Anuban Nang Lae&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nanglae/about Anuban Nang Lae &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57001_size = 90&lt;br /&gt;
| label57001_width= 25&lt;br /&gt;
| position57001   = left&lt;br /&gt;
| background57001 = #fff&lt;br /&gt;
| mark57001       = Circle_red_blink.gif&lt;br /&gt;
| mark57001size   = 25&lt;br /&gt;
| link57001       = http://anubannanglae.ac.th/&lt;br /&gt;
| coordinates57001= {{coord|20.003746|99.870535}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570020 label/marker--&amp;gt;&lt;br /&gt;
| mark570020       = Red-blue dot.svg&lt;br /&gt;
| mark570020size   = 12&lt;br /&gt;
| link570020       = https://anbwcr.ac.th/&lt;br /&gt;
| coordinates570020= {{coord|19.956198|100.003814}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57002 label/marker--&amp;gt;&lt;br /&gt;
| label57002      = 57002 Anuban Wiang Chiang Rung&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wiangchiangrung/about Anuban Wiang Chiang Rung &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57002_size = 90&lt;br /&gt;
| label57002_width= 25&lt;br /&gt;
| position57002   = left&lt;br /&gt;
| background57002 = #fff&lt;br /&gt;
| mark57002       = Circle_red_blink.gif&lt;br /&gt;
| mark57002size   = 25&lt;br /&gt;
| link57002       = https://anbwcr.ac.th/&lt;br /&gt;
| coordinates57002= {{coord|19.956198|100.003814}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570030 label/marker--&amp;gt;&lt;br /&gt;
| mark570030       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570030size   = 12&lt;br /&gt;
| link570030       = https://montessori-international.com/s/doihang/&lt;br /&gt;
| coordinates570030= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57003 label/marker--&amp;gt;&lt;br /&gt;
| label57003      = 57003 School&amp;lt;ref&amp;gt;[Link/about Name &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57003_size = 90&lt;br /&gt;
| label57003_width= 25&lt;br /&gt;
| position57003   = left&lt;br /&gt;
| background57003 = #fff&lt;br /&gt;
| mark57003       = Circle_green_blink.gif&lt;br /&gt;
| mark57003size   = 25&lt;br /&gt;
| link57003       = https://montessori-international.com/s/doihang/&lt;br /&gt;
| coordinates57003= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570040 label/marker--&amp;gt;&lt;br /&gt;
| mark570040       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570040size   = 12&lt;br /&gt;
| link570040       = https://montessori-international.com/s/bandon/&lt;br /&gt;
| coordinates570040= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57004 label/marker--&amp;gt;&lt;br /&gt;
| label57004      = 57004 Ban Don School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/bandon/about Ban Don School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57004_size = 90&lt;br /&gt;
| label57004_width= 25&lt;br /&gt;
| position57004   = left&lt;br /&gt;
| background57004 = #fff&lt;br /&gt;
| mark57004       = Circle_green_blink.gif&lt;br /&gt;
| mark57004size   = 25&lt;br /&gt;
| link57004       = https://montessori-international.com/s/bandon/&lt;br /&gt;
| coordinates57004= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570050 label/marker--&amp;gt;&lt;br /&gt;
| mark570050       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570050size   = 12&lt;br /&gt;
| link570050       = https://montessori-international.com/s/huaisaikhao/&lt;br /&gt;
| coordinates570050= {{coord|19.936461|99.755150}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57005 label/marker--&amp;gt;&lt;br /&gt;
| label57005      = 57005 Ban Huai Sai Khao School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/huaisaikhao/about Ban Huai Sai Khao School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57005_size = 90&lt;br /&gt;
| label57005_width= 25&lt;br /&gt;
| position57005   = right&lt;br /&gt;
| background57005 = #fff&lt;br /&gt;
| mark57005       = Circle_green_blink.gif&lt;br /&gt;
| mark57005size   = 25&lt;br /&gt;
| link57005       = https://montessori-international.com/s/huaisaikhao/&lt;br /&gt;
| coordinates57005= {{coord|19.936461|99.755150}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570060 label/marker--&amp;gt;&lt;br /&gt;
| mark570060       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570060size   = 12&lt;br /&gt;
| link570060       = https://montessori-international.com/s/maemon/&lt;br /&gt;
| coordinates570060= {{coord|19.862285|99.607899}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57006 label/marker--&amp;gt;&lt;br /&gt;
| label57006      = 57006 Ban Mae Mon Wittaya School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/maemon/about Ban Mae Mon Wittaya School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57006_size = 90&lt;br /&gt;
| label57006_width= 25&lt;br /&gt;
| position57006   = left&lt;br /&gt;
| background57006 = #fff&lt;br /&gt;
| mark57006       = Circle_green_blink.gif&lt;br /&gt;
| mark57006size   = 25&lt;br /&gt;
| link57006       = https://montessori-international.com/s/maemon/&lt;br /&gt;
| coordinates57006= {{coord|19.862285|99.607899}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570070 label/marker--&amp;gt;&lt;br /&gt;
| mark570070       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570070size   = 12&lt;br /&gt;
| link570070       = https://montessori-international.com/s/nongbua/&lt;br /&gt;
| coordinates570070= {{coord|19.851626|100.013440}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57007 label/marker--&amp;gt;&lt;br /&gt;
| label57007      = 57007 Ban Nong Bua Pha Bom School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nongbua/about Ban Nong Bua Pha Bom School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57007_size = 90&lt;br /&gt;
| label57007_width= 25&lt;br /&gt;
| position57007   = left&lt;br /&gt;
| background57007 = #fff&lt;br /&gt;
| mark57007       = Circle_green_blink.gif&lt;br /&gt;
| mark57007size   = 25&lt;br /&gt;
| link57007       = https://montessori-international.com/s/nongbua/&lt;br /&gt;
| coordinates57007= {{coord|19.851626|100.013440}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570080 label/marker--&amp;gt;&lt;br /&gt;
| mark570080       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570080size   = 12&lt;br /&gt;
| link570080       = https://montessori-international.com/s/pasangnua/&lt;br /&gt;
| coordinates570080= {{coord|20.060816|100.139364}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57008 label/marker--&amp;gt;&lt;br /&gt;
| label57008      = 57008 &#039;Ban Pa Sang Nuea School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pasangnua/about &#039;Ban Pa Sang Nuea School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57008_size = 90&lt;br /&gt;
| label57008_width= 25&lt;br /&gt;
| position57008   = right&lt;br /&gt;
| background57008 = #fff&lt;br /&gt;
| mark57008       = Circle_green_blink.gif&lt;br /&gt;
| mark57008size   = 25&lt;br /&gt;
| link57008       = https://montessori-international.com/s/pasangnua/&lt;br /&gt;
| coordinates57008= {{coord|20.060816|100.139364}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570090 label/marker--&amp;gt;&lt;br /&gt;
| mark570090       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570090size   = 12&lt;br /&gt;
| link570090       = https://montessori-international.com/s/payangmon/&lt;br /&gt;
| coordinates570090= {{coord|19.913196|99.881696}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57009 label/marker--&amp;gt;&lt;br /&gt;
| label57009      = 57009 Ban Pa Yang Mon School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/payangmon/about Ban Pa Yang Mon School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57009_size = 90&lt;br /&gt;
| label57009_width= 25&lt;br /&gt;
| position57009   = left&lt;br /&gt;
| background57009 = #fff&lt;br /&gt;
| mark57009       = Circle_green_blink.gif&lt;br /&gt;
| mark57009size   = 25&lt;br /&gt;
| link57009       = https://montessori-international.com/s/payangmon/&lt;br /&gt;
| coordinates57009= {{coord|19.913196|99.881696}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570100 label/marker--&amp;gt;&lt;br /&gt;
| mark570100       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570100size   = 12&lt;br /&gt;
| link570100       = https://montessori-international.com/s/pangkhon/&lt;br /&gt;
| coordinates570100= {{coord|19.898460|99.618240}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57010 label/marker--&amp;gt;&lt;br /&gt;
| label57010      = 57010 Ban Pang Khon School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pangkhon/about Ban Pang Khon School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57010_size = 90&lt;br /&gt;
| label57010_width= 25&lt;br /&gt;
| position57010   = left&lt;br /&gt;
| background57010 = #fff&lt;br /&gt;
| mark57010       = Circle_green_blink.gif&lt;br /&gt;
| mark57010size   = 25&lt;br /&gt;
| link57010       = https://montessori-international.com/s/pangkhon/&lt;br /&gt;
| coordinates57010= {{coord|19.898460|99.618240}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570110 label/marker--&amp;gt;&lt;br /&gt;
| mark570110       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570110size   = 12&lt;br /&gt;
| link570110       = https://montessori-international.com/s/panglao/&lt;br /&gt;
| coordinates570110= {{coord|20.046533|99.946730}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57011 label/marker--&amp;gt;&lt;br /&gt;
| label57011      = 57011 Ban Pang Rim Kok School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/panglao/about Ban Pang Lao School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57011_size = 90&lt;br /&gt;
| label57011_width= 25&lt;br /&gt;
| position57011   = top&lt;br /&gt;
| background57011 = #fff&lt;br /&gt;
| mark57011       = Circle_green_blink.gif&lt;br /&gt;
| mark57011size   = 25&lt;br /&gt;
| link57011       = https://montessori-international.com/s/panglao/&lt;br /&gt;
| coordinates57011= {{coord|20.046533|99.946730}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570120 label/marker--&amp;gt;&lt;br /&gt;
| mark570120       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570120size   = 12&lt;br /&gt;
| link570120       = https://montessori-international.com/s/pangrimkok/&lt;br /&gt;
| coordinates570120= {{coord|19.847633|99.668122}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57012 label/marker--&amp;gt;&lt;br /&gt;
| label57012      = 57012 Ban Pang Rim Kok School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pangrimkok/about Ban Pang Rim Kok School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57012_size = 90&lt;br /&gt;
| label57012_width= 25&lt;br /&gt;
| position57012   = left&lt;br /&gt;
| background57012 = #fff&lt;br /&gt;
| mark57012       = Black pog-sized x.svg&lt;br /&gt;
| mark57012size   = 25&lt;br /&gt;
| link57012       = Circle_green_blink.gif&lt;br /&gt;
| coordinates57012= {{coord|19.847633|99.668122}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570130 label/marker--&amp;gt;&lt;br /&gt;
| mark570130       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570130size   = 12&lt;br /&gt;
| link570130       = https://montessori-international.com/s/wiangdoem/&lt;br /&gt;
| coordinates570130= {{coord|19.940298|99.947002}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57013 label/marker--&amp;gt;&lt;br /&gt;
| label57013      = 57013 Ban Wiang Doem School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wiangdoem/about Ban Wiang Doem School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57013_size = 90&lt;br /&gt;
| label57013_width= 25&lt;br /&gt;
| position57013   = left&lt;br /&gt;
| background57013 = #fff&lt;br /&gt;
| mark57013       = Circle_green_blink.gif&lt;br /&gt;
| mark57013size   = 25&lt;br /&gt;
| link57013       = https://montessori-international.com/s/wiangdoem/&lt;br /&gt;
| coordinates57013= {{coord|19.940298|99.947002}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570140 label/marker--&amp;gt;&lt;br /&gt;
| mark570140       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570140size   = 12&lt;br /&gt;
| link570140       = https://montessori-international.com/s/hongsi/&lt;br /&gt;
| coordinates570140= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57014 label/marker--&amp;gt;&lt;br /&gt;
| label57014      = 57014 Hong Si Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/hongsi/about Hong Si Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57014_size = 90&lt;br /&gt;
| label57014_width= 25&lt;br /&gt;
| position57014   = bottom&lt;br /&gt;
| background57014 = #fff&lt;br /&gt;
| mark57014       = Circle_green_blink.gif&lt;br /&gt;
| mark57014size   = 25&lt;br /&gt;
| link57014       = https://montessori-international.com/s/hongsi/&lt;br /&gt;
| coordinates57014= {{coord|19.823801|100.021650}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570150 label/marker--&amp;gt;&lt;br /&gt;
| mark570150       = Red-blue dot.svg&lt;br /&gt;
| mark570150size   = 12&lt;br /&gt;
| link570150       = https://montessori-international.com/s/kasemsasna/&lt;br /&gt;
| coordinates570150= {{coord|19.886942|99.850424}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57015 label/marker--&amp;gt;&lt;br /&gt;
| label57015      = 57015 Kasemsasna Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/kasemsasna/about Kasemsasna Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57015_size = 90&lt;br /&gt;
| label57015_width= 25&lt;br /&gt;
| position57015   = left&lt;br /&gt;
| background57015 = #fff&lt;br /&gt;
| mark57015       = Circle_red_blink.gif&lt;br /&gt;
| mark57015size   = 25&lt;br /&gt;
| link57015       = https://montessori-international.com/s/kasemsasna/&lt;br /&gt;
| coordinates57015= {{coord|19.886942|99.850424}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570160 label/marker--&amp;gt;&lt;br /&gt;
| mark570160       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570160size   = 12&lt;br /&gt;
| link570160       = https://montessori-international.com/s/nimitmai/&lt;br /&gt;
| coordinates570160= {{coord|20.425914|99.884995}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57016 label/marker--&amp;gt;&lt;br /&gt;
| label57016      = 57016 Nimitmai Trilingual Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nimitmai/about Nimitmai Trilingual Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57016_size = 90&lt;br /&gt;
| label57016_width= 25&lt;br /&gt;
| position57016   = left&lt;br /&gt;
| background57016 = #fff&lt;br /&gt;
| mark57016       = Circle_green_blink.gif&lt;br /&gt;
| mark57016size   = 25&lt;br /&gt;
| link57016       = https://montessori-international.com/s/nimitmai/&lt;br /&gt;
| coordinates57016= {{coord|20.425914|99.884995}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570170 label/marker--&amp;gt;&lt;br /&gt;
| mark570170       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570170size   = 12&lt;br /&gt;
| link570170       = https://montessori-international.com/s/phakwang/&lt;br /&gt;
| coordinates570170= {{coord|20.019427|99.606355}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57017 label/marker--&amp;gt;&lt;br /&gt;
| label57017      = 57017 Pha Kwang Wittaya School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/phakwang/about Pha Kwang Wittaya School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57017_size = 90&lt;br /&gt;
| label57017_width= 25&lt;br /&gt;
| position57017   = left&lt;br /&gt;
| background57017 = #fff&lt;br /&gt;
| mark57017       = Circle_green_blink.gif&lt;br /&gt;
| mark57017size   = 25&lt;br /&gt;
| link57017       = https://montessori-international.com/s/phakwang/&lt;br /&gt;
| coordinates57017= {{coord|20.019427|99.606355}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570180 label/marker--&amp;gt;&lt;br /&gt;
| mark570180       = Red-blue dot.svg&lt;br /&gt;
| mark570180size   = 12&lt;br /&gt;
| link570180       = https://pitisuksa.com/&lt;br /&gt;
| coordinates570180= {{coord|19.925365|99.831909}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57018 label/marker--&amp;gt;&lt;br /&gt;
| label57018      = 57018 Piti Suksa School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pitisuksa/about Piti Suksa School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57018_size = 90&lt;br /&gt;
| label57018_width= 25&lt;br /&gt;
| position57018   = right&lt;br /&gt;
| background57018 = #fff&lt;br /&gt;
| mark57018       = Circle_red_blink.gif&lt;br /&gt;
| mark57018size   = 25&lt;br /&gt;
| link57018       = https://pitisuksa.com/&lt;br /&gt;
| coordinates57018= {{coord|19.925365|99.831909}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570190 label/marker--&amp;gt;&lt;br /&gt;
| mark570190       = Red-blue dot.svg&lt;br /&gt;
| mark570190size   = 12&lt;br /&gt;
| link570190       = https://montessori-international.com/s/sunlightchiangrai/&lt;br /&gt;
| coordinates570190= {{coord|19.922629|99.760305}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57019 label/marker--&amp;gt;&lt;br /&gt;
| label57019      = 57019 Sunlight Montessori Chiangrai&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sunlightchiangrai/about Sunlight Montessori Chiangrai &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57019_size = 90&lt;br /&gt;
| label57019_width= 25&lt;br /&gt;
| position57019   = left&lt;br /&gt;
| background57019 = #fff&lt;br /&gt;
| mark57019       = Circle_red_blink.gif&lt;br /&gt;
| mark57019size   = 25&lt;br /&gt;
| link57019       = https://montessori-international.com/s/sunlightchiangrai/&lt;br /&gt;
| coordinates57019= {{coord|19.922629|99.760305}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570200 label/marker--&amp;gt;&lt;br /&gt;
| mark570200       = Green 00ff00 pog.svg&lt;br /&gt;
| mark570200size   = 12&lt;br /&gt;
| link570200       = https://montessori-international.com/s/wiangkaew/&lt;br /&gt;
| coordinates570200= {{coord|19.915393|99.988724}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57020 label/marker--&amp;gt;&lt;br /&gt;
| label57020      = 57020 Wiang Kaew Witthaya School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wiangkaew/about Wiang Kaew Witthaya School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57020_size = 90&lt;br /&gt;
| label57020_width= 25&lt;br /&gt;
| position57020   = left&lt;br /&gt;
| background57020 = #fff&lt;br /&gt;
| mark57020       = Circle_green_blink.gif&lt;br /&gt;
| mark57020size   = 25&lt;br /&gt;
| link57020       = https://montessori-international.com/s/wiangkaew/&lt;br /&gt;
| coordinates57020= {{coord|19.915393|99.988724}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--570210 label/marker--&amp;gt;&lt;br /&gt;
| mark570210       = Red-blue dot.svg&lt;br /&gt;
| mark570210size   = 12&lt;br /&gt;
| link570210       = https://montessori-international.com/s/wisaschool/&lt;br /&gt;
| coordinates570210= {{coord|19.91249553|99.872444}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--57021 label/marker--&amp;gt;&lt;br /&gt;
| label57021      = 57021 Wisanusorn School - โรงเรียนวิศานุสรณ&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wisaschool/about Wisanusorn School - โรงเรียนวิศานุสรณ &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label57021_size = 90&lt;br /&gt;
| label57021_width= 25&lt;br /&gt;
| position57021   = left&lt;br /&gt;
| background57021 = #fff&lt;br /&gt;
| mark57021       = Circle_red_blink.gif&lt;br /&gt;
| mark57021size   = 25&lt;br /&gt;
| link57021       = https://montessori-international.com/s/wisaschool/&lt;br /&gt;
| coordinates57021= {{coord|19.91249553|99.872444}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--700010 label/marker--&amp;gt;&lt;br /&gt;
| mark700010       = Red-blue dot.svg&lt;br /&gt;
| mark700010size   = 12&lt;br /&gt;
| link700010       = https://www.nrv.ac.th/&lt;br /&gt;
| coordinates700010= {{coord|13.535109|99.821740}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--70001 label/marker--&amp;gt;&lt;br /&gt;
| label70001      = 70001 Naree Wittaya School - St. Mary Convent&amp;lt;ref&amp;gt;[https://montessori-international.com/s/udonsensory/about Naree Wittaya School - St. Mary Convent &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label70001_size = 90&lt;br /&gt;
| label70001_width= 25&lt;br /&gt;
| position70001   = left&lt;br /&gt;
| background70001 = #ffffff&lt;br /&gt;
| mark70001       = Circle_red_blink.gif&lt;br /&gt;
| mark70001size   = 25&lt;br /&gt;
| link70001       = https://www.nrv.ac.th/&lt;br /&gt;
| coordinates70001= {{coord|13.535109|99.821740}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--740020 label/marker--&amp;gt;&lt;br /&gt;
| mark740020       = Red-blue dot.svg&lt;br /&gt;
| mark740020size   = 12&lt;br /&gt;
| link740020       = https://www.mcs.education/&lt;br /&gt;
| coordinates740020= {{coord|13.551789|100.273153}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--74002 label/marker--&amp;gt;&lt;br /&gt;
| label74002      = 74002 Mahachai Christian Wittaya School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mcs/about Mahachai Christian Wittaya School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label74002_size = 90&lt;br /&gt;
| label74002_width= 25&lt;br /&gt;
| position74002   = left&lt;br /&gt;
| background74002 = #FFF&lt;br /&gt;
| mark74002       = Circle_red_blink.gif&lt;br /&gt;
| mark74002size   = 25&lt;br /&gt;
| link74002       = https://www.mcs.education/&lt;br /&gt;
| coordinates74002= {{coord|13.551789|100.273153}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--770010 label/marker--&amp;gt;&lt;br /&gt;
| mark770010       = Red-blue dot.svg&lt;br /&gt;
| mark770010size   = 12&lt;br /&gt;
| link770010       = https://montessori-international.com/s/smartkidshuahin/&lt;br /&gt;
| coordinates770010= {{coord|12.540558|99.950648}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--77001 label/marker--&amp;gt;&lt;br /&gt;
| label77001      = 77001 SmartKids Nursery Hua HinMontessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/smartkidshuahin/about SmartKids Nursery Hua Hin &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label77001_size = 90&lt;br /&gt;
| label77001_width= 25&lt;br /&gt;
| position77001   = left&lt;br /&gt;
| background77001 = #ffffff&lt;br /&gt;
| mark77001       = Circle_red_blink.gif&lt;br /&gt;
| mark77001size   = 25&lt;br /&gt;
| link77001       = https://montessori-international.com/s/smartkidshuahin/&lt;br /&gt;
| coordinates77001= {{coord|12.540558|99.950648}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--800010 label/marker--&amp;gt;&lt;br /&gt;
| mark800010       = Green 00ff00 pog.svg&lt;br /&gt;
| mark800010size   = 12&lt;br /&gt;
| link800010       = http://bannamuen.ac.th/&lt;br /&gt;
| coordinates800010= {{coord|15.333277|104.929399}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--80001 label/marker--&amp;gt;&lt;br /&gt;
| label80001      = 80001 Ban Na Muen School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/namuen/about Ban Na Muen School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label80001_size = 90&lt;br /&gt;
| label80001_width= 25&lt;br /&gt;
| position80001   = left&lt;br /&gt;
| background80001 = #ffffff&lt;br /&gt;
| mark80001       = Circle_green_blink.gif&lt;br /&gt;
| mark80001size   = 25&lt;br /&gt;
| link80001       = http://bannamuen.ac.th/&lt;br /&gt;
| coordinates80001= {{coord|15.333277|104.929399}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--800020 label/marker--&amp;gt;&lt;br /&gt;
| mark800020       = Green 00ff00 pog.svg&lt;br /&gt;
| mark800020size   = 12&lt;br /&gt;
| link800020       = https://montessori-international.com/s/panwarin/&lt;br /&gt;
| coordinates800020= {{coord|15.176828|104.860086}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--80002 label/marker--&amp;gt;&lt;br /&gt;
| label80002      = 80002 Panwarin Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/panwarin/about Panwarin Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label80002_size = 90&lt;br /&gt;
| label80002_width= 25&lt;br /&gt;
| position80002   = left&lt;br /&gt;
| background80002 = #ffffff&lt;br /&gt;
| mark80002       = Circle_green_blink.gif&lt;br /&gt;
| mark80002size   = 25&lt;br /&gt;
| link80002       = https://montessori-international.com/s/panwarin/&lt;br /&gt;
| coordinates80002= {{coord|15.176828|104.860086}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--810010 label/marker--&amp;gt;&lt;br /&gt;
| mark810010       = Red ff0000 pog.svg&lt;br /&gt;
| mark810010size   = 12&lt;br /&gt;
| link810010       = https://www.daisychainskrabi.com/&lt;br /&gt;
| coordinates810010= {{coord|8.047705|98.843849}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--81001 label/marker--&amp;gt;&lt;br /&gt;
| label81001      = 81001 Daisy Chains Krabi Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/daisychains/about Daisy Chains Krabi Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label81001_size = 90&lt;br /&gt;
| label81001_width= 25&lt;br /&gt;
| position81001   = left&lt;br /&gt;
| background81001 = #ffffff&lt;br /&gt;
| mark81001       = Circle_red_blink.gif&lt;br /&gt;
| mark81001size   = 25&lt;br /&gt;
| link81001       = https://www.daisychainskrabi.com/&lt;br /&gt;
| coordinates81001= {{coord|8.047705|98.843849}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--810020 label/marker--&amp;gt;&lt;br /&gt;
| mark810020       = Red ff0000 pog.svg&lt;br /&gt;
| mark810020size   = 12&lt;br /&gt;
| link810020       = https://www.krabikidsunflower.com/&lt;br /&gt;
| coordinates810020= {{coord|8.049593|98.852423}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--81002 label/marker--&amp;gt;&lt;br /&gt;
| label81002      = 81002 International Kids Sunflower&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sunflower/about International Kids Sunflower &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label81002_size = 90&lt;br /&gt;
| label81002_width= 50&lt;br /&gt;
| position81002   = bottom&lt;br /&gt;
| background81002 = #ffffff&lt;br /&gt;
| mark81002       = Circle_red_blink.gif&lt;br /&gt;
| mark81002size   = 25&lt;br /&gt;
| link81002       = https://www.krabikidsunflower.com/&lt;br /&gt;
| coordinates81002= {{coord|8.049593|98.852423}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--810030 label/marker--&amp;gt;&lt;br /&gt;
| mark810030       = Red ff0000 pog.svg&lt;br /&gt;
| mark810030size   = 12&lt;br /&gt;
| link810030       = https://web.archive.org/web/20210225021056/http://krabimontessori.com/&lt;br /&gt;
| coordinates810030= {{coord|8.069185|98.915911}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--81003 label/marker--&amp;gt;&lt;br /&gt;
| label81003      = 81003 Krabi International Montessori Academy&amp;lt;ref&amp;gt;[https://montessori-international.com/s/krabimontessori/about Krabi International Montessori Academy &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label81003_size = 90&lt;br /&gt;
| label81003_width= 25&lt;br /&gt;
| position81003   = right&lt;br /&gt;
| background81003 = #ffffff&lt;br /&gt;
| mark81003       = Circle_red_blink.gif&lt;br /&gt;
| mark81003size   = 25&lt;br /&gt;
| link81003       = https://web.archive.org/web/20210225021056/http://krabimontessori.com/&lt;br /&gt;
| coordinates81003= {{coord|8.069185|98.915911}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--810040 label/marker--&amp;gt;&lt;br /&gt;
| mark810040       = Red ff0000 pog.svg&lt;br /&gt;
| mark810040size   = 12&lt;br /&gt;
| link810040       = https://montessori-international.com/s/tmc/&lt;br /&gt;
| coordinates810040= {{coord|8.063016|98.915435}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--81004 label/marker--&amp;gt;&lt;br /&gt;
| label81004      = 81004 The Montessori Corner Krabi&amp;lt;ref&amp;gt;[https://montessori-international.com/s/Corner/about The Montessori Corner Krabi &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label81004_size = 90&lt;br /&gt;
| label81004_width= 25&lt;br /&gt;
| position81004   = top&lt;br /&gt;
| background81004 = #ffffff&lt;br /&gt;
| mark81004       = Circle_red_blink.gif&lt;br /&gt;
| mark81004size   = 25&lt;br /&gt;
| link81004       = https://montessori-international.com/s/tmc/&lt;br /&gt;
| coordinates81004= {{coord|8.063016|98.915435}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--820010 label/marker--&amp;gt;&lt;br /&gt;
| mark820010       = Red-blue dot.svg&lt;br /&gt;
| mark820010size   = 12&lt;br /&gt;
| link820010       = https://montessori-international.com/s/khaolak/&lt;br /&gt;
| coordinates820010= {{coord|8.712005|98.258604}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--82001 label/marker--&amp;gt;&lt;br /&gt;
| label82001      = 82001 Christian Montessori Preschool&amp;lt;ref&amp;gt;[https://montessori-international.com/s/khaolak/about Christian Montessori Preschool &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label82001_size = 90&lt;br /&gt;
| label82001_width= 25&lt;br /&gt;
| position82001   = left&lt;br /&gt;
| background82001 = #ffffff&lt;br /&gt;
| mark82001       = Circle_red_blink.gif&lt;br /&gt;
| mark82001size   = 25&lt;br /&gt;
| link82001       = https://montessori-international.com/s/khaolak/&lt;br /&gt;
| coordinates82001= {{coord|8.712005|98.258604}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--820020 label/marker--&amp;gt;&lt;br /&gt;
| mark820020       = Red-blue dot.svg&lt;br /&gt;
| mark820020size   = 12&lt;br /&gt;
| link820020       = https://yaowawit.org/&lt;br /&gt;
| coordinates820020= {{coord|8.689972|98.390642}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--82002 label/marker--&amp;gt;&lt;br /&gt;
| label82002      = 82002 Yaowawit School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/yaowawit/about Yaowawit School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label82002_size = 90&lt;br /&gt;
| label82002_width= 25&lt;br /&gt;
| position82002   = right&lt;br /&gt;
| background82002 = #ffffff&lt;br /&gt;
| mark82002       = Circle_red_blink.gif&lt;br /&gt;
| mark82002size   = 25&lt;br /&gt;
| link82002       = https://yaowawit.org/&lt;br /&gt;
| coordinates82002= {{coord|8.689972|98.390642}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83001 label/marker--&amp;gt;&lt;br /&gt;
| label83001      = 83001 RPIS&amp;lt;ref&amp;gt;[https://montessori-international.com/s/rpis/about Rawai Progressive International Montessori School Alumni&#039;s &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83001_size = 90&lt;br /&gt;
| label83001_width=&lt;br /&gt;
| position83001   = left&lt;br /&gt;
| background83001 = #DDD&lt;br /&gt;
| mark83001       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark83001size   = 14&lt;br /&gt;
| link83001       = https://web.archive.org/web/20040603202457/http://www.montessori-thailand.com/progressive-school.htm&lt;br /&gt;
| coordinates83001= {{coord|7.800820|98.335805}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83002 label/marker--&amp;gt;&lt;br /&gt;
| label83002      = 83002 IMCT&amp;lt;ref&amp;gt;[https://montessori-international.com/s/rpis/about Rawai Progressive International Montessori School Alumni&#039;s &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83002_size = 90&lt;br /&gt;
| label83002_width=&lt;br /&gt;
| position83002   = left&lt;br /&gt;
| background83002 = #DDD&lt;br /&gt;
| mark83002       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark83002size   = 14&lt;br /&gt;
| link83002       = https://montessori-international.com/s/imct/&lt;br /&gt;
| coordinates83002= {{coord|7.794517|98.333287}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83003 label/marker--&amp;gt;&lt;br /&gt;
| label83003      = 83003 PKRU&amp;lt;ref&amp;gt;[https://montessori-international.com/s/satitpkru/about Satit Rajabhat University School (PKRU) &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83003_size = 90&lt;br /&gt;
| label83003_width= 30&lt;br /&gt;
| position83003   = right&lt;br /&gt;
| background83003 = #DDD&lt;br /&gt;
| mark83003       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark83003size   = 14&lt;br /&gt;
| link83003       = https://satit.pkru.ac.th&lt;br /&gt;
| coordinates83003= {{coord|7.908845|98.387954}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830040 label/marker--&amp;gt;&lt;br /&gt;
| mark830040       = Red-blue dot.svg&lt;br /&gt;
| mark830040size   = 12&lt;br /&gt;
| link830040       = https://montessori-thailand.com&lt;br /&gt;
| coordinates830040= {{coord|7.844902|98.340615}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83004 label/marker--&amp;gt;&lt;br /&gt;
| label83004      = 83004 MHP Montessori House Phuket International School&amp;lt;ref&amp;gt;[https://phuket.school/s/mhp/about MHP Montessori House Phuket International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83004_size = 90&lt;br /&gt;
| label83004_width= 30&lt;br /&gt;
| position83004   = top&lt;br /&gt;
| background83004 = #FFF&lt;br /&gt;
| mark83004       = Circle_red_blink.gif&lt;br /&gt;
| mark83004size   = 25&lt;br /&gt;
| link83004       = https://montessori-thailand.com&lt;br /&gt;
| coordinates83004= {{coord|7.844902|98.340615}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83005 label/marker--&amp;gt;&lt;br /&gt;
| label83005      = 83005 SLN&amp;lt;ref&amp;gt;[https://# Sua Luang Nursery by Kanok Kwan &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83005_size = 90&lt;br /&gt;
| label83005_width= 30&lt;br /&gt;
| position83005   = left&lt;br /&gt;
| background83005 = #DDD&lt;br /&gt;
| mark83005       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark83005size   = 14&lt;br /&gt;
| link83005       = http://www.kanokkwan.com/&lt;br /&gt;
| coordinates83005= {{coord|7.876750|98.368471}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830060 label/marker--&amp;gt;&lt;br /&gt;
| mark830060       = Red ff0000 pog.svg&lt;br /&gt;
| mark830060size   = 12&lt;br /&gt;
| link830060       = https://www.greenhousephuket.ac.th/&lt;br /&gt;
| coordinates830060= {{coord|7.991131|98.316058}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83006 label/marker--&amp;gt;&lt;br /&gt;
| label83006      = 83006 GMK Greenhouse Kindergarten&amp;lt;ref&amp;gt;[https://montessori-international.com/s/greenhouse/about GMK Greenhouse Montessori International Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83006_size = 90&lt;br /&gt;
| label83006_width= 20&lt;br /&gt;
| position83006   = left&lt;br /&gt;
| background83006 = #ffffff&lt;br /&gt;
| mark83006       = Circle_red_blink.gif&lt;br /&gt;
| mark83006size   = 25&lt;br /&gt;
| link83006       = https://www.greenhousephuket.ac.th/&lt;br /&gt;
| coordinates83006= {{coord|7.991131|98.316058}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830070 label/marker--&amp;gt;&lt;br /&gt;
| mark830070       = Purple 8000ff pog.svg&lt;br /&gt;
| mark830070size   = 12&lt;br /&gt;
| link830070       = https://bebalancednaturally.com/soul&lt;br /&gt;
| coordinates830070= {{coord|7.783536|98.321210}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83007 label/marker--&amp;gt;&lt;br /&gt;
| label83007      = 83007 S.O.U.L. Balanced Naturally&amp;lt;ref&amp;gt;[https://montessori-international.com/s/balanced-naturally-cool/about S.O.U.L. Balanced Naturally &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83007_size = 90&lt;br /&gt;
| label83007_width= 30&lt;br /&gt;
| position83007   = left&lt;br /&gt;
| background83007 = #FFF&lt;br /&gt;
| mark83007       = Circle_violet_blink.gif&lt;br /&gt;
| mark83007size   = 25&lt;br /&gt;
| link83007       = https://bebalancednaturally.com/soul&lt;br /&gt;
| coordinates83007= {{coord|7.783536|98.321210}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830080 label/marker--&amp;gt;&lt;br /&gt;
| mark830080       = Blue 0080ff pog.svg&lt;br /&gt;
| mark830080size   = 12&lt;br /&gt;
| link830080       = https://upschoolphuket.com&lt;br /&gt;
| coordinates830080= {{coord|7.794517|98.333287}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83008 label/marker--&amp;gt;&lt;br /&gt;
| label83008      = 83008 UP UpSchool Phuket International Home Community&amp;lt;ref&amp;gt;[https://montessori-international.com/s/upschool/about UP UpSchool Phuket International Home Community &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83008_size = 90&lt;br /&gt;
| label83008_width= 30&lt;br /&gt;
| position83008   = right&lt;br /&gt;
| background83008 = #FFF&lt;br /&gt;
| mark83008       = Circle_cyan_blink.gif&lt;br /&gt;
| mark83008size   = 25&lt;br /&gt;
| link83008       = https://upschoolphuket.com&lt;br /&gt;
| coordinates83008= {{coord|7.794517|98.333287}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830090 label/marker--&amp;gt;&lt;br /&gt;
| mark830090       = Yellow-red pog.svg&lt;br /&gt;
| mark830090size   = 12&lt;br /&gt;
| link830090       = https://phuket.school/s/ris/about&lt;br /&gt;
| coordinates830090= {{coord|7.870149|98.362539}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83009 label/marker--&amp;gt;&lt;br /&gt;
| label83009      = 83009 RMP Rainbow Montessori International Kindergarten&amp;lt;ref&amp;gt;[https://phuket.school/s/ris/about RMP Rainbow Montessori International Kindergarten &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83009_size = 90&lt;br /&gt;
| label83009_width= 30&lt;br /&gt;
| position83009   = right&lt;br /&gt;
| background83009 = #FFF&lt;br /&gt;
| mark83009       = Circle_red_blink.gif&lt;br /&gt;
| mark83009size   = 25&lt;br /&gt;
| link83009       = https://phuketmontessori.school&lt;br /&gt;
| coordinates83009= {{coord|7.870149|98.362539}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830010 label/marker--&amp;gt;&lt;br /&gt;
| mark830010       = Red-green-blue dot.svg&lt;br /&gt;
| mark830010size   = 12&lt;br /&gt;
| link830010       = https://www.rism.ac.th/mou-ris-phuket/&lt;br /&gt;
| coordinates830010= {{coord|7.842286|98.366123}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83010 label/marker--&amp;gt;&lt;br /&gt;
| label83010      = 83010 RIS Ruamrudee International School&amp;lt;ref&amp;gt;[https://phuket.school/s/ris/about RIS Ruamrudee International School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83010_size = 90&lt;br /&gt;
| label83010_width= 30&lt;br /&gt;
| position83010   = left&lt;br /&gt;
| background83010 = #FFF&lt;br /&gt;
| mark83010       = Circle_red_blink.gif&lt;br /&gt;
| mark83010size   = 25&lt;br /&gt;
| link83010       = https://www.rism.ac.th/mou-ris-phuket/&lt;br /&gt;
| coordinates83010= {{coord|7.839844|98.366701}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--83011 label/marker--&amp;gt;&lt;br /&gt;
| label83011      = 83011&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mop/about Montessori School of Phuket &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label83011_size = 70&lt;br /&gt;
| label83011_width= 30&lt;br /&gt;
| position830011   = left&lt;br /&gt;
| background830011 =&lt;br /&gt;
| mark830011       = Black pog x.svg&lt;br /&gt;
| mark830011size   = 14&lt;br /&gt;
| link83011       =&lt;br /&gt;
| coordinates830011= {{coord|7.923034|98.380440}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--830012 label/marker--&amp;gt;&lt;br /&gt;
| label830012      = 83012&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mik-tree/about Montessori International Kindergarten &amp;quot;Tree&amp;quot; &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label830012_size = 70&lt;br /&gt;
| label830012_width= 30&lt;br /&gt;
| position830012   = bottom&lt;br /&gt;
| background830012 =&lt;br /&gt;
| mark830012       = Black pog x.svg&lt;br /&gt;
| mark830012size   = 14&lt;br /&gt;
| link83012       =&lt;br /&gt;
| coordinates830012= {{coord|7.791289|98.329011}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--840010 label/marker--&amp;gt;&lt;br /&gt;
| mark840010       = Red-blue dot.svg&lt;br /&gt;
| mark840010size   = 12&lt;br /&gt;
| link840010       = https://montessori-international.com/s/chuleekorn/&lt;br /&gt;
| coordinates840010= {{coord|9.318426|99.689330}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--84001 label/marker--&amp;gt;&lt;br /&gt;
| label84001      = 84001 Anuban Chuleekorn Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/chuleekorn/about Anuban Chuleekorn Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label84001_size = 90&lt;br /&gt;
| label84001_width= 25&lt;br /&gt;
| position84001   = left&lt;br /&gt;
| background84001 = white&lt;br /&gt;
| mark84001       = Circle_red_blink.gif&lt;br /&gt;
| mark84001size   = 25&lt;br /&gt;
| link84001       = https://montessori-international.com/s/chuleekorn/&lt;br /&gt;
| coordinates84001= {{coord|9.318426|99.689330}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--84002 label/marker--&amp;gt;&lt;br /&gt;
| label84002      = 84002 Samui Montessori&amp;lt;ref&amp;gt;[https://web.archive.org/web/20121115032904/http://www.samuimontessori.com/ Samui Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label84002_size = 90&lt;br /&gt;
| label84002_width= 25&lt;br /&gt;
| position84002   = right&lt;br /&gt;
| background84002 = white&lt;br /&gt;
| mark84002       = Gfi-set01-archaeology.png&lt;br /&gt;
| mark84002size   = 25&lt;br /&gt;
| link84002       = https://montessori-international.com/s/ckms/&lt;br /&gt;
| coordinates84002= {{coord|9.503625|100.023900}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--840030 label/marker--&amp;gt;&lt;br /&gt;
| mark840030       = Red-blue dot.svg&lt;br /&gt;
| mark840030size   = 12&lt;br /&gt;
| link840030       = https://montessori-international.com/s/surat/&lt;br /&gt;
| coordinates840030= {{coord|9.145649|99.372983}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--84003 label/marker--&amp;gt;&lt;br /&gt;
| label84003      = 84003 Ban Muang Chum School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/surat/about  Ban Muang Chum School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label84003_size = 90&lt;br /&gt;
| label84003_width= 25&lt;br /&gt;
| position84003   = left&lt;br /&gt;
| background84003 = white&lt;br /&gt;
| mark84003       = Circle_red_blink.gif&lt;br /&gt;
| mark84003size   = 25&lt;br /&gt;
| link84003       = https://montessori-international.com/s/surat/&lt;br /&gt;
| coordinates84003= {{coord|9.145649|99.372983}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--860020 label/marker--&amp;gt;&lt;br /&gt;
| mark860010       = Green_00ff00_pog.svg&lt;br /&gt;
| mark860010size   = 12&lt;br /&gt;
| link860010       = https://montessori-international.com/s/sawi/&lt;br /&gt;
| coordinates860010= {{coord|10.237283|99.106647}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--86001 label/marker--&amp;gt;&lt;br /&gt;
| label86001      = 86001 Bunsombat Wittaya School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sawi/about Bunsombat Wittaya School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label86001_size = 90&lt;br /&gt;
| label86001_width= 25&lt;br /&gt;
| position86001   = left&lt;br /&gt;
| background86001 = #ffffff&lt;br /&gt;
| mark86001       = Circle_green_blink.gif&lt;br /&gt;
| mark86001size   = 25&lt;br /&gt;
| link86001       = https://montessori-international.com/s/sawi/&lt;br /&gt;
| coordinates86001= {{coord|10.237283|99.106647}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--860020 label/marker--&amp;gt;&lt;br /&gt;
| mark860020       = Green_00ff00_pog.svg&lt;br /&gt;
| mark860020size   = 12&lt;br /&gt;
| link860020       = https://montessori-international.com/s/khaothalom/&lt;br /&gt;
| coordinates860020= {{coord|10.509318|99.132314}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--86002 label/marker--&amp;gt;&lt;br /&gt;
| label86002      = 86002 Montessori Chumphon Ban Khao Thalom School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/khaothalom/about Montessori Chumphon Ban Khao Thalom School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label86002_size = 90&lt;br /&gt;
| label86002_width= 30&lt;br /&gt;
| position86002   = left&lt;br /&gt;
| background86002 = #ffffff&lt;br /&gt;
| mark86002       = Circle_green_blink.gif&lt;br /&gt;
| mark86002size   = 25&lt;br /&gt;
| link86002       = https://montessori-international.com/s/khaothalom/&lt;br /&gt;
| coordinates86002= {{coord|10.509318|99.132314}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--860010 label/marker--&amp;gt;&lt;br /&gt;
| mark860030       = Red-blue dot.svg&lt;br /&gt;
| mark860030size   = 12&lt;br /&gt;
| link860030       = https://www.tis.ac.th/&lt;br /&gt;
| coordinates860030= {{coord|10.461655|99.146917}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--86001 label/marker--&amp;gt;&lt;br /&gt;
| label86003      = 86003 Theodore Roosevelt School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/tis/about Theodore Roosevelt School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label86003_size = 90&lt;br /&gt;
| label86003_width= 25&lt;br /&gt;
| position86003   = right&lt;br /&gt;
| background86003 = #ffffff&lt;br /&gt;
| mark86003       = Circle_red_blink.gif&lt;br /&gt;
| mark86003size   = 25&lt;br /&gt;
| link86003       = https://www.tis.ac.th/&lt;br /&gt;
| coordinates86003= {{coord|10.461655|99.146917}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--900010 label/marker--&amp;gt;&lt;br /&gt;
| mark900010       = Red-blue dot.svg&lt;br /&gt;
| mark900010size   = 12&lt;br /&gt;
| link900010       = https://montessori-international.com/s/hatyai/&lt;br /&gt;
| coordinates900010= {{coord|6.988797|100.426563}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--90001 label/marker--&amp;gt;&lt;br /&gt;
| label90001      = 90001 About Montessori Lae&amp;lt;ref&amp;gt;[https://montessori-international.com/s/hatyai/about About Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label90001_size = 90&lt;br /&gt;
| label90001_width= 25&lt;br /&gt;
| position90001   = left&lt;br /&gt;
| background90001 = #fff&lt;br /&gt;
| mark90001       = Circle_red_blink.gif&lt;br /&gt;
| mark90001size   = 25&lt;br /&gt;
| link90001       = https://montessori-international.com/s/hatyai/&lt;br /&gt;
| coordinates90001= {{coord|6.988797|100.426563}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--900020 label/marker--&amp;gt;&lt;br /&gt;
| mark900020       = Red-blue dot.svg&lt;br /&gt;
| mark900020size   = 12&lt;br /&gt;
| link900020       = https://montessori-international.com/s/hatyai-christian-montessori/&lt;br /&gt;
| coordinates900020= {{coord|7.017352|100.494985}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--90002 label/marker--&amp;gt;&lt;br /&gt;
| label90002      = 90002 Hatyai Christian Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/hatyai-christian-montessori/about Hatyai Christian Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label90002_size = 90&lt;br /&gt;
| label90002_width= 25&lt;br /&gt;
| position90002   = right&lt;br /&gt;
| background90002 = #fff&lt;br /&gt;
| mark90002       = Circle_red_blink.gif&lt;br /&gt;
| mark90002size   = 25&lt;br /&gt;
| link90002       = https://montessori-international.com/s/hatyai-christian-montessori/&lt;br /&gt;
| coordinates90002= {{coord|7.017352|100.494985}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--900030 label/marker--&amp;gt;&lt;br /&gt;
| mark900030       = Green 00ff00 pog.svg&lt;br /&gt;
| mark900030size   = 12&lt;br /&gt;
| link900030       = https://www.srinakarin.ac.th/&lt;br /&gt;
| coordinates900030= {{coord|6.746713|100.662956}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--90003 label/marker--&amp;gt;&lt;br /&gt;
| label90003      = 90003 Srinagarinda Wittayanukroh School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/srinagarinda/about Srinagarinda Wittayanukroh School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label90003_size = 90&lt;br /&gt;
| label90003_width= 25&lt;br /&gt;
| position90003   = left&lt;br /&gt;
| background90003 = #fff&lt;br /&gt;
| mark90003       = Circle_red_blink.gif&lt;br /&gt;
| mark90003size   = 25&lt;br /&gt;
| link90003       = https://www.srinakarin.ac.th/&lt;br /&gt;
| coordinates90003= {{coord|6.746713|100.662956}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--900040 label/marker--&amp;gt;&lt;br /&gt;
| mark900040       = Red-blue dot.svg&lt;br /&gt;
| mark900040size   = 12&lt;br /&gt;
| link900040       = https://montessori-international.com/s/suthrak/&lt;br /&gt;
| coordinates900040= {{coord|6.911010|100.73792}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--90004 label/marker--&amp;gt;&lt;br /&gt;
| label90004      = 90004 Suthrak Montessori School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/suthrak/about Suthrak Montessori School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label90004_size = 90&lt;br /&gt;
| label90004_width= 25&lt;br /&gt;
| position90004   = right&lt;br /&gt;
| background90004 = #fff&lt;br /&gt;
| mark90004       = Circle_red_blink.gif&lt;br /&gt;
| mark90004size   = 25&lt;br /&gt;
| link90004       = https://montessori-international.com/s/suthrak/&lt;br /&gt;
| coordinates90004= {{coord|6.911010|100.73792}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--900050 label/marker--&amp;gt;&lt;br /&gt;
| mark900050       = Red-blue dot.svg&lt;br /&gt;
| mark900050size   = 12&lt;br /&gt;
| link900050       = https://wondervalleyhatyai.com/&lt;br /&gt;
| coordinates900050= {{coord|6.854644|100.538026}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--90005 label/marker--&amp;gt;&lt;br /&gt;
| label90005      = 90005 Wonder Valley Hat Yai&amp;lt;ref&amp;gt;[https://montessori-international.com/s/wondervalley/about Wonder Valley Hat Yai &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label90005_size = 90&lt;br /&gt;
| label90005_width= 25&lt;br /&gt;
| position90005   = left&lt;br /&gt;
| background90005 = #fff&lt;br /&gt;
| mark90005       = Circle_red_blink.gif&lt;br /&gt;
| mark90005size   = 25&lt;br /&gt;
| link90005       = https://wondervalleyhatyai.com/&lt;br /&gt;
| coordinates90005= {{coord|6.854644|100.538026}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--920010 label/marker--&amp;gt;&lt;br /&gt;
| mark920010       = Red-blue dot.svg&lt;br /&gt;
| mark920010size   = 12&lt;br /&gt;
| link920010       = https://www.trinitytrang.com/&lt;br /&gt;
| coordinates920010= {{coord|7.740192|99.323854}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--92001 label/marker--&amp;gt;&lt;br /&gt;
| label92001      = Trinity Montessori Bilingual School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/trinity/about Trinity Montessori Bilingual School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label92001_size = 90&lt;br /&gt;
| label92001_width= 25&lt;br /&gt;
| position92001   = right&lt;br /&gt;
| background92001 = #FFF&lt;br /&gt;
| mark92001       = Circle_red_blink.gif&lt;br /&gt;
| mark92001size   = 25&lt;br /&gt;
| link92001       = https://www.trinitytrang.com/&lt;br /&gt;
| coordinates92001= {{coord|7.740192|99.323854}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--9320010 label/marker--&amp;gt;&lt;br /&gt;
| mark930010       = Red-blue dot.svg&lt;br /&gt;
| mark930010size   = 12&lt;br /&gt;
| link930010       = https://montessori-international.com/s/pattalung/&lt;br /&gt;
| coordinates930010= {{coord|7.604579|100.055081}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--93001 label/marker--&amp;gt;&lt;br /&gt;
| label93001      = Phattalung Christian School&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pattalung/about Phattalung Christian School &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label93001_size = 90&lt;br /&gt;
| label93001_width= 25&lt;br /&gt;
| position93001   = right&lt;br /&gt;
| background93001 = #FFF&lt;br /&gt;
| mark93001       = Circle_red_blink.gif&lt;br /&gt;
| mark93001size   = 25&lt;br /&gt;
| link93001       = https://montessori-international.com/s/pattalung/&lt;br /&gt;
| coordinates93001= {{coord|7.604579|100.055081}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--9400010 label/marker--&amp;gt;&lt;br /&gt;
| mark940010       = Red-blue dot.svg&lt;br /&gt;
| mark940010size   = 12&lt;br /&gt;
| link940010       = https://montessori-international.com/s/montessori-house-pattani/&lt;br /&gt;
| coordinates940010= {{coord|6.855006|101.255205}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--94001 label/marker--&amp;gt;&lt;br /&gt;
| label94001      = Montessori House Pattani&amp;lt;ref&amp;gt;[https://montessori-international.com/s/pattani/about Montessori House Pattani &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label94001_size = 90&lt;br /&gt;
| label94001_width= 25&lt;br /&gt;
| position94001   = right&lt;br /&gt;
| background94001 = #FFF&lt;br /&gt;
| mark94001       = Circle_red_blink.gif&lt;br /&gt;
| mark94001size   = 25&lt;br /&gt;
| link94001       = https://montessori-international.com/s/montessori-house-pattani/&lt;br /&gt;
| coordinates94001= {{coord|6.855006|101.255205}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--950010 label/marker--&amp;gt;&lt;br /&gt;
| mark950010       = Red-blue dot.svg&lt;br /&gt;
| mark950010size   = 12&lt;br /&gt;
| link950010       = https://www.yalamontessori.com/&lt;br /&gt;
| coordinates950010= {{coord|6.565914|101.291891}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--95001 label/marker--&amp;gt;&lt;br /&gt;
| label95001      = Montessori House of Sateng&amp;lt;ref&amp;gt;[https://montessori-international.com/s/sateng/about Montessori House of Sateng &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label95001_size = 90&lt;br /&gt;
| label95001_width= 25&lt;br /&gt;
| position95001   = right&lt;br /&gt;
| background95001 = #FFF&lt;br /&gt;
| mark95001       = Circle_red_blink.gif&lt;br /&gt;
| mark95001size   = 25&lt;br /&gt;
| link95001       = https://www.yalamontessori.com/&lt;br /&gt;
| coordinates95001= {{coord|6.565914|101.291891}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--950020 label/marker--&amp;gt;&lt;br /&gt;
| mark950020       = Red-blue dot.svg&lt;br /&gt;
| mark950020size   = 12&lt;br /&gt;
| link950020       = https://montessori-international.com/s/montessori-junior-yala/&lt;br /&gt;
| coordinates950020= {{coord|6.566485|101.291971}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--95002 label/marker--&amp;gt;&lt;br /&gt;
| label95002      = Montessori Junior Yala&amp;lt;ref&amp;gt;[https://montessori-international.com/s/montessori-junior-yala/about Montessori Junior Yala &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label95002_size = 90&lt;br /&gt;
| label95002_width= 25&lt;br /&gt;
| position95002   = left&lt;br /&gt;
| background95002 = #FFF&lt;br /&gt;
| mark95002       = Circle_red_blink.gif&lt;br /&gt;
| mark95002size   = 25&lt;br /&gt;
| link95002       = https://montessori-international.com/s/montessori-junior-yala/&lt;br /&gt;
| coordinates95002= {{coord|6.566485|101.291971}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--960010 label/marker--&amp;gt;&lt;br /&gt;
| mark960010       = Red-blue dot.svg&lt;br /&gt;
| mark960010size   = 12&lt;br /&gt;
| link960010       = https://montessori-international.com/s/kolok/&lt;br /&gt;
| coordinates960010= {{coord|6.011982|101.957120}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--96001 label/marker--&amp;gt;&lt;br /&gt;
| label96001      = 96001 Kolok Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/nongwaeng/about Kolok Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label96001_size = 90&lt;br /&gt;
| label96001_width= 25&lt;br /&gt;
| position96001   = left&lt;br /&gt;
| background96001 = #ffffff&lt;br /&gt;
| mark96001       = Circle_red_blink.gif&lt;br /&gt;
| mark96001size   = 25&lt;br /&gt;
| link96001       = https://montessori-international.com/s/kolok/&lt;br /&gt;
| coordinates96001= {{coord|6.011982|101.957120}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--960020 label/marker--&amp;gt;&lt;br /&gt;
| mark960020       = Red-blue dot.svg&lt;br /&gt;
| mark960020size   = 12&lt;br /&gt;
| link960020       = https://montessori-international.com/s/mumtaz/&lt;br /&gt;
| coordinates960020= {{coord|6.410058|101.823495}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--96002 label/marker--&amp;gt;&lt;br /&gt;
| label96002      = 96002 Mumtaz Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/mumtaz/about Mumtaz Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label96002_size = 90&lt;br /&gt;
| label96002_width= 50&lt;br /&gt;
| position96002   = left&lt;br /&gt;
| background96002 = #ffffff&lt;br /&gt;
| mark96002       = Circle_red_blink.gif&lt;br /&gt;
| mark96002size   = 25&lt;br /&gt;
| link96002       = https://montessori-international.com/s/mumtaz/&lt;br /&gt;
| coordinates96002= {{coord|6.410058|101.823495}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--960030 label/marker--&amp;gt;&lt;br /&gt;
| mark960030       = Red-blue dot.svg&lt;br /&gt;
| mark960030size   = 12&lt;br /&gt;
| link960030       = https://www.narashire.com/&lt;br /&gt;
| coordinates960030= {{coord|6.408965|101.822695}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--96003 label/marker--&amp;gt;&lt;br /&gt;
| label96003      = 96003 Narashire Montessori&amp;lt;ref&amp;gt;[https://montessori-international.com/s/narashire/about Narashire Montessori &amp;quot;About&amp;quot; page] seen at &#039;&#039;&#039;International Montessori Community (IMC)&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label96003_size = 90&lt;br /&gt;
| label96003_width= 25&lt;br /&gt;
| position96003   = left&lt;br /&gt;
| background96003 = #ffffff&lt;br /&gt;
| mark96003       = Circle_red_blink.gif&lt;br /&gt;
| mark96003size   = 25&lt;br /&gt;
| link96003       = https://www.narashire.com/&lt;br /&gt;
| coordinates96003= {{coord|6.408965|101.822695}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--repeat as needed--&amp;gt;&lt;br /&gt;
}} {{Clear}}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Gallery&amp;diff=5287</id>
		<title>Template:Gallery</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Gallery&amp;diff=5287"/>
		<updated>2023-08-09T08:10:48Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: MontessoriX changed the content model of the page Template:Gallery from &amp;quot;wikitext&amp;quot; to &amp;quot;CSS&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Gallery|gallery}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Clear&amp;diff=5286</id>
		<title>Template:Clear</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Clear&amp;diff=5286"/>
		<updated>2023-08-08T18:12:55Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: MontessoriX changed the content model of the page Template:Clear from &amp;quot;wikitext&amp;quot; to &amp;quot;CSS&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;clear:{{{1|both}}};&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Documentation&amp;diff=5285</id>
		<title>Module:Documentation</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Documentation&amp;diff=5285"/>
		<updated>2023-08-08T09:29:56Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{documentation}}.&lt;br /&gt;
&lt;br /&gt;
-- Get required modules.&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
-- Get the config table.&lt;br /&gt;
local cfg = mw.loadData(&#039;Module:Documentation/config&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Often-used functions.&lt;br /&gt;
local ugsub = mw.ustring.gsub&lt;br /&gt;
local format = mw.ustring.format&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--&lt;br /&gt;
-- These are defined as local functions, but are made available in the p&lt;br /&gt;
-- table for testing purposes.&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function message(cfgKey, valArray, expectType)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Gets a message from the cfg table and formats it if appropriate.&lt;br /&gt;
	-- The function raises an error if the value from the cfg table is not&lt;br /&gt;
	-- of the type expectType. The default type for expectType is &#039;string&#039;.&lt;br /&gt;
	-- If the table valArray is present, strings such as $1, $2 etc. in the&lt;br /&gt;
	-- message are substituted with values from the table keys [1], [2] etc.&lt;br /&gt;
	-- For example, if the message &amp;quot;foo-message&amp;quot; had the value &#039;Foo $2 bar $1.&#039;,&lt;br /&gt;
	-- message(&#039;foo-message&#039;, {&#039;baz&#039;, &#039;qux&#039;}) would return &amp;quot;Foo qux bar baz.&amp;quot;&lt;br /&gt;
	--]]&lt;br /&gt;
	local msg = cfg[cfgKey]&lt;br /&gt;
	expectType = expectType or &#039;string&#039;&lt;br /&gt;
	if type(msg) ~= expectType then&lt;br /&gt;
		error(&#039;message: type error in message cfg.&#039; .. cfgKey .. &#039; (&#039; .. expectType .. &#039; expected, got &#039; .. type(msg) .. &#039;)&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if not valArray then&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function getMessageVal(match)&lt;br /&gt;
		match = tonumber(match)&lt;br /&gt;
		return valArray[match] or error(&#039;message: no value found for key $&#039; .. match .. &#039; in message cfg.&#039; .. cfgKey, 4)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ugsub(msg, &#039;$([1-9][0-9]*)&#039;, getMessageVal)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.message = message&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(page, display)&lt;br /&gt;
	if display then&lt;br /&gt;
		return format(&#039;[[%s|%s]]&#039;, page, display)&lt;br /&gt;
	else&lt;br /&gt;
		return format(&#039;[[%s]]&#039;, page)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeWikilink = makeWikilink&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat, sort)&lt;br /&gt;
	local catns = mw.site.namespaces[14].name&lt;br /&gt;
	return makeWikilink(catns .. &#039;:&#039; .. cat, sort)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeCategoryLink = makeCategoryLink&lt;br /&gt;
&lt;br /&gt;
local function makeUrlLink(url, display)&lt;br /&gt;
	return format(&#039;[%s %s]&#039;, url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeUrlLink = makeUrlLink&lt;br /&gt;
&lt;br /&gt;
local function makeToolbar(...)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local lim = select(&#039;#&#039;, ...)&lt;br /&gt;
	if lim &amp;lt; 1 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, lim do&lt;br /&gt;
		ret[#ret + 1] = select(i, ...)&lt;br /&gt;
	end&lt;br /&gt;
	-- &#039;documentation-toolbar&#039;&lt;br /&gt;
	return format(&lt;br /&gt;
		&#039;&amp;lt;span class=&amp;quot;%s&amp;quot;&amp;gt;(%s)&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
		message(&#039;toolbar-class&#039;),&lt;br /&gt;
		table.concat(ret, &#039; &amp;amp;#124; &#039;)&lt;br /&gt;
	)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
p.makeToolbar = makeToolbar&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Argument processing&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame, {&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
				if type(value) == &#039;string&#039; then&lt;br /&gt;
					value = value:match(&#039;^%s*(.-)%s*$&#039;) -- Remove whitespace.&lt;br /&gt;
					if key == &#039;heading&#039; or value ~= &#039;&#039; then&lt;br /&gt;
						return value&lt;br /&gt;
					else&lt;br /&gt;
						return nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					return value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Entry points&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.nonexistent(frame)&lt;br /&gt;
	if mw.title.getCurrentTitle().subpageText == &#039;testcases&#039; then&lt;br /&gt;
		return frame:expandTemplate{title = &#039;module test cases notice&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return p.main(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.main = makeInvokeFunc(&#039;_main&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function defines logic flow for the module.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--]]&lt;br /&gt;
	local env = p.getEnvironment(args)&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	root&lt;br /&gt;
		:wikitext(p._getModuleWikitext(args, env))&lt;br /&gt;
		:wikitext(p.protectionTemplate(env))&lt;br /&gt;
		:wikitext(p.sandboxNotice(args, env))&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- &#039;documentation-container&#039;&lt;br /&gt;
			:addClass(message(&#039;container&#039;))&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;complementary&#039;)&lt;br /&gt;
			:attr(&#039;aria-labelledby&#039;, args.heading ~= &#039;&#039; and &#039;documentation-heading&#039; or nil)&lt;br /&gt;
			:attr(&#039;aria-label&#039;, args.heading == &#039;&#039; and &#039;Documentation&#039; or nil)&lt;br /&gt;
			:newline()&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- &#039;documentation&#039;&lt;br /&gt;
				:addClass(message(&#039;main-div-classes&#039;))&lt;br /&gt;
				:newline()&lt;br /&gt;
				:wikitext(p._startBox(args, env))&lt;br /&gt;
				:wikitext(p._content(args, env))&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					-- &#039;documentation-clear&#039;&lt;br /&gt;
					:addClass(message(&#039;clear&#039;))&lt;br /&gt;
					:done()&lt;br /&gt;
				:newline()&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(p._endBox(args, env))&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(p.addTrackingCategories(env))&lt;br /&gt;
	-- &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag (&lt;br /&gt;
		&#039;templatestyles&#039;, &#039;&#039;, {src=cfg[&#039;templatestyles&#039;]&lt;br /&gt;
	}) .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Environment settings&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.getEnvironment(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Returns a table with information about the environment, including title&lt;br /&gt;
	-- objects and other namespace- or path-related data.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--&lt;br /&gt;
	-- Title objects include:&lt;br /&gt;
	-- env.title - the page we are making documentation for (usually the current title)&lt;br /&gt;
	-- env.templateTitle - the template (or module, file, etc.)&lt;br /&gt;
	-- env.docTitle - the /doc subpage.&lt;br /&gt;
	-- env.sandboxTitle - the /sandbox subpage.&lt;br /&gt;
	-- env.testcasesTitle - the /testcases subpage.&lt;br /&gt;
	--&lt;br /&gt;
	-- Data includes:&lt;br /&gt;
	-- env.protectionLevels - the protection levels table of the title object.&lt;br /&gt;
	-- env.subjectSpace - the number of the title&#039;s subject namespace.&lt;br /&gt;
	-- env.docSpace - the number of the namespace the title puts its documentation in.&lt;br /&gt;
	-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.&lt;br /&gt;
	-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.&lt;br /&gt;
	-- &lt;br /&gt;
	-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value&lt;br /&gt;
	-- returned will be nil.&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local env, envFuncs = {}, {}&lt;br /&gt;
&lt;br /&gt;
	-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value&lt;br /&gt;
	-- returned by that function is memoized in the env table so that we don&#039;t call any of the functions&lt;br /&gt;
	-- more than once. (Nils won&#039;t be memoized.)&lt;br /&gt;
	setmetatable(env, {&lt;br /&gt;
		__index = function (t, key)&lt;br /&gt;
			local envFunc = envFuncs[key]&lt;br /&gt;
			if envFunc then&lt;br /&gt;
				local success, val = pcall(envFunc)&lt;br /&gt;
				if success then&lt;br /&gt;
					env[key] = val -- Memoise the value.&lt;br /&gt;
					return val&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	})	&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.title()&lt;br /&gt;
		-- The title object for the current page, or a test page passed with args.page.&lt;br /&gt;
		local title&lt;br /&gt;
		local titleArg = args.page&lt;br /&gt;
		if titleArg then&lt;br /&gt;
			title = mw.title.new(titleArg)&lt;br /&gt;
		else&lt;br /&gt;
			title = mw.title.getCurrentTitle()&lt;br /&gt;
		end&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.templateTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- The template (or module, etc.) title object.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local subpage = title.subpageText&lt;br /&gt;
		if subpage == message(&#039;sandbox-subpage&#039;) or subpage == message(&#039;testcases-subpage&#039;) then&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.baseText)&lt;br /&gt;
		else&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.text)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object of the /doc subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local docname = args[1] -- User-specified doc page.&lt;br /&gt;
		local docpage&lt;br /&gt;
		if docname then&lt;br /&gt;
			docpage = docname&lt;br /&gt;
		else&lt;br /&gt;
			docpage = env.docpageBase .. &#039;/&#039; .. message(&#039;doc-subpage&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return mw.title.new(docpage)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.sandboxTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /sandbox subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;sandbox-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.testcasesTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /testcases subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;testcases-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.protectionLevels()&lt;br /&gt;
		-- The protection levels table of the title object.&lt;br /&gt;
		return env.title.protectionLevels&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.subjectSpace()&lt;br /&gt;
		-- The subject namespace number.&lt;br /&gt;
		return mw.site.namespaces[env.title.namespace].subject.id&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docSpace()&lt;br /&gt;
		-- The documentation namespace number. For most namespaces this is the&lt;br /&gt;
		-- same as the subject namespace. However, pages in the Article, File,&lt;br /&gt;
		-- MediaWiki or Category namespaces must have their /doc, /sandbox and&lt;br /&gt;
		-- /testcases pages in talk space.&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then&lt;br /&gt;
			return subjectSpace + 1&lt;br /&gt;
		else&lt;br /&gt;
			return subjectSpace&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docpageBase()&lt;br /&gt;
		-- The base page of the /doc, /sandbox, and /testcases subpages.&lt;br /&gt;
		-- For some namespaces this is the talk page, rather than the template page.&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local docSpace = env.docSpace&lt;br /&gt;
		local docSpaceText = mw.site.namespaces[docSpace].name&lt;br /&gt;
		-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.&lt;br /&gt;
		return docSpaceText .. &#039;:&#039; .. templateTitle.text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.compareUrl()&lt;br /&gt;
		-- Diff link between the sandbox and the main template using [[Special:ComparePages]].&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local sandboxTitle = env.sandboxTitle&lt;br /&gt;
		if templateTitle.exists and sandboxTitle.exists then&lt;br /&gt;
			local compareUrl = mw.uri.canonicalUrl(&lt;br /&gt;
				&#039;Special:ComparePages&#039;,&lt;br /&gt;
				{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}&lt;br /&gt;
			)&lt;br /&gt;
			return tostring(compareUrl)&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
	return env&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Auxiliary templates&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.getModuleWikitext = makeInvokeFunc(&#039;_getModuleWikitext&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._getModuleWikitext(args, env)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if currentTitle.contentModel ~= &#039;Scribunto&#039; then return end&lt;br /&gt;
	pcall(require, currentTitle.prefixedText) -- if it fails, we don&#039;t care&lt;br /&gt;
	local moduleWikitext =  package.loaded[&amp;quot;Module:Module wikitext&amp;quot;]&lt;br /&gt;
	if moduleWikitext then&lt;br /&gt;
		return moduleWikitext.main()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sandboxNotice(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Generates a sandbox notice for display above sandbox pages.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-notice-image&#039; --&amp;gt; &#039;[[File:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-blurb&#039; --&amp;gt; &#039;This is the $1 for $2.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-diff-blurb&#039; --&amp;gt; &#039;This is the $1 for $2 ($3).&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-template&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|template sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-module&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|module sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-other&#039; --&amp;gt; &#039;sandbox page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-blurb&#039; --&amp;gt; &#039;See also the companion subpage for $1.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-link-display&#039; --&amp;gt; &#039;test cases&#039;&lt;br /&gt;
	-- &#039;sandbox-category&#039; --&amp;gt; &#039;Template sandboxes&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not (subjectSpace and title and sandboxTitle and templateTitle&lt;br /&gt;
		and mw.title.equals(title, sandboxTitle)) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Build the table of arguments to pass to {{ombox}}. We need just two fields, &amp;quot;image&amp;quot; and &amp;quot;text&amp;quot;.&lt;br /&gt;
	local omargs = {}&lt;br /&gt;
	omargs.image = message(&#039;sandbox-notice-image&#039;)&lt;br /&gt;
	-- Get the text. We start with the opening blurb, which is something like&lt;br /&gt;
	-- &amp;quot;This is the template sandbox for [[Template:Foo]] (diff).&amp;quot;&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-template&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-module&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-other&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local templateLink = makeWikilink(templateTitle.prefixedText)&lt;br /&gt;
	local compareUrl = env.compareUrl&lt;br /&gt;
	if compareUrl then&lt;br /&gt;
		local compareDisplay = message(&#039;sandbox-notice-compare-link-display&#039;)&lt;br /&gt;
		local compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-diff-blurb&#039;, {pagetype, templateLink, compareLink})&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-blurb&#039;, {pagetype, templateLink})&lt;br /&gt;
	end&lt;br /&gt;
	-- Get the test cases page blurb if the page exists. This is something like&lt;br /&gt;
	-- &amp;quot;See also the companion subpage for [[Template:Foo/testcases|test cases]].&amp;quot;&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	if testcasesTitle and testcasesTitle.exists then&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;sandbox-notice-testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-run-blurb&#039;, {testcasesLink, testcasesRunLink})&lt;br /&gt;
		else&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-blurb&#039;, {testcasesLink})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Add the sandbox to the sandbox category.&lt;br /&gt;
	omargs.text = text .. makeCategoryLink(message(&#039;sandbox-category&#039;))&lt;br /&gt;
&lt;br /&gt;
	-- &#039;documentation-clear&#039;&lt;br /&gt;
	return &#039;&amp;lt;div class=&amp;quot;&#039; .. message(&#039;clear&#039;) .. &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		.. require(&#039;Module:Message box&#039;).main(&#039;ombox&#039;, omargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.protectionTemplate(env)&lt;br /&gt;
	-- Generates the padlock icon in the top right.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;protection-template&#039; --&amp;gt; &#039;pp-template&#039;&lt;br /&gt;
	-- &#039;protection-template-args&#039; --&amp;gt; {docusage = &#039;yes&#039;}&lt;br /&gt;
	local protectionLevels = env.protectionLevels&lt;br /&gt;
	if not protectionLevels then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local editProt = protectionLevels.edit and protectionLevels.edit[1]&lt;br /&gt;
	local moveProt = protectionLevels.move and protectionLevels.move[1]&lt;br /&gt;
	if editProt then&lt;br /&gt;
		-- The page is edit-protected.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			message(&#039;protection-reason-edit&#039;), small = true&lt;br /&gt;
		}&lt;br /&gt;
	elseif moveProt and moveProt ~= &#039;autoconfirmed&#039; then&lt;br /&gt;
		-- The page is move-protected but not edit-protected. Exclude move&lt;br /&gt;
		-- protection with the level &amp;quot;autoconfirmed&amp;quot;, as this is equivalent to&lt;br /&gt;
		-- no move protection at all.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			action = &#039;move&#039;, small = true&lt;br /&gt;
		}&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Start box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.startBox = makeInvokeFunc(&#039;_startBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._startBox(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function generates the start box.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make&lt;br /&gt;
	-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox&lt;br /&gt;
	-- which generate the box HTML.&lt;br /&gt;
	--]]&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local links&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content or args[1] then&lt;br /&gt;
		-- No need to include the links if the documentation is on the template page itself.&lt;br /&gt;
		local linksData = p.makeStartBoxLinksData(args, env)&lt;br /&gt;
		if linksData then&lt;br /&gt;
			links = p.renderStartBoxLinks(linksData)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Generate the start box html.&lt;br /&gt;
	local data = p.makeStartBoxData(args, env, links)&lt;br /&gt;
	if data then&lt;br /&gt;
		return p.renderStartBox(data)&lt;br /&gt;
	else&lt;br /&gt;
		-- User specified no heading.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxLinksData(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Does initial processing of data to make the [view] [edit] [history] [purge] links.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;view-link-display&#039; --&amp;gt; &#039;view&#039;&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;purge-link-display&#039; --&amp;gt; &#039;purge&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;docpage-preload&#039; --&amp;gt; &#039;Template:Documentation/preload&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not title or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if docTitle.isRedirect then &lt;br /&gt;
		docTitle = docTitle.redirectTarget&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Create link if /doc doesn&#039;t exist.&lt;br /&gt;
	local preload = args.preload&lt;br /&gt;
	if not preload then&lt;br /&gt;
		if subjectSpace == 828 then -- Module namespace&lt;br /&gt;
			preload = message(&#039;module-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			preload = message(&#039;docpage-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return {&lt;br /&gt;
		title = title,&lt;br /&gt;
		docTitle = docTitle,&lt;br /&gt;
		-- View, display, edit, and purge links if /doc exists.&lt;br /&gt;
		viewLinkDisplay = message(&#039;view-link-display&#039;),&lt;br /&gt;
		editLinkDisplay = message(&#039;edit-link-display&#039;),&lt;br /&gt;
		historyLinkDisplay = message(&#039;history-link-display&#039;),&lt;br /&gt;
		purgeLinkDisplay = message(&#039;purge-link-display&#039;),&lt;br /&gt;
		preload = preload,&lt;br /&gt;
		createLinkDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBoxLinks(data)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxLinksData&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = data.docTitle&lt;br /&gt;
	-- yes, we do intend to purge the template page on which the documentation appears&lt;br /&gt;
	local purgeLink = makeWikilink(&amp;quot;Special:Purge/&amp;quot; .. data.title.prefixedText, data.purgeLinkDisplay)&lt;br /&gt;
	&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)&lt;br /&gt;
		local editLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. docTitle.prefixedText, data.editLinkDisplay)&lt;br /&gt;
		local historyLink = makeWikilink(&amp;quot;Special:PageHistory/&amp;quot; .. docTitle.prefixedText, data.historyLinkDisplay)&lt;br /&gt;
		return &amp;quot;&amp;amp;#91;&amp;quot; .. viewLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. editLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. historyLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. purgeLink .. &amp;quot;&amp;amp;#93;&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		local createLink = makeUrlLink(docTitle:canonicalUrl{action = &#039;edit&#039;, preload = data.preload}, data.createLinkDisplay)&lt;br /&gt;
		return  &amp;quot;&amp;amp;#91;&amp;quot; .. createLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. purgeLink .. &amp;quot;&amp;amp;#93;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxData(args, env, links)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- @links - a string containing the [view][edit][history][purge] links - could be nil if there&#039;s an error.&lt;br /&gt;
	--&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;documentation-icon-wikitext&#039; --&amp;gt; &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
	-- &#039;template-namespace-heading&#039; --&amp;gt; &#039;Template documentation&#039;&lt;br /&gt;
	-- &#039;module-namespace-heading&#039; --&amp;gt; &#039;Module documentation&#039;&lt;br /&gt;
	-- &#039;file-namespace-heading&#039; --&amp;gt; &#039;Summary&#039;&lt;br /&gt;
	-- &#039;other-namespaces-heading&#039; --&amp;gt; &#039;Documentation&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not subjectSpace then&lt;br /&gt;
		-- Default to an &amp;quot;other namespaces&amp;quot; namespace, so that we get at least some output&lt;br /&gt;
		-- if an error occurs.&lt;br /&gt;
		subjectSpace = 2&lt;br /&gt;
	end&lt;br /&gt;
	local data = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Heading&lt;br /&gt;
	local heading = args.heading -- Blank values are not removed.&lt;br /&gt;
	if heading == &#039;&#039; then&lt;br /&gt;
		-- Don&#039;t display the start box if the heading arg is defined but blank.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if heading then&lt;br /&gt;
		data.heading = heading&lt;br /&gt;
	elseif subjectSpace == 10 then -- Template namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;template-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then -- Module namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;module-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 6 then -- File namespace&lt;br /&gt;
		data.heading = message(&#039;file-namespace-heading&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		data.heading = message(&#039;other-namespaces-heading&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Heading CSS&lt;br /&gt;
	local headingStyle = args[&#039;heading-style&#039;]&lt;br /&gt;
	if headingStyle then&lt;br /&gt;
		data.headingStyleText = headingStyle&lt;br /&gt;
	else&lt;br /&gt;
		-- &#039;documentation-heading&#039;&lt;br /&gt;
		data.headingClass = message(&#039;main-div-heading-class&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Data for the [view][edit][history][purge] or [create] links.&lt;br /&gt;
	if links then&lt;br /&gt;
		-- &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
		data.linksClass = message(&#039;start-box-link-classes&#039;)&lt;br /&gt;
		data.links = links&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBox(data)&lt;br /&gt;
	-- Renders the start box html.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxData.&lt;br /&gt;
	local sbox = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	sbox&lt;br /&gt;
		-- &#039;documentation-startbox&#039;&lt;br /&gt;
		:addClass(message(&#039;start-box-class&#039;))&lt;br /&gt;
		:newline()&lt;br /&gt;
		:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.headingClass)&lt;br /&gt;
			:attr(&#039;id&#039;, &#039;documentation-heading&#039;)&lt;br /&gt;
			:cssText(data.headingStyleText)&lt;br /&gt;
			:wikitext(data.heading)&lt;br /&gt;
	local links = data.links&lt;br /&gt;
	if links then&lt;br /&gt;
		sbox:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.linksClass)&lt;br /&gt;
			:attr(&#039;id&#039;, data.linksId)&lt;br /&gt;
			:wikitext(links)&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(sbox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Documentation content&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.content = makeInvokeFunc(&#039;_content&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._content(args, env)&lt;br /&gt;
	-- Displays the documentation contents&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content and docTitle and docTitle.exists then&lt;br /&gt;
		content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}&lt;br /&gt;
	end&lt;br /&gt;
	-- The line breaks below are necessary so that &amp;quot;=== Headings ===&amp;quot; at the start and end&lt;br /&gt;
	-- of docs are interpreted correctly.&lt;br /&gt;
	return &#039;\n&#039; .. (content or &#039;&#039;) .. &#039;\n&#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.contentTitle = makeInvokeFunc(&#039;_contentTitle&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._contentTitle(args, env)&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not args.content and docTitle and docTitle.exists then&lt;br /&gt;
		return docTitle.prefixedText&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- End box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.endBox = makeInvokeFunc(&#039;_endBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._endBox(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- This function generates the end box (also known as the link box).&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	--]=]&lt;br /&gt;
	&lt;br /&gt;
	-- Get environment data.&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not subjectSpace or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Check whether we should output the end box at all. Add the end&lt;br /&gt;
	-- box by default if the documentation exists or if we are in the&lt;br /&gt;
	-- user, module or template namespaces.&lt;br /&gt;
	local linkBox = args[&#039;link box&#039;]&lt;br /&gt;
	if linkBox == &#039;off&#039;&lt;br /&gt;
		or not (&lt;br /&gt;
			docTitle.exists&lt;br /&gt;
			or subjectSpace == 2&lt;br /&gt;
			or subjectSpace == 828&lt;br /&gt;
			or subjectSpace == 10&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Assemble the link box.&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if linkBox then&lt;br /&gt;
		text = text .. linkBox&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. (p.makeDocPageBlurb(args, env) or &#039;&#039;) -- &amp;quot;This documentation is transcluded from [[Foo]].&amp;quot; &lt;br /&gt;
		if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then&lt;br /&gt;
			-- We are in the user, template or module namespaces.&lt;br /&gt;
			-- Add sandbox and testcases links.&lt;br /&gt;
			-- &amp;quot;Editors can experiment in this template&#039;s sandbox and testcases pages.&amp;quot;&lt;br /&gt;
			text = text .. (p.makeExperimentBlurb(args, env) or &#039;&#039;) .. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
			if not args.content and not args[1] then&lt;br /&gt;
				-- &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
				-- Don&#039;t show this message with inline docs or with an explicitly specified doc page,&lt;br /&gt;
				-- as then it is unclear where to add the categories.&lt;br /&gt;
				text = text .. (p.makeCategoriesBlurb(args, env) or &#039;&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			text = text .. &#039; &#039; .. (p.makeSubpagesBlurb(args, env) or &#039;&#039;) --&amp;quot;Subpages of this template&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local box = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	-- &#039;documentation-metadata&#039;&lt;br /&gt;
	box:attr(&#039;role&#039;, &#039;note&#039;)&lt;br /&gt;
		:addClass(message(&#039;end-box-class&#039;))&lt;br /&gt;
		-- &#039;plainlinks&#039;&lt;br /&gt;
		:addClass(message(&#039;end-box-plainlinks&#039;))&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	return &#039;\n&#039; .. tostring(box)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeDocPageBlurb(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Makes the blurb &amp;quot;This documentation is transcluded from [[Template:Foo]] (edit, history)&amp;quot;.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;transcluded-from-blurb&#039; --&amp;gt; &lt;br /&gt;
	-- &#039;The above [[Wikipedia:Template documentation|documentation]] &lt;br /&gt;
	-- is [[Help:Transclusion|transcluded]] from $1.&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;create-module-doc-blurb&#039; --&amp;gt;&lt;br /&gt;
	-- &#039;You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local ret&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		-- /doc exists; link to it.&lt;br /&gt;
		local docLink = makeWikilink(docTitle.prefixedText)&lt;br /&gt;
		local editDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
		local editLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. docTitle.prefixedText, editDisplay)&lt;br /&gt;
		local historyDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
		local historyLink = makeWikilink(&amp;quot;Special:PageHistory/&amp;quot; .. docTitle.prefixedText, historyDisplay)&lt;br /&gt;
		ret = message(&#039;transcluded-from-blurb&#039;, {docLink})&lt;br /&gt;
			.. &#039; &#039;&lt;br /&gt;
			.. makeToolbar(editLink, historyLink)&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	elseif env.subjectSpace == 828 then&lt;br /&gt;
		-- /doc does not exist; ask to create it.&lt;br /&gt;
		local createUrl = docTitle:canonicalUrl{action = &#039;edit&#039;, preload = message(&#039;module-preload&#039;)}&lt;br /&gt;
		local createDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
		local createLink = makeUrlLink(createUrl, createDisplay)&lt;br /&gt;
		ret = message(&#039;create-module-doc-blurb&#039;, {createLink})&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeExperimentBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Renders the text &amp;quot;Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;module-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;mirror-edit-summary&#039; --&amp;gt; &#039;Create sandbox version of $1&#039;&lt;br /&gt;
	-- &#039;mirror-link-display&#039; --&amp;gt; &#039;mirror&#039;&lt;br /&gt;
	-- &#039;mirror-link-preload&#039; --&amp;gt; &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039;--&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;module-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
	-- &#039;template-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-module&#039; --&amp;gt; &#039;Editors can experiment in this module&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-template&#039; --&amp;gt; &#039;Editors can experiment in this template&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	local templatePage = templateTitle.prefixedText&lt;br /&gt;
	if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Make links.&lt;br /&gt;
	local sandboxLinks, testcasesLinks&lt;br /&gt;
	if sandboxTitle.exists then&lt;br /&gt;
		local sandboxPage = sandboxTitle.prefixedText&lt;br /&gt;
		local sandboxDisplay = message(&#039;sandbox-link-display&#039;)&lt;br /&gt;
		local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)&lt;br /&gt;
		local sandboxEditDisplay = message(&#039;sandbox-edit-link-display&#039;)&lt;br /&gt;
		local sandboxEditLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. sandboxPage, sandboxEditDisplay)&lt;br /&gt;
		local compareUrl = env.compareUrl&lt;br /&gt;
		local compareLink&lt;br /&gt;
		if compareUrl then&lt;br /&gt;
			local compareDisplay = message(&#039;compare-link-display&#039;)&lt;br /&gt;
			compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		end&lt;br /&gt;
		sandboxLinks = sandboxLink .. &#039; &#039; .. makeToolbar(sandboxEditLink, compareLink)&lt;br /&gt;
	else&lt;br /&gt;
		local sandboxPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			sandboxPreload = message(&#039;module-sandbox-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			sandboxPreload = message(&#039;template-sandbox-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = sandboxPreload}&lt;br /&gt;
		local sandboxCreateDisplay = message(&#039;sandbox-create-link-display&#039;)&lt;br /&gt;
		local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)&lt;br /&gt;
		local mirrorSummary = message(&#039;mirror-edit-summary&#039;, {makeWikilink(templatePage)})&lt;br /&gt;
		local mirrorPreload = message(&#039;mirror-link-preload&#039;)&lt;br /&gt;
		local mirrorUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = mirrorPreload, summary = mirrorSummary}&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			mirrorUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = templateTitle.prefixedText, summary = mirrorSummary}&lt;br /&gt;
		end&lt;br /&gt;
		local mirrorDisplay = message(&#039;mirror-link-display&#039;)&lt;br /&gt;
		local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)&lt;br /&gt;
		sandboxLinks = message(&#039;sandbox-link-display&#039;) .. &#039; &#039; .. makeToolbar(sandboxCreateLink, mirrorLink)&lt;br /&gt;
	end&lt;br /&gt;
	if testcasesTitle.exists then&lt;br /&gt;
		local testcasesPage = testcasesTitle.prefixedText&lt;br /&gt;
		local testcasesDisplay = message(&#039;testcases-link-display&#039;)&lt;br /&gt;
		local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)&lt;br /&gt;
		local testcasesEditUrl = testcasesTitle:canonicalUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local testcasesEditDisplay = message(&#039;testcases-edit-link-display&#039;)&lt;br /&gt;
		local testcasesEditLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. testcasesPage, testcasesEditDisplay)&lt;br /&gt;
		-- for Modules, add testcases run link if exists&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot;  and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink, testcasesRunLink)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local testcasesPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			testcasesPreload = message(&#039;module-testcases-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesPreload = message(&#039;template-testcases-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = &#039;edit&#039;, preload = testcasesPreload}&lt;br /&gt;
		local testcasesCreateDisplay = message(&#039;testcases-create-link-display&#039;)&lt;br /&gt;
		local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)&lt;br /&gt;
		testcasesLinks = message(&#039;testcases-link-display&#039;) .. &#039; &#039; .. makeToolbar(testcasesCreateLink)&lt;br /&gt;
	end&lt;br /&gt;
	local messageName&lt;br /&gt;
	if subjectSpace == 828 then&lt;br /&gt;
		messageName = &#039;experiment-blurb-module&#039;&lt;br /&gt;
	else&lt;br /&gt;
		messageName = &#039;experiment-blurb-template&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return message(messageName, {sandboxLinks, testcasesLinks})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeCategoriesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the text &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;doc-link-display&#039; --&amp;gt; &#039;/doc&#039;&lt;br /&gt;
	-- &#039;add-categories-blurb&#039; --&amp;gt; &#039;Please add categories to the $1 subpage.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local docPathLink = makeWikilink(docTitle.prefixedText, message(&#039;doc-link-display&#039;))&lt;br /&gt;
	return message(&#039;add-categories-blurb&#039;, {docPathLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeSubpagesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the &amp;quot;Subpages of this template&amp;quot; link.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;template-pagetype&#039; --&amp;gt; &#039;template&#039;&lt;br /&gt;
	-- &#039;module-pagetype&#039; --&amp;gt; &#039;module&#039;&lt;br /&gt;
	-- &#039;default-pagetype&#039; --&amp;gt; &#039;page&#039;&lt;br /&gt;
	-- &#039;subpages-link-display&#039; --&amp;gt; &#039;Subpages of this $1&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	if not subjectSpace or not templateTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;template-pagetype&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;module-pagetype&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;default-pagetype&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local subpagesLink = makeWikilink(&lt;br /&gt;
		&#039;Special:PrefixIndex/&#039; .. templateTitle.prefixedText .. &#039;/&#039;,&lt;br /&gt;
		message(&#039;subpages-link-display&#039;, {pagetype})&lt;br /&gt;
	)&lt;br /&gt;
	return message(&#039;subpages-blurb&#039;, {subpagesLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Tracking categories&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.addTrackingCategories(env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Check if {{documentation}} is transcluded on a /doc or /testcases page.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;display-strange-usage-category&#039; --&amp;gt; true&lt;br /&gt;
	-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
	-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;strange-usage-category&#039; --&amp;gt; &#039;Wikipedia pages with strange ((documentation)) usage&#039;&lt;br /&gt;
	-- &lt;br /&gt;
	-- /testcases pages in the module namespace are not categorised, as they may have&lt;br /&gt;
	-- {{documentation}} transcluded automatically.&lt;br /&gt;
	--]]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not title or not subjectSpace then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if message(&#039;display-strange-usage-category&#039;, nil, &#039;boolean&#039;)&lt;br /&gt;
		and (&lt;br /&gt;
			subpage == message(&#039;doc-subpage&#039;)&lt;br /&gt;
			or subjectSpace ~= 828 and subpage == message(&#039;testcases-subpage&#039;)&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		ret = ret .. makeCategoryLink(message(&#039;strange-usage-category&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Clear&amp;diff=5284</id>
		<title>Template:Clear</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Clear&amp;diff=5284"/>
		<updated>2023-08-08T09:24:08Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Clear&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;clear:{{{1|both}}};&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Coord&amp;diff=5283</id>
		<title>Template:Coord</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Coord&amp;diff=5283"/>
		<updated>2023-08-08T09:23:45Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Coord&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Coordinates|coord}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Location_map_many&amp;diff=5282</id>
		<title>Template:Location map many</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Location_map_many&amp;diff=5282"/>
		<updated>2023-08-08T09:23:20Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Location map many&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Location map/multi|many}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD THIS TEMPLATE&#039;S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Loop&amp;diff=5281</id>
		<title>Template:Loop</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Loop&amp;diff=5281"/>
		<updated>2023-08-08T09:22:53Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Loop&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:String|rep|1={{{2|}}}|2={{{1|&amp;lt;noinclude&amp;gt;1&amp;lt;/noinclude&amp;gt;}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go in Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Main_other&amp;diff=5280</id>
		<title>Template:Main other</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Main_other&amp;diff=5280"/>
		<updated>2023-08-08T09:22:25Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Main other&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:&lt;br /&gt;
  &amp;lt;!--If no or empty &amp;quot;demospace&amp;quot; parameter then detect namespace--&amp;gt;&lt;br /&gt;
  {{#if:{{{demospace|}}} &lt;br /&gt;
  | {{lc: {{{demospace}}} }}    &amp;lt;!--Use lower case &amp;quot;demospace&amp;quot;--&amp;gt;&lt;br /&gt;
  | {{#ifeq:{{NAMESPACE}}|{{ns:0}}&lt;br /&gt;
    | main&lt;br /&gt;
    | other&lt;br /&gt;
    }} &lt;br /&gt;
  }}&lt;br /&gt;
| main     = {{{1|}}}&lt;br /&gt;
| other&lt;br /&gt;
| #default = {{{2|}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Pagetype&amp;diff=5279</id>
		<title>Template:Pagetype</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Pagetype&amp;diff=5279"/>
		<updated>2023-08-08T09:21:54Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Pagetype&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:pagetype|main}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Portal&amp;diff=5278</id>
		<title>Template:Portal</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Portal&amp;diff=5278"/>
		<updated>2023-08-08T09:21:26Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Portal&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Portal|portal}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Reflist&amp;diff=5277</id>
		<title>Template:Reflist</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Reflist&amp;diff=5277"/>
		<updated>2023-08-08T09:20:57Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Reflist&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Reflist/styles.css&amp;quot; /&amp;gt;&amp;lt;div class=&amp;quot;reflist &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{1|}}}{{{colwidth|}}}|reflist-columns references-column-width}} &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#switch:{{{liststyle|{{{group|}}}}}}|upper-alpha|upper-roman|lower-alpha|lower-greek|lower-roman=reflist-{{{liststyle|{{{group}}}}}}}} &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{1|}}}|{{#iferror:{{#ifexpr: {{{1|1}}} &amp;gt; 1 }}||{{#switch:{{{1|}}}|1=|2=reflist-columns-2|#default=reflist-columns-3}} }}}}&amp;quot; &amp;lt;!-- end class&lt;br /&gt;
--&amp;gt;{{#if: {{{1|}}}&amp;lt;!-- start style --&amp;gt;&lt;br /&gt;
    | {{#iferror: {{#ifexpr: {{{1|1}}} &amp;gt; 1 }} |style=&amp;quot;column-width: {{{1}}};&amp;quot;}}&lt;br /&gt;
    | {{#if: {{{colwidth|}}}|style=&amp;quot;column-width: {{{colwidth}}};&amp;quot;}}&lt;br /&gt;
    }}&amp;gt;&lt;br /&gt;
{{#tag:references|{{{refs|}}}|group={{{group|}}}|responsive={{#if:{{{1|}}}{{{colwidth|}}}|0|1}}}}&amp;lt;/div&amp;gt;{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using reflist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Reflist]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Reflist/styles.css&amp;diff=5276</id>
		<title>Template:Reflist/styles.css</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Reflist/styles.css&amp;diff=5276"/>
		<updated>2023-08-08T09:20:28Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Reflist/styles.css&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=yes}} */&lt;br /&gt;
/* can we remove the font size declarations? .references gets a font-size in&lt;br /&gt;
 * common.css that is always 90, and there is nothing else in reflist out in&lt;br /&gt;
 * the wild. May affect column sizes.&lt;br /&gt;
 */&lt;br /&gt;
.reflist {&lt;br /&gt;
	font-size: 90%;            /* Default font-size */&lt;br /&gt;
	margin-bottom: 0.5em;&lt;br /&gt;
	list-style-type: decimal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist .references {&lt;br /&gt;
	font-size: 100%;           /* Reset font-size when nested in div.reflist */&lt;br /&gt;
	margin-bottom: 0;          /* Avoid double margin when nested in div.reflist */&lt;br /&gt;
	list-style-type: inherit;  /* Enable custom list style types */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* columns-2 and columns-3 are legacy for &amp;quot;2 or more&amp;quot; column view from when the&lt;br /&gt;
 * template was implemented with column-count.&lt;br /&gt;
 */&lt;br /&gt;
.reflist-columns-2 {&lt;br /&gt;
	column-width: 30em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-columns-3 {&lt;br /&gt;
	column-width: 25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reset top margin for lists embedded in columns */&lt;br /&gt;
.reflist-columns {&lt;br /&gt;
	margin-top: 0.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-columns ol {&lt;br /&gt;
	margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Avoid elements breaking between columns */&lt;br /&gt;
.reflist-columns li {&lt;br /&gt;
	page-break-inside: avoid; /* Removed from CSS in favor of break-inside c. 2020 */&lt;br /&gt;
	break-inside: avoid-column;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-upper-alpha {&lt;br /&gt;
	list-style-type: upper-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-upper-roman {&lt;br /&gt;
	list-style-type: upper-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-lower-alpha {&lt;br /&gt;
	list-style-type: lower-alpha;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-lower-greek {&lt;br /&gt;
	list-style-type: lower-greek;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.reflist-lower-roman {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:SDcat&amp;diff=5275</id>
		<title>Template:SDcat</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:SDcat&amp;diff=5275"/>
		<updated>2023-08-08T09:19:08Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:SDcat&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:SDcat |setCat}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Short_description&amp;diff=5274</id>
		<title>Template:Short description</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Short_description&amp;diff=5274"/>
		<updated>2023-08-08T09:18:43Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Short description&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{lc:{{{1|}}}}}|none|&amp;lt;nowiki /&amp;gt;&amp;lt;!--Prevents whitespace issues when used with adjacent newlines--&amp;gt;|&amp;lt;div class=&amp;quot;shortdescription nomobile noexcerpt noprint searchaux&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;{{{1|}}}{{SHORTDESC:{{{1|}}}|{{{2|}}}}}&amp;lt;/div&amp;gt;}}&amp;lt;includeonly&amp;gt;{{#ifeq:{{{pagetype}}}|Disambiguation pages||{{#ifeq:{{pagetype |defaultns = all |user=exclude}}|exclude||{{#ifeq:{{#switch: {{NAMESPACENUMBER}} | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 100 | 101 | 118 | 119 | 828 | 829 | = exclude|#default=}}|exclude||[[Category:{{{pagetype|{{pagetype |defaultns = extended |plural=y}}}}} with short description]]}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;!-- Start tracking&lt;br /&gt;
--&amp;gt;{{#invoke:Check for unknown parameters|check|unknown={{Main other|[[Category:Pages using short description with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Short description]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y| 1 | 2 | pagetype | bot |plural }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{#invoke:String|len|{{{1|}}}}}&amp;gt;100 | [[Category:{{{pagetype|{{pagetype |defaultns = extended |plural=y}}}}} with long short description]]}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;{{#if:{{{1|}}}||[[Category:Pages with empty short description]]}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Short description/lowercasecheck|{{{1|}}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Main other |{{SDcat |sd={{{1|}}} }} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Short_description/lowercasecheck&amp;diff=5273</id>
		<title>Template:Short description/lowercasecheck</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Short_description/lowercasecheck&amp;diff=5273"/>
		<updated>2023-08-08T09:18:14Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Short description/lowercasecheck&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:&amp;lt;!--test first character for lower-case letter--&amp;gt;{{#invoke:string|find|1={{{1|}}}|2=^%l|plain=false}}|1&lt;br /&gt;
|&amp;lt;!-- first character is a lower case letter; test against whitelist&lt;br /&gt;
--&amp;gt;{{#switch: {{First word|{{{1|}}}}}&amp;lt;!--begin whitelist--&amp;gt;&lt;br /&gt;
|c. &amp;lt;!--for circa--&amp;gt;&lt;br /&gt;
|gTLD&lt;br /&gt;
|iMac&lt;br /&gt;
|iOS&lt;br /&gt;
|iOS,&lt;br /&gt;
|iPad&lt;br /&gt;
|iPhone&lt;br /&gt;
|iTunes&lt;br /&gt;
|macOS&lt;br /&gt;
|none&lt;br /&gt;
|pH&lt;br /&gt;
|pH-dependent=&amp;lt;!-- end whitelist; short description starts with an allowed lower-case string; whitelist matched; do nothing --&amp;gt; &lt;br /&gt;
|#default=&amp;lt;!-- apply category to track lower-case short descriptions --&amp;gt;{{main other|[[Category:Pages with lower-case short description|{{trim|{{{1|}}}}}]]}}{{Testcases other|{{red|CATEGORY APPLIED}}}}&amp;lt;!-- end whitelist test --&amp;gt;}}&lt;br /&gt;
|&amp;lt;!-- short description does not start with lower-case letter; do nothing; end lower-case test --&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Sorting_row&amp;diff=5272</id>
		<title>Template:Sorting row</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Sorting_row&amp;diff=5272"/>
		<updated>2023-08-08T09:17:43Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Sorting row&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
! style{{=}}background-position:center {{!}} &amp;amp;nbsp; {{loop | {{#expr: {{{1|}}} - 1}} | !! style{{=}}background-position:center {{!}}{{sp}} }}&lt;br /&gt;
{{!}}-&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Sp&amp;diff=5271</id>
		<title>Template:Sp</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Sp&amp;diff=5271"/>
		<updated>2023-08-08T09:17:11Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Changed protection settings for &amp;quot;Template:Sp&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;amp;#32;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Sp&amp;diff=5270</id>
		<title>Template:Sp</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Sp&amp;diff=5270"/>
		<updated>2023-08-08T09:17:03Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Sp&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;amp;#32;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Template:Vertical_header&amp;diff=5269</id>
		<title>Template:Vertical header</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Template:Vertical_header&amp;diff=5269"/>
		<updated>2023-08-08T09:15:43Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Template:Vertical header&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! &amp;lt;/noinclude&amp;gt;{{#invoke:Vertical header|cell|text={{{1|&amp;lt;noinclude&amp;gt;Sample text&amp;lt;/noinclude&amp;gt;}}}|sortPadding={{{stp|}}}|vertAlign={{{va|bottom}}}|maxWidth={{{mw|}}}|noBold={{{nb|}}}|style={{{style|}}}|cellstyle={{{cellstyle|}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{doc}}{{pp-template}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Arguments&amp;diff=5268</id>
		<title>Module:Arguments</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Arguments&amp;diff=5268"/>
		<updated>2023-08-08T09:15:11Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Arguments&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don&#039;t have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		val = val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		return val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		if val:find(&#039;%S&#039;) then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == &#039;string&#039; or tp == &#039;number&#039;) and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 1, frame, &#039;table&#039;, true)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame&#039;s availability. If we weren&#039;t&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == &#039;table&#039; and type(frame.getParent) == &#039;function&#039; then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame&#039;s title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;)&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == &#039;table&#039; then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn&#039;t set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don&#039;t have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= &#039;function&#039; then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option &#039;valueFunc&#039;&amp;quot;&lt;br /&gt;
					.. &#039;(function expected, got &#039;&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. &#039;)&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are &#039;s&#039; (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= &#039;h&#039; then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = &#039;s&#039;&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; the table is read-only&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; overwriting existing arguments is not permitted&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn&#039;t looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= &#039;string&#039; or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won&#039;t cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Check_for_unknown_parameters&amp;diff=5267</id>
		<title>Module:Check for unknown parameters</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Check_for_unknown_parameters&amp;diff=5267"/>
		<updated>2023-08-08T09:14:47Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Check for unknown parameters&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module may be used to compare the arguments passed to the parent&lt;br /&gt;
-- with a list of arguments, returning a specified result if an argument is&lt;br /&gt;
-- not on the list&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function trim(s)&lt;br /&gt;
	return s:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isnotempty(s)&lt;br /&gt;
	return s and s:match(&#039;%S&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function clean(text)&lt;br /&gt;
	-- Return text cleaned for display and truncated if too long.&lt;br /&gt;
	-- Strip markers are replaced with dummy text representing the original wikitext.&lt;br /&gt;
	local pos, truncated&lt;br /&gt;
	local function truncate(text)&lt;br /&gt;
		if truncated then&lt;br /&gt;
			return &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if mw.ustring.len(text) &amp;gt; 25 then&lt;br /&gt;
			truncated = true&lt;br /&gt;
			text = mw.ustring.sub(text, 1, 25) .. &#039;...&#039;&lt;br /&gt;
		end&lt;br /&gt;
		return mw.text.nowiki(text)&lt;br /&gt;
	end&lt;br /&gt;
	local parts = {}&lt;br /&gt;
	for before, tag, remainder in text:gmatch(&#039;([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()&#039;) do&lt;br /&gt;
		pos = remainder&lt;br /&gt;
		table.insert(parts, truncate(before) .. &#039;&amp;amp;lt;&#039; .. tag .. &#039;&amp;amp;gt;...&amp;amp;lt;/&#039; .. tag .. &#039;&amp;amp;gt;&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(parts, truncate(text:sub(pos or 1)))&lt;br /&gt;
	return table.concat(parts)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._check(args, pargs)&lt;br /&gt;
	if type(args) ~= &amp;quot;table&amp;quot; or type(pargs) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
		-- TODO: error handling&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- create the list of known args, regular expressions, and the return string&lt;br /&gt;
	local knownargs = {}&lt;br /&gt;
	local regexps = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;number&#039; then&lt;br /&gt;
			v = trim(v)&lt;br /&gt;
			knownargs[v] = 1&lt;br /&gt;
		elseif k:find(&#039;^regexp[1-9][0-9]*$&#039;) then&lt;br /&gt;
			table.insert(regexps, &#039;^&#039; .. v .. &#039;$&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- loop over the parent args, and make sure they are on the list&lt;br /&gt;
	local ignoreblank = isnotempty(args[&#039;ignoreblank&#039;])&lt;br /&gt;
	local showblankpos = isnotempty(args[&#039;showblankpositional&#039;])&lt;br /&gt;
	local values = {}&lt;br /&gt;
	for k, v in pairs(pargs) do&lt;br /&gt;
		if type(k) == &#039;string&#039; and knownargs[k] == nil then&lt;br /&gt;
			local knownflag = false&lt;br /&gt;
			for _, regexp in ipairs(regexps) do&lt;br /&gt;
				if mw.ustring.match(k, regexp) then&lt;br /&gt;
					knownflag = true&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if not knownflag and ( not ignoreblank or isnotempty(v) )  then&lt;br /&gt;
				table.insert(values, clean(k))&lt;br /&gt;
			end&lt;br /&gt;
		elseif type(k) == &#039;number&#039; and knownargs[tostring(k)] == nil then&lt;br /&gt;
			local knownflag = false&lt;br /&gt;
			for _, regexp in ipairs(regexps) do&lt;br /&gt;
				if mw.ustring.match(tostring(k), regexp) then&lt;br /&gt;
					knownflag = true&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if not knownflag and ( showblankpos or isnotempty(v) ) then&lt;br /&gt;
				table.insert(values, k .. &#039; = &#039; .. clean(v))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- add results to the output tables&lt;br /&gt;
	local res = {}&lt;br /&gt;
	if #values &amp;gt; 0 then&lt;br /&gt;
		local unknown_text = args[&#039;unknown&#039;] or &#039;Found _VALUE_, &#039;&lt;br /&gt;
&lt;br /&gt;
		if mw.getCurrentFrame():preprocess( &amp;quot;{{REVISIONID}}&amp;quot; ) == &amp;quot;&amp;quot; then&lt;br /&gt;
			local preview_text = args[&#039;preview&#039;]&lt;br /&gt;
			if isnotempty(preview_text) then&lt;br /&gt;
				preview_text = require(&#039;Module:If preview&#039;)._warning({preview_text})&lt;br /&gt;
			elseif preview == nil then&lt;br /&gt;
				preview_text = unknown_text&lt;br /&gt;
			end&lt;br /&gt;
			unknown_text = preview_text&lt;br /&gt;
		end&lt;br /&gt;
		for _, v in pairs(values) do&lt;br /&gt;
			-- Fix odd bug for | = which gets stripped to the empty string and&lt;br /&gt;
			-- breaks category links&lt;br /&gt;
			if v == &#039;&#039; then v = &#039; &#039; end&lt;br /&gt;
&lt;br /&gt;
			-- avoid error with v = &#039;example%2&#039; (&amp;quot;invalid capture index&amp;quot;)&lt;br /&gt;
			local r = unknown_text:gsub(&#039;_VALUE_&#039;, {_VALUE_ = v})&lt;br /&gt;
			table.insert(res, r)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(res)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.check(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	return p._check(args, pargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Coordinates&amp;diff=5266</id>
		<title>Module:Coordinates</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Coordinates&amp;diff=5266"/>
		<updated>2023-08-08T09:14:21Z</updated>

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

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Coordinates/styles.css&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template}} */&lt;br /&gt;
/* Geographical coordinates defaults. The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and&lt;br /&gt;
&amp;quot;latitude&amp;quot; are used by the [[Geo microformat]]. */&lt;br /&gt;
.geo-default,&lt;br /&gt;
.geo-dms,&lt;br /&gt;
.geo-dec {&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.geo-nondefault,&lt;br /&gt;
.geo-multi-punct,&lt;br /&gt;
.geo-inline-hidden {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.longitude,&lt;br /&gt;
.latitude {&lt;br /&gt;
	white-space: nowrap;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map&amp;diff=5264</id>
		<title>Module:Location map</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map&amp;diff=5264"/>
		<updated>2023-08-08T09:13:20Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require(&#039;strict&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
local function round(n, decimals)&lt;br /&gt;
	local pow = 10^(decimals or 0)&lt;br /&gt;
	return math.floor(n * pow + 0.5) / pow&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getMapParams(map, frame)&lt;br /&gt;
	if not map then&lt;br /&gt;
		error(&#039;The name of the location map definition to use must be specified&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	local moduletitle = mw.title.new(&#039;Module:Location map/data/&#039; .. map)&lt;br /&gt;
	if not moduletitle then&lt;br /&gt;
		error(string.format(&#039;%q is not a valid name for a location map definition&#039;, map), 2)&lt;br /&gt;
	elseif moduletitle.exists then&lt;br /&gt;
		local mapData = mw.loadData(&#039;Module:Location map/data/&#039; .. map)&lt;br /&gt;
		return function(name, params)&lt;br /&gt;
			if name == nil then&lt;br /&gt;
				return &#039;Module:Location map/data/&#039; .. map&lt;br /&gt;
			elseif mapData[name] == nil then&lt;br /&gt;
				return &#039;&#039;&lt;br /&gt;
			elseif params then&lt;br /&gt;
				return mw.message.newRawMessage(tostring(mapData[name]), unpack(params)):plain()&lt;br /&gt;
			else&lt;br /&gt;
				return mapData[name]&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		error(&#039;Unable to find the specified location map definition: &amp;quot;Module:Location map/data/&#039; .. map .. &#039;&amp;quot; does not exist&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.data(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {frameOnly = true})&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		map = p.getMapParams(args[1], frame)&lt;br /&gt;
	end&lt;br /&gt;
	local params = {}&lt;br /&gt;
	for k,v in ipairs(args) do&lt;br /&gt;
		if k &amp;gt; 2 then&lt;br /&gt;
			params[k-2] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return map(args[2], #params ~= 0 and params)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local hemisphereMultipliers = {&lt;br /&gt;
	longitude = { W = -1, w = -1, E = 1, e = 1 },&lt;br /&gt;
	latitude = { S = -1, s = -1, N = 1, n = 1 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function decdeg(degrees, minutes, seconds, hemisphere, decimal, direction)&lt;br /&gt;
	if decimal then&lt;br /&gt;
		if degrees then&lt;br /&gt;
			error(&#039;Decimal and DMS degrees cannot both be provided for &#039; .. direction, 2)&lt;br /&gt;
		elseif minutes then&lt;br /&gt;
			error(&#039;Minutes can only be provided with DMS degrees for &#039; .. direction, 2)&lt;br /&gt;
		elseif seconds then&lt;br /&gt;
			error(&#039;Seconds can only be provided with DMS degrees for &#039; .. direction, 2)&lt;br /&gt;
		elseif hemisphere then&lt;br /&gt;
			error(&#039;A hemisphere can only be provided with DMS degrees for &#039; .. direction, 2)&lt;br /&gt;
		end&lt;br /&gt;
		local retval = tonumber(decimal)&lt;br /&gt;
		if retval then&lt;br /&gt;
			return retval&lt;br /&gt;
		end&lt;br /&gt;
		error(&#039;The value &amp;quot;&#039; .. decimal .. &#039;&amp;quot; provided for &#039; .. direction .. &#039; is not valid&#039;, 2)&lt;br /&gt;
	elseif seconds and not minutes then&lt;br /&gt;
		error(&#039;Seconds were provided for &#039; .. direction .. &#039; without minutes also being provided&#039;, 2)&lt;br /&gt;
	elseif not degrees then&lt;br /&gt;
		if minutes then&lt;br /&gt;
			error(&#039;Minutes were provided for &#039; .. direction .. &#039; without degrees also being provided&#039;, 2)&lt;br /&gt;
		elseif hemisphere then&lt;br /&gt;
			error(&#039;A hemisphere was provided for &#039; .. direction .. &#039; without degrees also being provided&#039;, 2)&lt;br /&gt;
		end&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	decimal = tonumber(degrees)&lt;br /&gt;
	if not decimal then&lt;br /&gt;
		error(&#039;The degree value &amp;quot;&#039; .. degrees .. &#039;&amp;quot; provided for &#039; .. direction .. &#039; is not valid&#039;, 2)&lt;br /&gt;
	elseif minutes and not tonumber(minutes) then&lt;br /&gt;
		error(&#039;The minute value &amp;quot;&#039; .. minutes .. &#039;&amp;quot; provided for &#039; .. direction .. &#039; is not valid&#039;, 2)&lt;br /&gt;
	elseif seconds and not tonumber(seconds) then&lt;br /&gt;
		error(&#039;The second value &amp;quot;&#039; .. seconds .. &#039;&amp;quot; provided for &#039; .. direction .. &#039; is not valid&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	decimal = decimal + (minutes or 0)/60 + (seconds or 0)/3600&lt;br /&gt;
	if hemisphere then&lt;br /&gt;
		local multiplier = hemisphereMultipliers[direction][hemisphere]&lt;br /&gt;
		if not multiplier then&lt;br /&gt;
			error(&#039;The hemisphere &amp;quot;&#039; .. hemisphere .. &#039;&amp;quot; provided for &#039; .. direction .. &#039; is not valid&#039;, 2)&lt;br /&gt;
		end&lt;br /&gt;
		decimal = decimal * multiplier&lt;br /&gt;
	end&lt;br /&gt;
	return decimal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Finds a parameter in a transclusion of {{Coord}}.&lt;br /&gt;
local function coord2text(para,coord) -- this should be changed for languages which do not use Arabic numerals or the degree sign&lt;br /&gt;
	local lat, long = mw.ustring.match(coord,&#039;&amp;lt;span class=&amp;quot;p%-latitude latitude&amp;quot;&amp;gt;([^&amp;lt;]+)&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;p%-longitude longitude&amp;quot;&amp;gt;([^&amp;lt;]+)&amp;lt;/span&amp;gt;&#039;)&lt;br /&gt;
	if lat then&lt;br /&gt;
		return tonumber(para == &#039;longitude&#039; and long or lat)&lt;br /&gt;
	end&lt;br /&gt;
	local result = mw.text.split(mw.ustring.match(coord,&#039;%-?[%.%d]+°[NS] %-?[%.%d]+°[EW]&#039;) or &#039;&#039;, &#039;[ °]&#039;)&lt;br /&gt;
	if para == &#039;longitude&#039; then result = {result[3], result[4]} end&lt;br /&gt;
	if not tonumber(result[1]) or not result[2] then&lt;br /&gt;
		mw.log(&#039;Malformed coordinates value&#039;)&lt;br /&gt;
		mw.logObject(para, &#039;para&#039;)&lt;br /&gt;
		mw.logObject(coord, &#039;coord&#039;)&lt;br /&gt;
		return error(&#039;Malformed coordinates value&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	return tonumber(result[1]) * hemisphereMultipliers[para][result[2]]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- effectively make removeBlanks false for caption and maplink, and true for everything else&lt;br /&gt;
-- if useWikidata is present but blank, convert it to false instead of nil&lt;br /&gt;
-- p.top, p.bottom, and their callers need to use this&lt;br /&gt;
function p.valueFunc(key, value)&lt;br /&gt;
	if value then&lt;br /&gt;
		value = mw.text.trim(value)&lt;br /&gt;
	end&lt;br /&gt;
	if value ~= &#039;&#039; or key == &#039;caption&#039; or key == &#039;maplink&#039; then&lt;br /&gt;
		return value&lt;br /&gt;
	elseif key == &#039;useWikidata&#039; then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getContainerImage(args, map)&lt;br /&gt;
	if args.AlternativeMap then&lt;br /&gt;
		return args.AlternativeMap&lt;br /&gt;
	elseif args.relief and map(&#039;image1&#039;) ~= &#039;&#039; then&lt;br /&gt;
		return map(&#039;image1&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return map(&#039;image&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.top(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {frameOnly = true, valueFunc = p.valueFunc})&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		map = p.getMapParams(args[1], frame)&lt;br /&gt;
	end&lt;br /&gt;
	local width&lt;br /&gt;
	local default_as_number = tonumber(mw.ustring.match(tostring(args.default_width),&amp;quot;%d*&amp;quot;))&lt;br /&gt;
	if not args.width then&lt;br /&gt;
		width = round((default_as_number or 240) * (tonumber(map(&#039;defaultscale&#039;)) or 1))&lt;br /&gt;
	elseif mw.ustring.sub(args.width, -2) == &#039;px&#039; then&lt;br /&gt;
		width = mw.ustring.sub(args.width, 1, -3)&lt;br /&gt;
	else&lt;br /&gt;
		width = args.width&lt;br /&gt;
	end&lt;br /&gt;
	local width_as_number = tonumber(mw.ustring.match(tostring(width),&amp;quot;%d*&amp;quot;)) or 0;&lt;br /&gt;
    if width_as_number == 0 then&lt;br /&gt;
    	-- check to see if width is junk. If it is, then use default calculation&lt;br /&gt;
    	width = round((default_as_number or 240) * (tonumber(map(&#039;defaultscale&#039;)) or 1))&lt;br /&gt;
    	width_as_number = tonumber(mw.ustring.match(tostring(width),&amp;quot;%d*&amp;quot;)) or 0;&lt;br /&gt;
    end	&lt;br /&gt;
    if args.max_width ~= &amp;quot;&amp;quot; and args.max_width ~= nil then&lt;br /&gt;
        -- check to see if width bigger than max_width&lt;br /&gt;
        local max_as_number = tonumber(mw.ustring.match(args.max_width,&amp;quot;%d*&amp;quot;)) or 0;&lt;br /&gt;
        if width_as_number&amp;gt;max_as_number and max_as_number&amp;gt;0 then&lt;br /&gt;
            width = args.max_width;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
	local retval = frame:extensionTag{name = &#039;templatestyles&#039;, args = {src = &#039;Module:Location map/styles.css&#039;}}&lt;br /&gt;
	if args.float == &#039;center&#039; then&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	if args.caption and args.caption ~= &#039;&#039; and args.border ~= &#039;infobox&#039; then&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;div class=&amp;quot;locmap noviewer noresize thumb &#039;&lt;br /&gt;
		if args.float == &#039;&amp;quot;left&amp;quot;&#039; or args.float == &#039;left&#039; then&lt;br /&gt;
			retval = retval .. &#039;tleft&#039;&lt;br /&gt;
		elseif args.float == &#039;&amp;quot;center&amp;quot;&#039; or args.float == &#039;center&#039; or args.float == &#039;&amp;quot;none&amp;quot;&#039; or args.float == &#039;none&#039; then&lt;br /&gt;
			retval = retval .. &#039;tnone&#039;&lt;br /&gt;
		else&lt;br /&gt;
			retval = retval .. &#039;tright&#039;&lt;br /&gt;
		end&lt;br /&gt;
		retval = retval .. &#039;&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;thumbinner&amp;quot; style=&amp;quot;width:&#039; .. (width + 2) .. &#039;px&#039;&lt;br /&gt;
		if args.border == &#039;none&#039; then&lt;br /&gt;
			retval = retval .. &#039;;border:none&#039;&lt;br /&gt;
		elseif args.border then&lt;br /&gt;
			retval = retval .. &#039;;border-color:&#039; .. args.border&lt;br /&gt;
		end&lt;br /&gt;
		retval = retval .. &#039;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;position:relative;width:&#039; .. width .. &#039;px&#039; .. (args.border ~= &#039;none&#039; and &#039;;border:1px solid lightgray&amp;quot;&amp;gt;&#039; or &#039;&amp;quot;&amp;gt;&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;div class=&amp;quot;locmap&amp;quot; style=&amp;quot;width:&#039; .. width .. &#039;px;&#039;&lt;br /&gt;
		if args.float == &#039;&amp;quot;left&amp;quot;&#039; or args.float == &#039;left&#039; then&lt;br /&gt;
			retval = retval .. &#039;float:left;clear:left&#039;&lt;br /&gt;
		elseif args.float == &#039;&amp;quot;center&amp;quot;&#039; or args.float == &#039;center&#039; then&lt;br /&gt;
			retval = retval .. &#039;float:none;clear:both;margin-left:auto;margin-right:auto&#039;&lt;br /&gt;
		elseif args.float == &#039;&amp;quot;none&amp;quot;&#039; or args.float == &#039;none&#039; then&lt;br /&gt;
			retval = retval .. &#039;float:none;clear:none&#039;&lt;br /&gt;
		else&lt;br /&gt;
			retval = retval .. &#039;float:right;clear:right&#039;&lt;br /&gt;
		end&lt;br /&gt;
		retval = retval .. &#039;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:&#039; .. width .. &#039;px;padding:0&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;position:relative;width:&#039; .. width .. &#039;px&amp;quot;&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local image = getContainerImage(args, map)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	retval = string.format(&lt;br /&gt;
		&#039;%s[[File:%s|%spx|%s%s|class=notpageimage]]&#039;,&lt;br /&gt;
		retval,&lt;br /&gt;
		image,&lt;br /&gt;
		width,&lt;br /&gt;
		args.alt or ((args.label or currentTitle.text) .. &#039; is located in &#039; .. map(&#039;name&#039;)),&lt;br /&gt;
		args.maplink and (&#039;|link=&#039; .. args.maplink) or &#039;&#039;&lt;br /&gt;
	)&lt;br /&gt;
	if args.caption and args.caption ~= &#039;&#039; then&lt;br /&gt;
		if (currentTitle.namespace == 0) and mw.ustring.find(args.caption, &#039;##&#039;) then&lt;br /&gt;
			retval = retval .. &#039;[[Category:Pages using location map with a double number sign in the caption]]&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.overlay_image then&lt;br /&gt;
		return retval .. &#039;&amp;lt;div style=&amp;quot;position:absolute;top:0;left:0&amp;quot;&amp;gt;[[File:&#039; .. args.overlay_image .. &#039;|&#039; .. width .. &#039;px|class=notpageimage]]&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return retval&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.bottom(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {frameOnly = true, valueFunc = p.valueFunc})&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		map = p.getMapParams(args[1], frame)&lt;br /&gt;
	end&lt;br /&gt;
	local retval = &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if not args.caption or args.border == &#039;infobox&#039; then&lt;br /&gt;
		if args.border then&lt;br /&gt;
			retval = retval .. &#039;&amp;lt;div style=&amp;quot;padding-top:0.2em&amp;quot;&amp;gt;&#039;&lt;br /&gt;
		else&lt;br /&gt;
			retval = retval .. &#039;&amp;lt;div style=&amp;quot;font-size:91%;padding-top:3px&amp;quot;&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		retval = retval&lt;br /&gt;
		.. (args.caption or (args.label or currentTitle.text) .. &#039; (&#039; .. map(&#039;name&#039;) .. &#039;)&#039;)&lt;br /&gt;
		.. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	elseif args.caption ~= &#039;&#039;  then&lt;br /&gt;
		-- This is not the pipe trick. We&#039;re creating a link with no text on purpose, so that CSS can give us a nice image&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;magnify&amp;quot;&amp;gt;[[:File:&#039; .. getContainerImage(args, map) .. &#039;|class=notpageimage| ]]&amp;lt;/div&amp;gt;&#039; .. args.caption .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.switcherLabel then&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;span class=&amp;quot;switcher-label&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;&#039; .. args.switcherLabel .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	elseif args.autoSwitcherLabel then&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;span class=&amp;quot;switcher-label&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;Show map of &#039; .. map(&#039;name&#039;) .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	retval = retval .. &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	if args.caption_undefined then&lt;br /&gt;
		mw.log(&#039;Removed parameter caption_undefined used.&#039;)&lt;br /&gt;
		local parent = frame:getParent()&lt;br /&gt;
		if parent then&lt;br /&gt;
			mw.log(&#039;Parent is &#039; .. parent:getTitle())&lt;br /&gt;
		end&lt;br /&gt;
		mw.logObject(args, &#039;args&#039;)&lt;br /&gt;
		if currentTitle.namespace == 0 then&lt;br /&gt;
		    retval = retval .. &#039;[[Category:Location maps with removed parameters|caption_undefined]]&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if map(&#039;skew&#039;) ~= &#039;&#039; or map(&#039;lat_skew&#039;) ~= &#039;&#039; or map(&#039;crosses180&#039;) ~= &#039;&#039; or map(&#039;type&#039;) ~= &#039;&#039; then&lt;br /&gt;
		mw.log(&#039;Removed parameter used in map definition &#039; .. map())&lt;br /&gt;
		if currentTitle.namespace == 0 then&lt;br /&gt;
		    local key = (map(&#039;skew&#039;) ~= &#039;&#039; and &#039;skew&#039; or &#039;&#039;) ..&lt;br /&gt;
					(map(&#039;lat_skew&#039;) ~= &#039;&#039; and &#039;lat_skew&#039; or &#039;&#039;) ..&lt;br /&gt;
					(map(&#039;crosses180&#039;) ~= &#039;&#039; and &#039;crosses180&#039; or &#039;&#039;) ..&lt;br /&gt;
					(map(&#039;type&#039;) ~= &#039;&#039; and &#039;type&#039; or &#039;&#039;)&lt;br /&gt;
		    retval = retval .. &#039;[[Category:Location maps with removed parameters|&#039; .. key .. &#039; ]]&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if string.find(map(&#039;name&#039;), &#039;|&#039;, 1, true) then&lt;br /&gt;
		mw.log(&#039;Pipe used in name of map definition &#039; .. map())&lt;br /&gt;
		if currentTitle.namespace == 0 then&lt;br /&gt;
		   retval = retval .. &#039;[[Category:Location maps with a name containing a pipe]]&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.float == &#039;center&#039; then&lt;br /&gt;
		retval = retval .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function markOuterDiv(x, y, imageDiv, labelDiv)&lt;br /&gt;
	return mw.html.create(&#039;div&#039;)&lt;br /&gt;
		:addClass(&#039;od&#039;)&lt;br /&gt;
		:cssText(&#039;top:&#039; .. round(y, 3) .. &#039;%;left:&#039; .. round(x, 3) .. &#039;%&#039;)&lt;br /&gt;
		:node(imageDiv)&lt;br /&gt;
		:node(labelDiv)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function markImageDiv(mark, marksize, label, link, alt, title)&lt;br /&gt;
	local builder = mw.html.create(&#039;div&#039;)&lt;br /&gt;
		:addClass(&#039;id&#039;)&lt;br /&gt;
		:cssText(&#039;left:-&#039; .. round(marksize / 2) .. &#039;px;top:-&#039; .. round(marksize / 2) .. &#039;px&#039;)&lt;br /&gt;
		:attr(&#039;title&#039;, title)&lt;br /&gt;
	if marksize ~= 0 then&lt;br /&gt;
		builder:wikitext(string.format(&lt;br /&gt;
			&#039;[[File:%s|%dx%dpx|%s|link=%s%s|class=notpageimage]]&#039;,&lt;br /&gt;
			mark,&lt;br /&gt;
			marksize,&lt;br /&gt;
			marksize,&lt;br /&gt;
			label,&lt;br /&gt;
			link,&lt;br /&gt;
			alt and (&#039;|alt=&#039; .. alt) or &#039;&#039;&lt;br /&gt;
		))&lt;br /&gt;
	end&lt;br /&gt;
	return builder&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function markLabelDiv(label, label_size, label_width, position, background, x, marksize)&lt;br /&gt;
	if tonumber(label_size) == 0 then&lt;br /&gt;
		return mw.html.create(&#039;div&#039;):addClass(&#039;l0&#039;):wikitext(label)&lt;br /&gt;
	end&lt;br /&gt;
	local builder = mw.html.create(&#039;div&#039;)&lt;br /&gt;
		:cssText(&#039;font-size:&#039; .. label_size .. &#039;%;width:&#039; .. label_width .. &#039;em&#039;)&lt;br /&gt;
	local distance = round(marksize / 2 + 1)&lt;br /&gt;
	if position == &#039;top&#039; then -- specified top&lt;br /&gt;
		builder:addClass(&#039;pv&#039;):cssText(&#039;bottom:&#039; .. distance .. &#039;px;left:&#039; .. (-label_width / 2) .. &#039;em&#039;)&lt;br /&gt;
	elseif position == &#039;bottom&#039; then -- specified bottom&lt;br /&gt;
		builder:addClass(&#039;pv&#039;):cssText(&#039;top:&#039; .. distance .. &#039;px;left:&#039; .. (-label_width / 2) .. &#039;em&#039;)&lt;br /&gt;
	elseif position == &#039;left&#039; or (tonumber(x) &amp;gt; 70 and position ~= &#039;right&#039;) then -- specified left or autodetected to left&lt;br /&gt;
		builder:addClass(&#039;pl&#039;):cssText(&#039;right:&#039; .. distance .. &#039;px&#039;)&lt;br /&gt;
	else -- specified right or autodetected to right&lt;br /&gt;
		builder:addClass(&#039;pr&#039;):cssText(&#039;left:&#039; .. distance .. &#039;px&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	builder = builder:tag(&#039;div&#039;)&lt;br /&gt;
		:wikitext(label)&lt;br /&gt;
	if background then&lt;br /&gt;
		builder:cssText(&#039;background-color:&#039; .. background)&lt;br /&gt;
	end&lt;br /&gt;
	return builder:done()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getX(longitude, left, right)&lt;br /&gt;
	local width = (right - left) % 360&lt;br /&gt;
	if width == 0 then&lt;br /&gt;
		width = 360&lt;br /&gt;
	end&lt;br /&gt;
	local distanceFromLeft = (longitude - left) % 360&lt;br /&gt;
	-- the distance needed past the map to the right equals distanceFromLeft - width. the distance needed past the map to the left equals 360 - distanceFromLeft. to minimize page stretching, go whichever way is shorter&lt;br /&gt;
	if distanceFromLeft - width / 2 &amp;gt;= 180 then&lt;br /&gt;
		distanceFromLeft = distanceFromLeft - 360&lt;br /&gt;
	end&lt;br /&gt;
	return 100 * distanceFromLeft / width&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getY(latitude, top, bottom)&lt;br /&gt;
	return 100 * (top - latitude) / (top - bottom)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.mark(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {wrappers = &#039;Template:Location map~&#039;})&lt;br /&gt;
	end&lt;br /&gt;
	local mapnames = {}&lt;br /&gt;
	if not map then&lt;br /&gt;
		if args[1] then&lt;br /&gt;
			map = {}&lt;br /&gt;
			for mapname in mw.text.gsplit(args[1], &#039;#&#039;, true) do&lt;br /&gt;
				map[#map + 1] = p.getMapParams(mw.ustring.gsub(mapname, &#039;^%s*(.-)%s*$&#039;, &#039;%1&#039;), frame)&lt;br /&gt;
				mapnames[#mapnames + 1] = mapname&lt;br /&gt;
			end&lt;br /&gt;
			if #map == 1 then map = map[1] end&lt;br /&gt;
		else&lt;br /&gt;
			map = p.getMapParams(&#039;World&#039;, frame)&lt;br /&gt;
			args[1] = &#039;World&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if type(map) == &#039;table&#039; then&lt;br /&gt;
		local outputs = {}&lt;br /&gt;
		local oldargs = args[1]&lt;br /&gt;
		for k,v in ipairs(map) do&lt;br /&gt;
			args[1] = mapnames[k]&lt;br /&gt;
			outputs[k] = tostring(p.mark(frame, args, v))&lt;br /&gt;
		end&lt;br /&gt;
		args[1] = oldargs&lt;br /&gt;
		return table.concat(outputs, &#039;#PlaceList#&#039;) .. &#039;#PlaceList#&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local x, y, longitude, latitude&lt;br /&gt;
	longitude = decdeg(args.lon_deg, args.lon_min, args.lon_sec, args.lon_dir, args.long, &#039;longitude&#039;)&lt;br /&gt;
	latitude = decdeg(args.lat_deg, args.lat_min, args.lat_sec, args.lat_dir, args.lat, &#039;latitude&#039;)&lt;br /&gt;
	if args.excludefrom then&lt;br /&gt;
		-- If this mark is to be excluded from certain maps entirely (useful in the context of multiple maps)&lt;br /&gt;
		for exclusionmap in mw.text.gsplit(args.excludefrom, &#039;#&#039;, true) do&lt;br /&gt;
			-- Check if this map is excluded. If so, return an empty string.&lt;br /&gt;
			if args[1] == exclusionmap then&lt;br /&gt;
				return &#039;&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
			&lt;br /&gt;
	end&lt;br /&gt;
	local builder = mw.html.create()&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if args.coordinates then&lt;br /&gt;
--		Temporarily removed to facilitate infobox conversion. See [[Wikipedia:Coordinates in infoboxes]]&lt;br /&gt;
&lt;br /&gt;
--		if longitude or latitude then&lt;br /&gt;
--			error(&#039;Coordinates from [[Module:Coordinates]] and individual coordinates cannot both be provided&#039;)&lt;br /&gt;
--		end&lt;br /&gt;
		longitude = coord2text(&#039;longitude&#039;, args.coordinates)&lt;br /&gt;
		latitude = coord2text(&#039;latitude&#039;, args.coordinates)&lt;br /&gt;
	elseif not longitude and not latitude and args.useWikidata then&lt;br /&gt;
		-- If they didn&#039;t provide either coordinate, try Wikidata. If they provided one but not the other, don&#039;t.&lt;br /&gt;
		local entity = mw.wikibase.getEntity()&lt;br /&gt;
		if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1].mainsnak.snaktype == &#039;value&#039; then&lt;br /&gt;
			local value = entity.claims.P625[1].mainsnak.datavalue.value&lt;br /&gt;
			longitude, latitude = value.longitude, value.latitude&lt;br /&gt;
		end&lt;br /&gt;
		if args.link and (currentTitle.namespace == 0) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with linked markers with coordinates from Wikidata]]&#039;)	&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if not longitude then&lt;br /&gt;
		error(&#039;No value was provided for longitude&#039;)&lt;br /&gt;
	elseif not latitude then&lt;br /&gt;
		error(&#039;No value was provided for latitude&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if currentTitle.namespace &amp;gt; 0 then&lt;br /&gt;
		if (not args.lon_deg) ~= (not args.lat_deg) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with different longitude and latitude precisions|Degrees]]&#039;)&lt;br /&gt;
		elseif (not args.lon_min) ~= (not args.lat_min) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with different longitude and latitude precisions|Minutes]]&#039;)&lt;br /&gt;
		elseif (not args.lon_sec) ~= (not args.lat_sec) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with different longitude and latitude precisions|Seconds]]&#039;)&lt;br /&gt;
		elseif (not args.lon_dir) ~= (not args.lat_dir) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with different longitude and latitude precisions|Hemisphere]]&#039;)&lt;br /&gt;
		elseif (not args.long) ~= (not args.lat) then&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with different longitude and latitude precisions|Decimal]]&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if ((tonumber(args.lat_deg) or 0) &amp;lt; 0) and ((tonumber(args.lat_min) or 0) ~= 0 or (tonumber(args.lat_sec) or 0) ~= 0 or (args.lat_dir and args.lat_dir ~=&#039;&#039;)) then&lt;br /&gt;
		builder:wikitext(&#039;[[Category:Location maps with negative degrees and minutes or seconds]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if ((tonumber(args.lon_deg) or 0) &amp;lt; 0) and ((tonumber(args.lon_min) or 0) ~= 0 or (tonumber(args.lon_sec) or 0) ~= 0 or (args.lon_dir and args.lon_dir ~= &#039;&#039;)) then&lt;br /&gt;
		builder:wikitext(&#039;[[Category:Location maps with negative degrees and minutes or seconds]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if (((tonumber(args.lat_min) or 0) &amp;lt; 0) or ((tonumber(args.lat_sec) or 0) &amp;lt; 0)) then&lt;br /&gt;
		builder:wikitext(&#039;[[Category:Location maps with negative degrees and minutes or seconds]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if (((tonumber(args.lon_min) or 0) &amp;lt; 0) or ((tonumber(args.lon_sec) or 0) &amp;lt; 0)) then&lt;br /&gt;
		builder:wikitext(&#039;[[Category:Location maps with negative degrees and minutes or seconds]]&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if args.skew or args.lon_shift or args.markhigh then&lt;br /&gt;
		mw.log(&#039;Removed parameter used in invocation.&#039;)&lt;br /&gt;
		local parent = frame:getParent()&lt;br /&gt;
		if parent then&lt;br /&gt;
			mw.log(&#039;Parent is &#039; .. parent:getTitle())&lt;br /&gt;
		end&lt;br /&gt;
		mw.logObject(args, &#039;args&#039;)&lt;br /&gt;
		if currentTitle.namespace == 0 then&lt;br /&gt;
			local key = (args.skew and &#039;skew&#039; or &#039;&#039;) ..&lt;br /&gt;
						(args.lon_shift and &#039;lon_shift&#039; or &#039;&#039;) ..&lt;br /&gt;
						(args.markhigh and &#039;markhigh&#039; or &#039;&#039;)&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with removed parameters|&#039; .. key ..&#039; ]]&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if map(&#039;x&#039;) ~= &#039;&#039; then&lt;br /&gt;
		x = tonumber(mw.ext.ParserFunctions.expr(map(&#039;x&#039;, { latitude, longitude })))&lt;br /&gt;
	else&lt;br /&gt;
		x = tonumber(getX(longitude, map(&#039;left&#039;), map(&#039;right&#039;)))&lt;br /&gt;
	end&lt;br /&gt;
	if map(&#039;y&#039;) ~= &#039;&#039; then&lt;br /&gt;
		y = tonumber(mw.ext.ParserFunctions.expr(map(&#039;y&#039;, { latitude, longitude })))&lt;br /&gt;
	else&lt;br /&gt;
		y = tonumber(getY(latitude, map(&#039;top&#039;), map(&#039;bottom&#039;)))&lt;br /&gt;
	end&lt;br /&gt;
	if (x &amp;lt; 0 or x &amp;gt; 100 or y &amp;lt; 0 or y &amp;gt; 100) and not args.outside then&lt;br /&gt;
		mw.log(&#039;Mark placed outside map boundaries without outside flag set. x = &#039; .. x .. &#039;, y = &#039; .. y)&lt;br /&gt;
		local parent = frame:getParent()&lt;br /&gt;
		if parent then&lt;br /&gt;
			mw.log(&#039;Parent is &#039; .. parent:getTitle())&lt;br /&gt;
		end&lt;br /&gt;
		mw.logObject(args, &#039;args&#039;)&lt;br /&gt;
		if currentTitle.namespace == 0 then&lt;br /&gt;
			local key = currentTitle.prefixedText&lt;br /&gt;
			builder:wikitext(&#039;[[Category:Location maps with marks outside map and outside parameter not set|&#039; .. key .. &#039; ]]&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local mark = args.mark or map(&#039;mark&#039;)&lt;br /&gt;
	if mark == &#039;&#039; then&lt;br /&gt;
		mark = &#039;Red pog.svg&#039;&lt;br /&gt;
	end&lt;br /&gt;
	local marksize = tonumber(args.marksize) or tonumber(map(&#039;marksize&#039;)) or 8&lt;br /&gt;
	local imageDiv = markImageDiv(mark, marksize, args.label or mw.title.getCurrentTitle().text, args.link or &#039;&#039;, args.alt, args[2])&lt;br /&gt;
	local labelDiv&lt;br /&gt;
	if args.label and args.position ~= &#039;none&#039; then&lt;br /&gt;
		labelDiv = markLabelDiv(args.label, args.label_size or 91, args.label_width or 6, args.position, args.background, x, marksize)&lt;br /&gt;
	end&lt;br /&gt;
	return builder:node(markOuterDiv(x, y, imageDiv, labelDiv))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function switcherSeparate(s)&lt;br /&gt;
	if s == nil then return {} end&lt;br /&gt;
	local retval = {}&lt;br /&gt;
	for i in string.gmatch(s .. &#039;#&#039;, &#039;([^#]*)#&#039;) do&lt;br /&gt;
		i = mw.text.trim(i)&lt;br /&gt;
		retval[#retval + 1] = (i ~= &#039;&#039; and i)&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame, args, map)&lt;br /&gt;
	local caption_list = {}&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {wrappers = &#039;Template:Location map&#039;, valueFunc = p.valueFunc})&lt;br /&gt;
	end&lt;br /&gt;
	if args.useWikidata == nil then&lt;br /&gt;
		args.useWikidata = true&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		if args[1] then&lt;br /&gt;
			map = {}&lt;br /&gt;
			for mapname in string.gmatch(args[1], &#039;[^#]+&#039;) do&lt;br /&gt;
				map[#map + 1] = p.getMapParams(mw.ustring.gsub(mapname, &#039;^%s*(.-)%s*$&#039;, &#039;%1&#039;), frame)&lt;br /&gt;
			end&lt;br /&gt;
			if args[&#039;caption&#039;] then&lt;br /&gt;
				if args[&#039;caption&#039;] == &amp;quot;&amp;quot; then&lt;br /&gt;
					while #caption_list &amp;lt; #map do&lt;br /&gt;
						caption_list[#caption_list + 1] = args[&#039;caption&#039;]&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for caption in mw.text.gsplit(args[&#039;caption&#039;], &#039;##&#039;, true) do&lt;br /&gt;
						caption_list[#caption_list + 1] = caption&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if #map == 1 then map = map[1] end&lt;br /&gt;
		else&lt;br /&gt;
			map = p.getMapParams(&#039;World&#039;, frame)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if type(map) == &#039;table&#039; then&lt;br /&gt;
		local altmaps = switcherSeparate(args.AlternativeMap)&lt;br /&gt;
		if #altmaps &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d AlternativeMaps were provided, but only %d maps were provided&#039;, #altmaps, #map))&lt;br /&gt;
		end&lt;br /&gt;
		local overlays = switcherSeparate(args.overlay_image)&lt;br /&gt;
		if #overlays &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d overlay_images were provided, but only %d maps were provided&#039;, #overlays, #map))&lt;br /&gt;
		end&lt;br /&gt;
		if #caption_list &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d captions were provided, but only %d maps were provided&#039;, #caption_list, #map))&lt;br /&gt;
		end&lt;br /&gt;
		local outputs = {}&lt;br /&gt;
		args.autoSwitcherLabel = true&lt;br /&gt;
		for k,v in ipairs(map) do&lt;br /&gt;
			args.AlternativeMap = altmaps[k]&lt;br /&gt;
			args.overlay_image = overlays[k]&lt;br /&gt;
			args.caption = caption_list[k]&lt;br /&gt;
			outputs[k] = p.main(frame, args, v)&lt;br /&gt;
		end&lt;br /&gt;
		return &#039;&amp;lt;div class=&amp;quot;switcher-container&amp;quot;&amp;gt;&#039; .. table.concat(outputs) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return p.top(frame, args, map) .. tostring( p.mark(frame, args, map) ) .. p.bottom(frame, args, map)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Bangkok_Metropolitan_Region&amp;diff=5263</id>
		<title>Module:Location map/data/Bangkok Metropolitan Region</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Bangkok_Metropolitan_Region&amp;diff=5263"/>
		<updated>2023-08-08T09:12:53Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Bangkok Metropolitan Region&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return require(&#039;Module:Location map/data/Thailand Bangkok Metropolitan Region&#039;)&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand&amp;diff=5262</id>
		<title>Module:Location map/data/Thailand</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand&amp;diff=5262"/>
		<updated>2023-08-08T09:12:25Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Thailand&#039;,&lt;br /&gt;
	top = 20.6,&lt;br /&gt;
	bottom = 5.4,&lt;br /&gt;
	left = 97.1,&lt;br /&gt;
	right = 106.0,&lt;br /&gt;
	defaultscale = 0.6,&lt;br /&gt;
	image = &#039;Thailand adm location map.svg&#039;,&lt;br /&gt;
	image1 = &#039;Thailand location relief map.svg&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Bangkok&amp;diff=5261</id>
		<title>Module:Location map/data/Thailand Bangkok</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Bangkok&amp;diff=5261"/>
		<updated>2023-08-08T09:11:43Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Bangkok&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Bangkok&#039;,&lt;br /&gt;
	top = 13.9611,&lt;br /&gt;
	bottom = 13.4658,&lt;br /&gt;
	left = 100.3153,&lt;br /&gt;
	right = 100.9417,&lt;br /&gt;
	image = &#039;Thailand Bangkok location map.png&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Bangkok_Metropolitan_Region&amp;diff=5260</id>
		<title>Module:Location map/data/Thailand Bangkok Metropolitan Region</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Bangkok_Metropolitan_Region&amp;diff=5260"/>
		<updated>2023-08-08T09:10:54Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Bangkok Metropolitan Region&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Bangkok Metropolitan Region&#039;,&lt;br /&gt;
	top = 14.293,&lt;br /&gt;
	bottom = 13.423,&lt;br /&gt;
	left = 99.826,&lt;br /&gt;
	right = 100.967,&lt;br /&gt;
	image = &#039;Bangkok_Metropolitan_Region.svg&#039;,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Chiang_Mai_Province&amp;diff=5259</id>
		<title>Module:Location map/data/Thailand Chiang Mai Province</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Chiang_Mai_Province&amp;diff=5259"/>
		<updated>2023-08-08T09:10:26Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Chiang Mai Province&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Chiang Mai Province&#039;,&lt;br /&gt;
	top = 20.1480,&lt;br /&gt;
	bottom = 17.2099135,&lt;br /&gt;
	left = 97.9765,&lt;br /&gt;
	right = 99.5714,&lt;br /&gt;
	image = &#039;Transportation Map focusing Chiang Mai Province No label 01.png&#039;,&lt;br /&gt;
	image1 = &#039;Thailand Chiang Mai location map.svg&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Chonburi&amp;diff=5258</id>
		<title>Module:Location map/data/Thailand Chonburi</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Chonburi&amp;diff=5258"/>
		<updated>2023-08-08T09:09:59Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Chonburi&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Chonburi&#039;,&lt;br /&gt;
	top = 13.57,&lt;br /&gt;
	bottom = 12.48,&lt;br /&gt;
	left = 100.62,&lt;br /&gt;
	right = 101.72,&lt;br /&gt;
	image = &#039;Thailand Chonburi location map.png&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Isan_TMD&amp;diff=5257</id>
		<title>Module:Location map/data/Thailand Isan TMD</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Isan_TMD&amp;diff=5257"/>
		<updated>2023-08-08T09:09:33Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Isan TMD&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Thailand Isan TMD&#039;,&lt;br /&gt;
	top = 18.55,&lt;br /&gt;
	bottom = 14.03,&lt;br /&gt;
	left = 100.66,&lt;br /&gt;
	right = 105.82,&lt;br /&gt;
	image = &#039;Thailand Northeastern location map with colours.png&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Northern_TMD&amp;diff=5256</id>
		<title>Module:Location map/data/Thailand Northern TMD</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Northern_TMD&amp;diff=5256"/>
		<updated>2023-08-08T09:08:55Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Northern TMD&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
    name = &#039;Thailand Northern TMD&#039;,&lt;br /&gt;
    top = 20.74,&lt;br /&gt;
    bottom = 14.44,&lt;br /&gt;
    left = 97.1,&lt;br /&gt;
    right = 102.18,&lt;br /&gt;
    image = &#039;Thailand Northern (17 provinces) location map with colors.png&#039;,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Phuket&amp;diff=5255</id>
		<title>Module:Location map/data/Thailand Phuket</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/data/Thailand_Phuket&amp;diff=5255"/>
		<updated>2023-08-08T09:08:29Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/data/Thailand Phuket&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
	name = &#039;Phuket&#039;,&lt;br /&gt;
	top = 8.215,&lt;br /&gt;
	bottom = 7.458,&lt;br /&gt;
	left = 98.211,&lt;br /&gt;
	right = 98.519,&lt;br /&gt;
	image = &#039;Thailand Phuket PESA location map.svg&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/multi&amp;diff=5254</id>
		<title>Module:Location map/multi</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/multi&amp;diff=5254"/>
		<updated>2023-08-08T09:07:53Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/multi&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require(&#039;strict&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
local locmap = require(&#039;Module:Location map&#039;)&lt;br /&gt;
&lt;br /&gt;
local function switcherSeparate(s)&lt;br /&gt;
	if s == nil then return {} end&lt;br /&gt;
	local retval = {}&lt;br /&gt;
	for i in string.gmatch(s .. &#039;#&#039;, &#039;([^#]*)#&#039;) do&lt;br /&gt;
		i = mw.text.trim(i)&lt;br /&gt;
		retval[#retval + 1] = (i ~= &#039;&#039; and i)&lt;br /&gt;
	end&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.container(frame, args, map)&lt;br /&gt;
	local caption_list = {}&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {wrappers = &#039;Template:Location map+&#039;, valueFunc = locmap.valueFunc})&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		if args[1] then&lt;br /&gt;
			map = {}&lt;br /&gt;
			for mapname in string.gmatch(args[1], &#039;[^#]+&#039;) do&lt;br /&gt;
				map[#map + 1] = locmap.getMapParams(mapname, frame)&lt;br /&gt;
			end&lt;br /&gt;
			if args[&#039;caption&#039;] then&lt;br /&gt;
				if args[&#039;caption&#039;] == &amp;quot;&amp;quot; then&lt;br /&gt;
					while #caption_list &amp;lt; #map do&lt;br /&gt;
						caption_list[#caption_list + 1] = args[&#039;caption&#039;]&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					for caption in mw.text.gsplit(args[&#039;caption&#039;], &#039;##&#039;, true) do&lt;br /&gt;
						caption_list[#caption_list + 1] = caption&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if #map == 1 then map = map[1] end&lt;br /&gt;
		else&lt;br /&gt;
			map = locmap.getMapParams(&#039;World&#039;, frame)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if type(map) == &#039;table&#039; then&lt;br /&gt;
		local placeslist = mw.text.gsplit(args.places, &#039;#PlaceList#&#039;)&lt;br /&gt;
		local permaplaces = {}&lt;br /&gt;
		local numbermaps = #map&lt;br /&gt;
		local count = 0&lt;br /&gt;
		for i = 1,numbermaps do&lt;br /&gt;
			permaplaces[i] = {}&lt;br /&gt;
		end&lt;br /&gt;
		for place in placeslist do&lt;br /&gt;
			table.insert(permaplaces[count%numbermaps + 1],place)&lt;br /&gt;
			count = count + 1&lt;br /&gt;
		end&lt;br /&gt;
		local altmaps = switcherSeparate(args.AlternativeMap)&lt;br /&gt;
		if #altmaps &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d AlternativeMaps were provided, but only %d maps were provided&#039;, #altmaps, #map))&lt;br /&gt;
		end&lt;br /&gt;
		local overlays = switcherSeparate(args.overlay_image)&lt;br /&gt;
		if #overlays &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d overlay_images were provided, but only %d maps were provided&#039;, #overlays, #map))&lt;br /&gt;
		end&lt;br /&gt;
		if #caption_list &amp;gt; #map then&lt;br /&gt;
			error(string.format(&#039;%d captions were provided, but only %d maps were provided&#039;, #caption_list, #map))&lt;br /&gt;
		end&lt;br /&gt;
		local outputs = {}&lt;br /&gt;
		args.autoSwitcherLabel = true&lt;br /&gt;
		for k,v in ipairs(map) do&lt;br /&gt;
			args.AlternativeMap = altmaps[k]&lt;br /&gt;
			args.overlay_image = overlays[k]&lt;br /&gt;
			args.caption = caption_list[k]&lt;br /&gt;
			args.places = table.concat(permaplaces[k])&lt;br /&gt;
			outputs[k] = p.container(frame, args, v)&lt;br /&gt;
		end&lt;br /&gt;
		return &#039;&amp;lt;div class=&amp;quot;switcher-container&amp;quot;&amp;gt;&#039; .. table.concat(outputs) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return locmap.top(frame, args, map) .. (args.places and args.places:gsub(&#039;%s*\n%s*&#039;, &#039;&#039;) or &#039;&#039;) .. locmap.bottom(frame, args, map)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function manyMakeArgs(fullArgs, n)&lt;br /&gt;
	if n == 1 then&lt;br /&gt;
		return {&lt;br /&gt;
			lat = fullArgs.lat1 or fullArgs.lat,&lt;br /&gt;
			long = fullArgs.long1 or fullArgs.long,&lt;br /&gt;
			coordinates = fullArgs.coordinates1 or fullArgs.coordinates,&lt;br /&gt;
			lat_deg = fullArgs.lat1_deg or fullArgs.lat_deg,&lt;br /&gt;
			lat_min = fullArgs.lat1_min or fullArgs.lat_min,&lt;br /&gt;
			lat_sec = fullArgs.lat1_sec or fullArgs.lat_sec,&lt;br /&gt;
			lat_dir = fullArgs.lat1_dir or fullArgs.lat_dir,&lt;br /&gt;
			lon_deg = fullArgs.lon1_deg or fullArgs.lon_deg,&lt;br /&gt;
			lon_min = fullArgs.lon1_min or fullArgs.lon_min,&lt;br /&gt;
			lon_sec = fullArgs.lon1_sec or fullArgs.lon_sec,&lt;br /&gt;
			lon_dir = fullArgs.lon1_dir or fullArgs.lon_dir,&lt;br /&gt;
			outside = fullArgs.outside1 or fullArgs.outside,&lt;br /&gt;
			mark = fullArgs.mark1 or fullArgs.mark,&lt;br /&gt;
			marksize = fullArgs.mark1size or fullArgs.marksize,&lt;br /&gt;
			link = fullArgs.link1 or fullArgs.link,&lt;br /&gt;
			label = fullArgs.label1 or fullArgs.label,&lt;br /&gt;
			label_size = fullArgs.label1_size or fullArgs.label_size,&lt;br /&gt;
			label_width = fullArgs.label1_width or fullArgs.label_width,&lt;br /&gt;
			position = fullArgs.position1 or fullArgs.pos1 or fullArgs.position or fullArgs.pos,&lt;br /&gt;
			background = fullArgs.background1 or fullArgs.bg1 or fullArgs.background or fullArgs.bg&lt;br /&gt;
		}&lt;br /&gt;
	else&lt;br /&gt;
		return {&lt;br /&gt;
			lat = fullArgs[&#039;lat&#039; .. n],&lt;br /&gt;
			long = fullArgs[&#039;long&#039; .. n],&lt;br /&gt;
			coordinates = fullArgs[&#039;coordinates&#039; .. n],&lt;br /&gt;
			lat_deg = fullArgs[&#039;lat&#039; .. n .. &#039;_deg&#039;],&lt;br /&gt;
			lat_min = fullArgs[&#039;lat&#039; .. n .. &#039;_min&#039;],&lt;br /&gt;
			lat_sec = fullArgs[&#039;lat&#039; .. n .. &#039;_sec&#039;],&lt;br /&gt;
			lat_dir = fullArgs[&#039;lat&#039; .. n .. &#039;_dir&#039;],&lt;br /&gt;
			lon_deg = fullArgs[&#039;lon&#039; .. n .. &#039;_deg&#039;],&lt;br /&gt;
			lon_min = fullArgs[&#039;lon&#039; .. n .. &#039;_min&#039;],&lt;br /&gt;
			lon_sec = fullArgs[&#039;lon&#039; .. n .. &#039;_sec&#039;],&lt;br /&gt;
			lon_dir = fullArgs[&#039;lon&#039; .. n .. &#039;_dir&#039;],&lt;br /&gt;
			outside = fullArgs[&#039;outside&#039; .. n],&lt;br /&gt;
			mark = fullArgs[&#039;mark&#039; .. n],&lt;br /&gt;
			marksize = fullArgs[&#039;mark&#039; .. n .. &#039;size&#039;],&lt;br /&gt;
			link = fullArgs[&#039;link&#039; .. n],&lt;br /&gt;
			label = fullArgs[&#039;label&#039; .. n],&lt;br /&gt;
			label_size = fullArgs[&#039;label&#039; .. n .. &#039;_size&#039;],&lt;br /&gt;
			label_width = fullArgs[&#039;label&#039; .. n .. &#039;_width&#039;],&lt;br /&gt;
			position = fullArgs[&#039;position&#039; .. n] or fullArgs[&#039;pos&#039; .. n],&lt;br /&gt;
			background = fullArgs[&#039;background&#039; .. n] or fullArgs[&#039;bg&#039; .. n]&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.many(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {wrappers = &#039;Template:Location map many&#039;, valueFunc = locmap.valueFunc})&lt;br /&gt;
	end&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		args[1] = &#039;World&#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not map then&lt;br /&gt;
		map = {}&lt;br /&gt;
		for mapname in string.gmatch(args[1], &#039;[^#]+&#039;) do&lt;br /&gt;
			map[#map + 1] = locmap.getMapParams(mapname, frame)&lt;br /&gt;
		end&lt;br /&gt;
		if #map ~= 1 then&lt;br /&gt;
			local outputs = {}&lt;br /&gt;
			args.autoSwitcherLabel = true&lt;br /&gt;
			for k,v in ipairs(map) do&lt;br /&gt;
				outputs[k] = p.many(frame, args, v)&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;div class=&amp;quot;switcher-container&amp;quot;&amp;gt;&#039; .. table.concat(outputs) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		map = map[1]&lt;br /&gt;
	end&lt;br /&gt;
	local marks = {}&lt;br /&gt;
	local markhigh&lt;br /&gt;
	if args.markhigh then&lt;br /&gt;
		mw.log(&#039;Removed parameter markhigh used.&#039;)&lt;br /&gt;
		local parent = frame:getParent()&lt;br /&gt;
		if parent then&lt;br /&gt;
			mw.log(&#039;Parent is &#039; .. parent:getTitle())&lt;br /&gt;
		end&lt;br /&gt;
		mw.logObject(args, &#039;args&#039;)&lt;br /&gt;
		markhigh = true&lt;br /&gt;
	end&lt;br /&gt;
	for k, v in pairs(args) do -- @todo change to uargs once we have that&lt;br /&gt;
		if v then&lt;br /&gt;
			if string.sub(k, -4) == &#039;_deg&#039; then&lt;br /&gt;
				k = string.sub(k, 1, -5)&lt;br /&gt;
			end&lt;br /&gt;
			if string.sub(k, 1, 3) == &#039;lat&#039; then&lt;br /&gt;
				k = tonumber(string.sub(k, 4))&lt;br /&gt;
				if k then&lt;br /&gt;
					table.insert(marks, k)&lt;br /&gt;
				end&lt;br /&gt;
			elseif string.sub(k, 1, 11) == &#039;coordinates&#039; then&lt;br /&gt;
				k = tonumber(string.sub(k, 12))&lt;br /&gt;
				if k then&lt;br /&gt;
					table.insert(marks,k)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(marks)&lt;br /&gt;
	if marks[1] ~= 1 and (args.lat or args.lat_deg or args.coordinates) then&lt;br /&gt;
		table.insert(marks, 1, 1)&lt;br /&gt;
	end&lt;br /&gt;
	local body = &#039;&#039;&lt;br /&gt;
	for _, v in ipairs(marks) do&lt;br /&gt;
		-- don&#039;t try to consolidate this into the above loop. ordering of elements from pairs() is unspecified&lt;br /&gt;
		body = body .. tostring( locmap.mark(frame, manyMakeArgs(args, v), map) )&lt;br /&gt;
		if args[&#039;mark&#039; .. v .. &#039;high&#039;] then&lt;br /&gt;
			mw.log(&#039;Removed parameter mark&#039; .. v .. &#039;high used.&#039;)&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if parent then&lt;br /&gt;
				mw.log(&#039;Parent is &#039; .. parent:getTitle())&lt;br /&gt;
			end&lt;br /&gt;
			mw.logObject(args, &#039;args&#039;)&lt;br /&gt;
			markhigh = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	args.label = nil -- there is no global label&lt;br /&gt;
	return locmap.top(frame, args, map) .. body .. locmap.bottom(frame, args, map) .. (markhigh and &#039;[[Category:Location maps with possible errors|Page using removed parameter]]&#039; or &#039;&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.load(frame, args, map)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame, {frameOnly = true})&lt;br /&gt;
	end&lt;br /&gt;
	local dataModule = mw.loadData(frame.args[1])&lt;br /&gt;
	if not map then&lt;br /&gt;
		map = {}&lt;br /&gt;
		for mapname in string.gmatch(dataModule.containerArgs[1], &#039;[^#]+&#039;) do&lt;br /&gt;
			map[#map + 1] = locmap.getMapParams(mapname, frame)&lt;br /&gt;
		end&lt;br /&gt;
		if #map ~= 1 then&lt;br /&gt;
			local outputs = {}&lt;br /&gt;
			args.autoSwitcherLabel = true&lt;br /&gt;
			for k,v in ipairs(map) do&lt;br /&gt;
				outputs[k] = p.load(frame, args, v)&lt;br /&gt;
			end&lt;br /&gt;
			return &#039;&amp;lt;div class=&amp;quot;switcher-container&amp;quot;&amp;gt;&#039; .. table.concat(outputs) .. &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		map = map[1]&lt;br /&gt;
	end&lt;br /&gt;
	local marks = {}&lt;br /&gt;
	if dataModule.marks then&lt;br /&gt;
		for k,markArgs in ipairs(dataModule.marks) do&lt;br /&gt;
			marks[k] = tostring(locmap.mark(frame, markArgs, map))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if dataModule.secondaryModules then&lt;br /&gt;
		for _,modname in ipairs(dataModule.secondaryModules) do&lt;br /&gt;
			for _,markArgs in ipairs(mw.loadData(modname).marks) do&lt;br /&gt;
				marks[#marks + 1] = tostring(locmap.mark(frame, markArgs, map))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return locmap.top(frame, dataModule.containerArgs, map) .. table.concat(marks) .. locmap.bottom(frame, dataModule.containerArgs, map)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Location_map/styles.css&amp;diff=5253</id>
		<title>Module:Location map/styles.css</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Location_map/styles.css&amp;diff=5253"/>
		<updated>2023-08-08T09:07:28Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Location map/styles.css&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=yes}} */&lt;br /&gt;
.locmap .od {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .id {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	line-height: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .l0 {&lt;br /&gt;
	font-size: 0;&lt;br /&gt;
	position: absolute;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pv {&lt;br /&gt;
	line-height: 110%;&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pl {&lt;br /&gt;
	line-height: 110%;&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: -0.75em;&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pr {&lt;br /&gt;
	line-height: 110%;&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: -0.75em;&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pv &amp;gt; div {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pl &amp;gt; div {&lt;br /&gt;
	display: inline; /* inline does not impact floated elements */&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.locmap .pr &amp;gt; div {&lt;br /&gt;
	display: inline; /* inline does not impact floated elements */&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Math&amp;diff=5252</id>
		<title>Module:Math</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Math&amp;diff=5252"/>
		<updated>2023-08-08T09:07:00Z</updated>

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

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Namespace detect&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                                                                            --&lt;br /&gt;
--                            NAMESPACE DETECT                                --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module implements the {{namespace detect}} template in Lua, with a    --&lt;br /&gt;
-- few improvements: all namespaces and all namespace aliases are supported,  --&lt;br /&gt;
-- and namespace names are detected automatically for the local wiki. The     --&lt;br /&gt;
-- module can also use the corresponding subject namespace value if it is     --&lt;br /&gt;
-- used on a talk page. Parameter names can be configured for different wikis --&lt;br /&gt;
-- by altering the values in the &amp;quot;cfg&amp;quot; table in                               --&lt;br /&gt;
-- Module:Namespace detect/config.                                            --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local data = mw.loadData(&#039;Module:Namespace detect/data&#039;)&lt;br /&gt;
local argKeys = data.argKeys&lt;br /&gt;
local cfg = data.cfg&lt;br /&gt;
local mappings = data.mappings&lt;br /&gt;
&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
local mArguments -- Lazily initialise Module:Arguments&lt;br /&gt;
local mTableTools -- Lazily initilalise Module:TableTools&lt;br /&gt;
local ustringLower = mw.ustring.lower&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function fetchValue(t1, t2)&lt;br /&gt;
	-- Fetches a value from the table t1 for the first key in array t2 where&lt;br /&gt;
	-- a non-nil value of t1 exists.&lt;br /&gt;
	for i, key in ipairs(t2) do&lt;br /&gt;
		local value = t1[key]&lt;br /&gt;
		if value ~= nil then&lt;br /&gt;
			return value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function equalsArrayValue(t, value)&lt;br /&gt;
	-- Returns true if value equals a value in the array t. Otherwise&lt;br /&gt;
	-- returns false.&lt;br /&gt;
	for i, arrayValue in ipairs(t) do&lt;br /&gt;
		if value == arrayValue then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getPageObject(page)&lt;br /&gt;
	-- Get the page object, passing the function through pcall in case of&lt;br /&gt;
	-- errors, e.g. being over the expensive function count limit.&lt;br /&gt;
	if page then&lt;br /&gt;
		local success, pageObject = pcall(mw.title.new, page)&lt;br /&gt;
		if success then&lt;br /&gt;
			return pageObject&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return mw.title.getCurrentTitle()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Provided for backward compatibility with other modules&lt;br /&gt;
function p.getParamMappings()&lt;br /&gt;
	return mappings&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getNamespace(args)&lt;br /&gt;
	-- This function gets the namespace name from the page object.&lt;br /&gt;
	local page = fetchValue(args, argKeys.demopage)&lt;br /&gt;
	if page == &#039;&#039; then&lt;br /&gt;
		page = nil&lt;br /&gt;
	end&lt;br /&gt;
	local demospace = fetchValue(args, argKeys.demospace)&lt;br /&gt;
	if demospace == &#039;&#039; then&lt;br /&gt;
		demospace = nil&lt;br /&gt;
	end&lt;br /&gt;
	local subjectns = fetchValue(args, argKeys.subjectns)&lt;br /&gt;
	local ret&lt;br /&gt;
	if demospace then&lt;br /&gt;
		-- Handle &amp;quot;demospace = main&amp;quot; properly.&lt;br /&gt;
		if equalsArrayValue(argKeys.main, ustringLower(demospace)) then&lt;br /&gt;
			ret = mw.site.namespaces[0].name&lt;br /&gt;
		else&lt;br /&gt;
			ret = demospace&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local pageObject = p.getPageObject(page)&lt;br /&gt;
		if pageObject then&lt;br /&gt;
			if pageObject.isTalkPage then&lt;br /&gt;
				-- Get the subject namespace if the option is set,&lt;br /&gt;
				-- otherwise use &amp;quot;talk&amp;quot;.&lt;br /&gt;
				if yesno(subjectns) then&lt;br /&gt;
					ret = mw.site.namespaces[pageObject.namespace].subject.name&lt;br /&gt;
				else&lt;br /&gt;
					ret = &#039;talk&#039;&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				ret = pageObject.nsText&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return nil -- return nil if the page object doesn&#039;t exist.&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	ret = ret:gsub(&#039;_&#039;, &#039; &#039;)&lt;br /&gt;
	return ustringLower(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	-- Check the parameters stored in the mappings table for any matches.&lt;br /&gt;
	local namespace = getNamespace(args) or &#039;other&#039; -- &amp;quot;other&amp;quot; avoids nil table keys&lt;br /&gt;
	local params = mappings[namespace] or {}&lt;br /&gt;
	local ret = fetchValue(args, params)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- If there were no matches, return parameters for other namespaces.&lt;br /&gt;
	-- This happens if there was no text specified for the namespace that&lt;br /&gt;
	-- was detected or if the demospace parameter is not a valid&lt;br /&gt;
	-- namespace. Note that the parameter for the detected namespace must be&lt;br /&gt;
	-- completely absent for this to happen, not merely blank.&lt;br /&gt;
	--]]&lt;br /&gt;
	if ret == nil then&lt;br /&gt;
		ret = fetchValue(args, argKeys.other)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	mArguments = require(&#039;Module:Arguments&#039;)&lt;br /&gt;
	local args = mArguments.getArgs(frame, {removeBlanks = false})&lt;br /&gt;
	local ret = p._main(args)&lt;br /&gt;
	return ret or &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.table(frame)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Create a wikitable of all subject namespace parameters, for&lt;br /&gt;
	-- documentation purposes. The talk parameter is optional, in case it&lt;br /&gt;
	-- needs to be excluded in the documentation.&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	-- Load modules and initialise variables.&lt;br /&gt;
	mTableTools = require(&#039;Module:TableTools&#039;)&lt;br /&gt;
	local namespaces = mw.site.namespaces&lt;br /&gt;
	local cfg = data.cfg&lt;br /&gt;
	local useTalk = type(frame) == &#039;table&#039; &lt;br /&gt;
		and type(frame.args) == &#039;table&#039; &lt;br /&gt;
		and yesno(frame.args.talk) -- Whether to use the talk parameter.&lt;br /&gt;
	&lt;br /&gt;
	-- Get the header names.&lt;br /&gt;
	local function checkValue(value, default)&lt;br /&gt;
		if type(value) == &#039;string&#039; then&lt;br /&gt;
			return value&lt;br /&gt;
		else&lt;br /&gt;
			return default&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local nsHeader = checkValue(cfg.wikitableNamespaceHeader, &#039;Namespace&#039;)&lt;br /&gt;
	local aliasesHeader = checkValue(cfg.wikitableAliasesHeader, &#039;Aliases&#039;)&lt;br /&gt;
&lt;br /&gt;
	-- Put the namespaces in order.&lt;br /&gt;
	local mappingsOrdered = {}&lt;br /&gt;
	for nsname, params in pairs(mappings) do&lt;br /&gt;
		if useTalk or nsname ~= &#039;talk&#039; then&lt;br /&gt;
			local nsid = namespaces[nsname].id&lt;br /&gt;
			-- Add 1, as the array must start with 1; nsid 0 would be lost otherwise.&lt;br /&gt;
			nsid = nsid + 1 &lt;br /&gt;
			mappingsOrdered[nsid] = params&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	mappingsOrdered = mTableTools.compressSparseArray(mappingsOrdered)&lt;br /&gt;
&lt;br /&gt;
	-- Build the table.&lt;br /&gt;
	local ret = &#039;{| class=&amp;quot;wikitable&amp;quot;&#039;&lt;br /&gt;
		.. &#039;\n|-&#039;&lt;br /&gt;
		.. &#039;\n! &#039; .. nsHeader&lt;br /&gt;
		.. &#039;\n! &#039; .. aliasesHeader&lt;br /&gt;
	for i, params in ipairs(mappingsOrdered) do&lt;br /&gt;
		for j, param in ipairs(params) do&lt;br /&gt;
			if j == 1 then&lt;br /&gt;
				ret = ret .. &#039;\n|-&#039;&lt;br /&gt;
					.. &#039;\n| &amp;lt;code&amp;gt;&#039; .. param .. &#039;&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
					.. &#039;\n| &#039;&lt;br /&gt;
			elseif j == 2 then&lt;br /&gt;
				ret = ret .. &#039;&amp;lt;code&amp;gt;&#039; .. param .. &#039;&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
			else&lt;br /&gt;
				ret = ret .. &#039;, &amp;lt;code&amp;gt;&#039; .. param .. &#039;&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	ret = ret .. &#039;\n|-&#039;&lt;br /&gt;
		.. &#039;\n|}&#039;&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Namespace_detect/config&amp;diff=5250</id>
		<title>Module:Namespace detect/config</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Namespace_detect/config&amp;diff=5250"/>
		<updated>2023-08-08T09:06:14Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Namespace detect/config&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                    Namespace detect configuration data                     --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module stores configuration data for Module:Namespace detect. Here    --&lt;br /&gt;
-- you can localise the module to your wiki&#039;s language.                       --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- To activate a configuration item, you need to uncomment it. This means     --&lt;br /&gt;
-- that you need to remove the text &amp;quot;-- &amp;quot; at the start of the line.           --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Don&#039;t edit this line.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                              Parameter names                               --&lt;br /&gt;
-- These configuration items specify custom parameter names. Values added     --&lt;br /&gt;
-- here will work in addition to the default English parameter names.         --&lt;br /&gt;
-- To add one extra name, you can use this format:                            --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- cfg.foo = &#039;parameter name&#039;                                                 --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- To add multiple names, you can use this format:                            --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- cfg.foo = {&#039;parameter name 1&#039;, &#039;parameter name 2&#039;, &#039;parameter name 3&#039;}     --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
---- This parameter displays content for the main namespace:&lt;br /&gt;
-- cfg.main = &#039;main&#039;&lt;br /&gt;
&lt;br /&gt;
---- This parameter displays in talk namespaces:&lt;br /&gt;
-- cfg.talk = &#039;talk&#039;&lt;br /&gt;
&lt;br /&gt;
---- This parameter displays content for &amp;quot;other&amp;quot; namespaces (namespaces for which&lt;br /&gt;
---- parameters have not been specified):&lt;br /&gt;
-- cfg.other = &#039;other&#039;&lt;br /&gt;
&lt;br /&gt;
---- This parameter makes talk pages behave as though they are the corresponding&lt;br /&gt;
---- subject namespace. Note that this parameter is used with [[Module:Yesno]].&lt;br /&gt;
---- Edit that module to change the default values of &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&lt;br /&gt;
-- cfg.subjectns = &#039;subjectns&#039;&lt;br /&gt;
&lt;br /&gt;
---- This parameter sets a demonstration namespace:&lt;br /&gt;
-- cfg.demospace = &#039;demospace&#039;&lt;br /&gt;
&lt;br /&gt;
---- This parameter sets a specific page to compare:&lt;br /&gt;
cfg.demopage = &#039;page&#039;&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                           Table configuration                              --&lt;br /&gt;
-- These configuration items allow customisation of the &amp;quot;table&amp;quot; function,     --&lt;br /&gt;
-- used to generate a table of possible parameters in the module              --&lt;br /&gt;
-- documentation.                                                             --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
---- The header for the namespace column in the wikitable containing the list of&lt;br /&gt;
---- possible subject-space parameters.&lt;br /&gt;
-- cfg.wikitableNamespaceHeader = &#039;Namespace&#039;&lt;br /&gt;
&lt;br /&gt;
---- The header for the wikitable containing the list of possible subject-space&lt;br /&gt;
---- parameters.&lt;br /&gt;
-- cfg.wikitableAliasesHeader = &#039;Aliases&#039;&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                        End of configuration data                           --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return cfg -- Don&#039;t edit this line.&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Namespace_detect/data&amp;diff=5249</id>
		<title>Module:Namespace detect/data</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Namespace_detect/data&amp;diff=5249"/>
		<updated>2023-08-08T09:05:42Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Namespace detect/data&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                          Namespace detect data                             --&lt;br /&gt;
-- This module holds data for [[Module:Namespace detect]] to be loaded per    --&lt;br /&gt;
-- page, rather than per #invoke, for performance reasons.                    --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = require(&#039;Module:Namespace detect/config&#039;)&lt;br /&gt;
&lt;br /&gt;
local function addKey(t, key, defaultKey)&lt;br /&gt;
	if key ~= defaultKey then&lt;br /&gt;
		t[#t + 1] = key&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Get a table of parameters to query for each default parameter name.&lt;br /&gt;
-- This allows wikis to customise parameter names in the cfg table while&lt;br /&gt;
-- ensuring that default parameter names will always work. The cfg table&lt;br /&gt;
-- values can be added as a string, or as an array of strings.&lt;br /&gt;
&lt;br /&gt;
local defaultKeys = {&lt;br /&gt;
	&#039;main&#039;,&lt;br /&gt;
	&#039;talk&#039;,&lt;br /&gt;
	&#039;other&#039;,&lt;br /&gt;
	&#039;subjectns&#039;,&lt;br /&gt;
	&#039;demospace&#039;,&lt;br /&gt;
	&#039;demopage&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local argKeys = {}&lt;br /&gt;
for i, defaultKey in ipairs(defaultKeys) do&lt;br /&gt;
	argKeys[defaultKey] = {defaultKey}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for defaultKey, t in pairs(argKeys) do&lt;br /&gt;
	local cfgValue = cfg[defaultKey]&lt;br /&gt;
	local cfgValueType = type(cfgValue)&lt;br /&gt;
	if cfgValueType == &#039;string&#039; then&lt;br /&gt;
		addKey(t, cfgValue, defaultKey)&lt;br /&gt;
	elseif cfgValueType == &#039;table&#039; then&lt;br /&gt;
		for i, key in ipairs(cfgValue) do&lt;br /&gt;
			addKey(t, key, defaultKey)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	cfg[defaultKey] = nil -- Free the cfg value as we don&#039;t need it any more.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getParamMappings()&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Returns a table of how parameter names map to namespace names. The keys&lt;br /&gt;
	-- are the actual namespace names, in lower case, and the values are the&lt;br /&gt;
	-- possible parameter names for that namespace, also in lower case. The&lt;br /&gt;
	-- table entries are structured like this:&lt;br /&gt;
	-- {&lt;br /&gt;
	--   [&#039;&#039;] = {&#039;main&#039;},&lt;br /&gt;
	--   [&#039;wikipedia&#039;] = {&#039;wikipedia&#039;, &#039;project&#039;, &#039;wp&#039;},&lt;br /&gt;
	--   ...&lt;br /&gt;
	-- }&lt;br /&gt;
	--]]&lt;br /&gt;
	local mappings = {}&lt;br /&gt;
	local mainNsName = mw.site.subjectNamespaces[0].name&lt;br /&gt;
	mainNsName = mw.ustring.lower(mainNsName)&lt;br /&gt;
	mappings[mainNsName] = mw.clone(argKeys.main)&lt;br /&gt;
	mappings[&#039;talk&#039;] = mw.clone(argKeys.talk)&lt;br /&gt;
	for nsid, ns in pairs(mw.site.subjectNamespaces) do&lt;br /&gt;
		if nsid ~= 0 then -- Exclude main namespace.&lt;br /&gt;
			local nsname = mw.ustring.lower(ns.name)&lt;br /&gt;
			local canonicalName = mw.ustring.lower(ns.canonicalName)&lt;br /&gt;
			mappings[nsname] = {nsname}&lt;br /&gt;
			if canonicalName ~= nsname then&lt;br /&gt;
				table.insert(mappings[nsname], canonicalName)&lt;br /&gt;
			end&lt;br /&gt;
			for _, alias in ipairs(ns.aliases) do&lt;br /&gt;
				table.insert(mappings[nsname], mw.ustring.lower(alias))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return mappings&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	argKeys = argKeys,&lt;br /&gt;
	cfg = cfg,&lt;br /&gt;
	mappings = getParamMappings()&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Pagetype/config&amp;diff=5248</id>
		<title>Module:Pagetype/config</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Pagetype/config&amp;diff=5248"/>
		<updated>2023-08-08T09:04:53Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Pagetype/config&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                  Module:Pagetype configuration data                        --&lt;br /&gt;
-- This page holds localisation and configuration data for Module:Pagetype.   --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Don&#039;t edit this line.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                        Start configuration data                            --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- This table holds the values to use for &amp;quot;main=true&amp;quot;, &amp;quot;user=true&amp;quot;, etc. Keys to&lt;br /&gt;
-- this table should be namespace parameters that can be used with&lt;br /&gt;
-- [[Module:Namespace detect]]. &lt;br /&gt;
cfg.pagetypes = {&lt;br /&gt;
	[&#039;main&#039;]              = &#039;article&#039;,&lt;br /&gt;
	[&#039;user&#039;]              = &#039;user page&#039;,&lt;br /&gt;
	[&#039;project&#039;]           = &#039;project page&#039;,&lt;br /&gt;
	[&#039;wikipedia&#039;]         = &#039;project page&#039;,&lt;br /&gt;
	[&#039;wp&#039;]                = &#039;project page&#039;,&lt;br /&gt;
	[&#039;file&#039;]              = &#039;file&#039;,&lt;br /&gt;
	[&#039;image&#039;]             = &#039;file&#039;,&lt;br /&gt;
	[&#039;mediawiki&#039;]         = &#039;interface page&#039;,&lt;br /&gt;
	[&#039;template&#039;]          = &#039;template&#039;,&lt;br /&gt;
	[&#039;help&#039;]              = &#039;help page&#039;,&lt;br /&gt;
	[&#039;category&#039;]          = &#039;category&#039;,&lt;br /&gt;
	[&#039;portal&#039;]            = &#039;portal&#039;,&lt;br /&gt;
	[&#039;draft&#039;]             = &#039;draft&#039;,&lt;br /&gt;
	[&#039;timedtext&#039;]         = &#039;Timed Text page&#039;,&lt;br /&gt;
	[&#039;module&#039;]            = &#039;module&#039;,&lt;br /&gt;
	[&#039;topic&#039;]             = &#039;topic&#039;,&lt;br /&gt;
	[&#039;gadget&#039;]            = &#039;gadget&#039;,&lt;br /&gt;
	[&#039;gadget definition&#039;] = &#039;gadget definition&#039;,&lt;br /&gt;
	[&#039;talk&#039;]              = &#039;talk page&#039;,&lt;br /&gt;
	[&#039;special&#039;]           = &#039;special page&#039;,&lt;br /&gt;
	[&#039;media&#039;]             = &#039;file&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- This table holds the names of the namespaces to be looked up from&lt;br /&gt;
-- cfg.pagetypes by default.&lt;br /&gt;
cfg.defaultNamespaces = {&lt;br /&gt;
	&#039;main&#039;,&lt;br /&gt;
	&#039;file&#039;,&lt;br /&gt;
	&#039;template&#039;,&lt;br /&gt;
	&#039;category&#039;,&lt;br /&gt;
	&#039;module&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- This table holds the names of the namespaces to be looked up from&lt;br /&gt;
-- cfg.pagetypes if cfg.defaultnsExtended is set.&lt;br /&gt;
cfg.extendedNamespaces = {&lt;br /&gt;
	&#039;main&#039;,&lt;br /&gt;
	&#039;user&#039;,&lt;br /&gt;
	&#039;project&#039;,&lt;br /&gt;
	&#039;file&#039;,&lt;br /&gt;
	&#039;mediawiki&#039;,&lt;br /&gt;
	&#039;template&#039;,&lt;br /&gt;
	&#039;category&#039;,&lt;br /&gt;
	&#039;help&#039;,&lt;br /&gt;
	&#039;portal&#039;,&lt;br /&gt;
	&#039;module&#039;,&lt;br /&gt;
	&#039;draft&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- The parameter name to set which default namespace values to be looked up from&lt;br /&gt;
-- cfg.pagetypes.&lt;br /&gt;
cfg.defaultns = &#039;defaultns&#039;&lt;br /&gt;
&lt;br /&gt;
-- The value of cfg.defaultns to set all namespaces, including talk.&lt;br /&gt;
cfg.defaultnsAll = &#039;all&#039;&lt;br /&gt;
&lt;br /&gt;
-- The value of cfg.defaultns to set the namespaces listed in&lt;br /&gt;
-- cfg.extendedNamespaces&lt;br /&gt;
cfg.defaultnsExtended = &#039;extended&#039;&lt;br /&gt;
&lt;br /&gt;
-- The value of cfg.defaultns to set no default namespaces.&lt;br /&gt;
cfg.defaultnsNone = &#039;none&#039;&lt;br /&gt;
&lt;br /&gt;
-- The parameter name to use for disambiguation pages page.&lt;br /&gt;
cfg.dab = &#039;dab&#039;&lt;br /&gt;
&lt;br /&gt;
-- This table holds the different possible aliases for disambiguation-class&lt;br /&gt;
-- pages. These should be lower-case.&lt;br /&gt;
cfg.dabAliases = {&lt;br /&gt;
	&#039;disambiguation&#039;,&lt;br /&gt;
	&#039;disambig&#039;,&lt;br /&gt;
	&#039;disamb&#039;,&lt;br /&gt;
	&#039;dab&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- The default value for disambiguation pages.&lt;br /&gt;
cfg.dabDefault = &#039;page&#039;&lt;br /&gt;
&lt;br /&gt;
-- The parameter name to use for N/A-class page.&lt;br /&gt;
cfg.na = &#039;na&#039;&lt;br /&gt;
&lt;br /&gt;
-- This table holds the different possible aliases for N/A-class pages. These&lt;br /&gt;
-- should be lower-case.&lt;br /&gt;
cfg.naAliases = {&#039;na&#039;, &#039;n/a&#039;}&lt;br /&gt;
&lt;br /&gt;
-- The default value for N/A-class pages.&lt;br /&gt;
cfg.naDefault = &#039;page&#039;&lt;br /&gt;
&lt;br /&gt;
-- The parameter name to use for redirects.&lt;br /&gt;
cfg.redirect = &#039;redirect&#039;&lt;br /&gt;
&lt;br /&gt;
-- The default value to use for redirects.&lt;br /&gt;
cfg.redirectDefault = &#039;redirect&#039;&lt;br /&gt;
&lt;br /&gt;
-- The parameter name for undefined namespaces.&lt;br /&gt;
cfg.other = &#039;other&#039;&lt;br /&gt;
&lt;br /&gt;
-- The value used if the module detects an undefined namespace.&lt;br /&gt;
cfg.otherDefault = &#039;page&#039;&lt;br /&gt;
&lt;br /&gt;
-- The usual suffix denoting a plural.&lt;br /&gt;
cfg.plural = &#039;s&#039;&lt;br /&gt;
&lt;br /&gt;
-- This table holds plurals not formed by a simple suffix.&lt;br /&gt;
cfg.irregularPlurals = {&lt;br /&gt;
	[&amp;quot;category&amp;quot;] = &amp;quot;categories&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
--                        End configuration data                              --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return cfg -- Don&#039;t edit this line&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Portal&amp;diff=5247</id>
		<title>Module:Portal</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Portal&amp;diff=5247"/>
		<updated>2023-08-08T09:04:16Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Portal&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[==[ This module is a Lua implementation of the old {{Portal}} template. As of February 2019 it is used on nearly 7,900,000 articles.&lt;br /&gt;
-- Please take care when updating it! It outputs two functions: p.portal, which generates a list of portals, and p.image, which&lt;br /&gt;
-- produces the image name for an individual portal.&lt;br /&gt;
&lt;br /&gt;
-- The portal image data is kept in submodules of [[Module:Portal/images]], listed below:&lt;br /&gt;
-- [[Module:Portal/images/a]]		- for portal names beginning with &amp;quot;A&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/b]]		- for portal names beginning with &amp;quot;B&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/c]]		- for portal names beginning with &amp;quot;C&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/d]]		- for portal names beginning with &amp;quot;D&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/e]]		- for portal names beginning with &amp;quot;E&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/f]]		- for portal names beginning with &amp;quot;F&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/g]]		- for portal names beginning with &amp;quot;G&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/h]]		- for portal names beginning with &amp;quot;H&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/i]]		- for portal names beginning with &amp;quot;I&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/j]]		- for portal names beginning with &amp;quot;J&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/k]]		- for portal names beginning with &amp;quot;K&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/l]]		- for portal names beginning with &amp;quot;L&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/m]]		- for portal names beginning with &amp;quot;M&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/n]]		- for portal names beginning with &amp;quot;N&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/o]]		- for portal names beginning with &amp;quot;O&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/p]]		- for portal names beginning with &amp;quot;P&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/q]]		- for portal names beginning with &amp;quot;Q&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/r]]		- for portal names beginning with &amp;quot;R&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/s]]		- for portal names beginning with &amp;quot;S&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/t]]		- for portal names beginning with &amp;quot;T&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/u]]		- for portal names beginning with &amp;quot;U&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/v]]		- for portal names beginning with &amp;quot;V&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/w]]		- for portal names beginning with &amp;quot;W&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/x]]		- for portal names beginning with &amp;quot;X&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/y]]		- for portal names beginning with &amp;quot;Y&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/z]]		- for portal names beginning with &amp;quot;Z&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/other]]	- for portal names beginning with any other letters. This includes numbers,&lt;br /&gt;
-- 									  letters with diacritics, and letters in non-Latin alphabets.&lt;br /&gt;
-- [[Module:Portal/images/aliases]]	- for adding aliases for existing portal names. Use this page for variations&lt;br /&gt;
-- 									  in spelling and diacritics, etc., no matter what letter the portal begins with.&lt;br /&gt;
--&lt;br /&gt;
-- The images data pages are separated by the first letter to reduce server load when images are added, changed, or removed.&lt;br /&gt;
-- Previously all the images were on one data page at [[Module:Portal/images]], but this had the disadvantage that all&lt;br /&gt;
-- 5,000,000 pages using this module needed to be refreshed every time an image was added or removed.&lt;br /&gt;
]==]&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- determine whether we&#039;re being called from a sandbox&lt;br /&gt;
local isSandbox = mw.getCurrentFrame():getTitle():find(&#039;sandbox&#039;, 1, true)&lt;br /&gt;
local sandbox = isSandbox and &#039;/sandbox&#039; or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
local function sandboxVersion(s)&lt;br /&gt;
	return isSandbox and s..&#039;-sand&#039; or s&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local templatestyles = &#039;Module:Portal&#039;..sandbox..&#039;/styles.css&#039;&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&lt;br /&gt;
-- List of non-talk namespaces which should not be tracked (Talk pages are never tracked)&lt;br /&gt;
local badNamespaces = {&#039;user&#039;,&#039;template&#039;,&#039;draft&#039;,&#039;wikipedia&#039;}&lt;br /&gt;
&lt;br /&gt;
-- Check whether to do tracking in this namespace&lt;br /&gt;
-- Returns true unless the page is one of the banned namespaces&lt;br /&gt;
local function checkTracking(title)&lt;br /&gt;
	local thisPage = title or mw.title.getCurrentTitle()&lt;br /&gt;
	if thisPage.isTalkPage then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local ns = thisPage.nsText:lower()&lt;br /&gt;
	for _, v in ipairs(badNamespaces) do&lt;br /&gt;
		if ns == v then&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchImagePage(s)&lt;br /&gt;
	-- Finds the appropriate image subpage given a lower-case&lt;br /&gt;
	-- portal name plus the first letter of that portal name.&lt;br /&gt;
	if type(s) ~= &#039;string&#039; or #s &amp;lt; 1 then return end&lt;br /&gt;
	local firstLetter = mw.ustring.sub(s, 1, 1)&lt;br /&gt;
	local imagePage&lt;br /&gt;
	if mw.ustring.find(firstLetter, &#039;^[a-z]&#039;) then&lt;br /&gt;
		imagePage = &#039;Module:Portal/images/&#039; .. firstLetter .. sandbox&lt;br /&gt;
	else&lt;br /&gt;
		imagePage = &#039;Module:Portal/images/other&#039; .. sandbox&lt;br /&gt;
	end&lt;br /&gt;
	return mw.loadData(imagePage)[s]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getAlias(s)&lt;br /&gt;
	-- Gets an alias from the image alias data page.&lt;br /&gt;
	local aliasData = mw.loadData(&#039;Module:Portal/images/aliases&#039;..sandbox)&lt;br /&gt;
	for portal, aliases in pairs(aliasData) do&lt;br /&gt;
		for _, alias in ipairs(aliases) do&lt;br /&gt;
			if alias == s then&lt;br /&gt;
				return portal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local defaultImage = &#039;Portal-puzzle.svg|link=|alt=&#039;&lt;br /&gt;
&lt;br /&gt;
local function getImageName(s)&lt;br /&gt;
	-- Gets the image name for a given string.&lt;br /&gt;
	if type(s) ~= &#039;string&#039; or #s &amp;lt; 1 then&lt;br /&gt;
		return defaultImage&lt;br /&gt;
	end&lt;br /&gt;
	s = mw.ustring.lower(s)&lt;br /&gt;
	return matchImagePage(s) or matchImagePage(getAlias(s)) or defaultImage&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 -- Function to check argument portals for errors, generate tracking categories if needed&lt;br /&gt;
 --     Function first checks for too few/many portals provided&lt;br /&gt;
 --     Then checks the portal list to purge any portals that don&#039;t exist&lt;br /&gt;
 -- Arguments:&lt;br /&gt;
 --   portals: raw list of portals&lt;br /&gt;
 --   args.tracking: is tracking requested? (will not track on bad titles or namespaces)&lt;br /&gt;
 --   args.redlinks: should redlinks be displayed?&lt;br /&gt;
 --   args.minPortals: minimum number of portal arguments&lt;br /&gt;
 --   args.maxPortals: maximum number of portal arguments&lt;br /&gt;
 -- Returns:&lt;br /&gt;
 --   portals = list of portals, with redlinks purged (if args.redlinks=false)&lt;br /&gt;
 --   trackingCat = possible tracking category&lt;br /&gt;
 --   errorMsg = error message&lt;br /&gt;
function p._checkPortals(portals, args)&lt;br /&gt;
	local trackingCat = &#039;&#039;&lt;br /&gt;
	local errMsg = nil&lt;br /&gt;
	&lt;br /&gt;
	-- Tracking is on by default.&lt;br /&gt;
	-- It is disabled if any of the following is true&lt;br /&gt;
	-- 1/ the parameter &amp;quot;tracking&amp;quot; is set to &#039;no, &#039;n&#039;, or &#039;false&#039;&lt;br /&gt;
	-- 2/ the current page fails the namespace or pagename tests &lt;br /&gt;
	local trackingEnabled = args.tracking and checkTracking()&lt;br /&gt;
	&lt;br /&gt;
	args.minPortals = args.minPortals or 1&lt;br /&gt;
	args.maxPortals = args.maxPortals or -1&lt;br /&gt;
	-- check for too few portals&lt;br /&gt;
	if #portals &amp;lt; args.minPortals then&lt;br /&gt;
		errMsg = &#039;please specify at least &#039;..args.minPortals..&#039; portal&#039;..(args.minPortals &amp;gt; 1 and &#039;s&#039; or &#039;&#039;)&lt;br /&gt;
		trackingCat = (trackingEnabled and &#039;[[Category:Portal templates with too few portals]]&#039; or &#039;&#039;)&lt;br /&gt;
		return portals, trackingCat, errMsg&lt;br /&gt;
	end&lt;br /&gt;
	-- check for too many portals&lt;br /&gt;
	if args.maxPortals &amp;gt;= 0 and #portals &amp;gt; args.maxPortals then&lt;br /&gt;
		errMsg = &#039;too many portals (maximum = &#039;..args.maxPortals..&#039;)&#039;&lt;br /&gt;
		trackingCat = (trackingEnabled and &#039;[[Category:Portal templates with too many portals]]&#039; or &#039;&#039;)&lt;br /&gt;
		return portals, trackingCat, errMsg&lt;br /&gt;
	end&lt;br /&gt;
	if not args.redlinks or trackingEnabled then&lt;br /&gt;
		-- make new list of portals that exist&lt;br /&gt;
		local existingPortals = {}&lt;br /&gt;
		for _, portal in ipairs(portals) do&lt;br /&gt;
			local portalTitle = mw.title.new(portal,&amp;quot;Portal&amp;quot;)&lt;br /&gt;
			-- if portal exists, put it into list&lt;br /&gt;
			if portalTitle and portalTitle.exists then&lt;br /&gt;
				table.insert(existingPortals,portal)&lt;br /&gt;
			-- otherwise set tracking cat&lt;br /&gt;
			elseif trackingEnabled then&lt;br /&gt;
				trackingCat = &amp;quot;[[Category:Portal templates with redlinked portals]]&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- If redlinks is off, use portal list purged of redlinks&lt;br /&gt;
		portals = args.redlinks and portals or existingPortals&lt;br /&gt;
		-- if nothing left after purge, set tracking cat&lt;br /&gt;
		if #portals == 0 and trackingEnabled then&lt;br /&gt;
			trackingCat = trackingCat..&amp;quot;[[Category:Pages with empty portal template]]&amp;quot; &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return portals, trackingCat, errMsg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function portalBox(args)&lt;br /&gt;
	return mw.html.create(&#039;ul&#039;)&lt;br /&gt;
		:attr(&#039;role&#039;, &#039;navigation&#039;)&lt;br /&gt;
		:attr(&#039;aria-label&#039;, &#039;Portals&#039;)&lt;br /&gt;
		:addClass(&#039;noprint&#039;)&lt;br /&gt;
		:addClass(args.error and &#039;&#039; or sandboxVersion(&#039;portalbox&#039;))&lt;br /&gt;
		:addClass(args.border and sandboxVersion(&#039;portalborder&#039;) or &#039;&#039;)&lt;br /&gt;
		:addClass(sandboxVersion(args.left and &#039;portalleft&#039; or &#039;portalright&#039;))&lt;br /&gt;
		:css(&#039;margin&#039;, args.margin or nil)&lt;br /&gt;
		:newline()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function fillBox(root, contents)&lt;br /&gt;
	for _, item in ipairs(contents) do&lt;br /&gt;
		local entry = root:tag(&#039;li&#039;)&lt;br /&gt;
		entry:addClass(sandboxVersion(&#039;portalbox-entry&#039;))&lt;br /&gt;
		local image = entry:tag(&#039;span&#039;)&lt;br /&gt;
		image:addClass(sandboxVersion(&#039;portalbox-image&#039;))&lt;br /&gt;
		image:wikitext(item[1])&lt;br /&gt;
		local link = entry:tag(&#039;span&#039;)&lt;br /&gt;
		link:addClass(sandboxVersion(&#039;portalbox-link&#039;))&lt;br /&gt;
		link:wikitext(item[2])&lt;br /&gt;
	end&lt;br /&gt;
	return root&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._portal(portals, args)&lt;br /&gt;
	-- This function builds the portal box used by the {{portal}} template.&lt;br /&gt;
	&lt;br /&gt;
	-- Normalize all arguments&lt;br /&gt;
	if args.redlinks == &#039;include&#039; then args.redlinks = true end&lt;br /&gt;
	args.addBreak = args[&#039;break&#039;]&lt;br /&gt;
	for key, default in pairs({left=false,tracking=true,nominimum=false,&lt;br /&gt;
		                       redlinks=false,addBreak=false,border=true}) do&lt;br /&gt;
		if args[key] == nil then args[key] = default end&lt;br /&gt;
		args[key] = yesno(args[key], default)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local root = portalBox(args)&lt;br /&gt;
&lt;br /&gt;
	local trackingCat = &#039;&#039;&lt;br /&gt;
	local errMsg = nil&lt;br /&gt;
	args.minPortals = args.nominimum and 0 or 1&lt;br /&gt;
	args.maxPortals = -1&lt;br /&gt;
	portals, trackingCat, errMsg = p._checkPortals(portals, args)&lt;br /&gt;
	root:wikitext(trackingCat)&lt;br /&gt;
	-- if error message, put it in the box and return&lt;br /&gt;
	if errMsg then&lt;br /&gt;
		if args.border then -- suppress error message when border=no&lt;br /&gt;
			args.error = true  -- recreate box without fancy formatting&lt;br /&gt;
			root = portalBox(args)&lt;br /&gt;
			root:wikitext(trackingCat)&lt;br /&gt;
			local errTag = root:tag(&#039;strong&#039;)&lt;br /&gt;
			errTag:addClass(&#039;error&#039;)&lt;br /&gt;
			errTag:css(&#039;padding&#039;,&#039;0.2em&#039;)&lt;br /&gt;
			errTag:wikitext(&#039;Error: &#039;..errMsg)&lt;br /&gt;
		end&lt;br /&gt;
		return tostring(root)&lt;br /&gt;
	end&lt;br /&gt;
	-- if no portals (and no error), just return tracking category&lt;br /&gt;
	if #portals == 0 then&lt;br /&gt;
		return trackingCat&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local contents = {}&lt;br /&gt;
	-- Display the portals specified in the positional arguments.&lt;br /&gt;
	local defaultUsed = nil&lt;br /&gt;
	for _, portal in ipairs(portals) do&lt;br /&gt;
		local portalImage = getImageName(portal)&lt;br /&gt;
		if portalImage == defaultImage then&lt;br /&gt;
			defaultUsed = portal&lt;br /&gt;
		end&lt;br /&gt;
		local image = string.format(&#039;[[File:%s|32x28px|class=noviewer]]&#039;,&lt;br /&gt;
			portalImage)&lt;br /&gt;
		local link = string.format(&#039;[[Portal:%s|%s%sportal]]&#039;,&lt;br /&gt;
			portal, portal, args.addBreak and &#039;&amp;lt;br /&amp;gt;&#039; or &#039; &#039;)&lt;br /&gt;
		table.insert(contents, {image, link})&lt;br /&gt;
	end&lt;br /&gt;
	if defaultUsed and checkTracking() then&lt;br /&gt;
		local cat = string.format(&#039;[[Category:Portal templates with default image|%s]]&#039;,&lt;br /&gt;
			                      defaultUsed)&lt;br /&gt;
		root:wikitext(cat)&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(fillBox(root, contents))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._demo(imageList, args)&lt;br /&gt;
	for key, default in pairs({left=false,border=true}) do&lt;br /&gt;
		if args[key] == nil then args[key] = default end&lt;br /&gt;
		args[key] = yesno(args[key], default)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local root = portalBox(args)&lt;br /&gt;
&lt;br /&gt;
	local contents = {}&lt;br /&gt;
	-- Display the portals specified in the positional arguments.&lt;br /&gt;
	for _, fn in ipairs(imageList) do&lt;br /&gt;
		local image = string.format(&#039;[[File:%s|32x28px|class=noviewer]]&#039;,fn)&lt;br /&gt;
		local link = string.format(&#039;[[:File:%s|%s]]&#039;,fn,fn)&lt;br /&gt;
		table.insert(contents,{image,link})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(fillBox(root,contents))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._image(portal,keep)&lt;br /&gt;
	-- Wrapper function to allow getImageName() to be accessed through #invoke.&lt;br /&gt;
	-- backward compatibility: if table passed, take first element&lt;br /&gt;
	if type(portal) == &#039;table&#039; then&lt;br /&gt;
		portal = portal[1]&lt;br /&gt;
	end&lt;br /&gt;
	local name = getImageName(portal)&lt;br /&gt;
	-- If keep is yes (or equivalent), then allow all metadata (like image borders) to be returned&lt;br /&gt;
	local keepargs = yesno(keep)&lt;br /&gt;
	local args = mw.text.split(name, &amp;quot;|&amp;quot;, true)&lt;br /&gt;
	local result = {args[1]}  -- the filename always comes first&lt;br /&gt;
	local category = &#039;&#039;&lt;br /&gt;
	-- parse name, looking for category arguments&lt;br /&gt;
	for i = 2,#args do&lt;br /&gt;
		local m = mw.ustring.match(args[i],  &amp;quot;^%s*category%s*=&amp;quot;)&lt;br /&gt;
		if keepargs or m then&lt;br /&gt;
			table.insert(result, args[i])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- reassemble arguments&lt;br /&gt;
	return table.concat(result,&amp;quot;|&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function getAllImageTable()&lt;br /&gt;
	-- Returns an array containing all image subpages (minus aliases) as loaded by mw.loadData.&lt;br /&gt;
	local images = {}&lt;br /&gt;
	for i, subpage in ipairs{&#039;a&#039;, &#039;b&#039;, &#039;c&#039;, &#039;d&#039;, &#039;e&#039;, &#039;f&#039;, &#039;g&#039;, &#039;h&#039;, &#039;i&#039;, &#039;j&#039;, &#039;k&#039;, &#039;l&#039;, &#039;m&#039;, &#039;n&#039;, &#039;o&#039;, &#039;p&#039;, &#039;q&#039;, &#039;r&#039;, &#039;s&#039;, &#039;t&#039;, &#039;u&#039;, &#039;v&#039;, &#039;w&#039;, &#039;x&#039;, &#039;y&#039;, &#039;z&#039;, &#039;other&#039;} do&lt;br /&gt;
		local imageTable = mw.loadData(&#039;Module:Portal/images/&#039; .. subpage .. sandbox)&lt;br /&gt;
		for portal, image in pairs(imageTable) do&lt;br /&gt;
			local args = mw.text.split(image,&amp;quot;|&amp;quot;)&lt;br /&gt;
			images[portal] = args[1] -- just use image filename&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return images&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._displayAll(portals, args)&lt;br /&gt;
	-- This function displays all portals that have portal images. This function is for maintenance purposes and should not be used in&lt;br /&gt;
	-- articles, for two reasons: 1) there are over 1500 portals with portal images, and 2) the module doesn&#039;t record how the portal&lt;br /&gt;
	-- names are capitalized, so the portal links may be broken.&lt;br /&gt;
	local lang = mw.language.getContentLanguage()&lt;br /&gt;
	portals = portals or {}&lt;br /&gt;
	for portal in pairs(getAllImageTable()) do&lt;br /&gt;
		table.insert(portals,lang:ucfirst(portal))&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(portals)&lt;br /&gt;
	args.redlinks = args.redlinks or &amp;quot;yes&amp;quot;&lt;br /&gt;
	return p._portal(portals, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._imageDupes()&lt;br /&gt;
	-- This function searches the image subpages to find duplicate images. If duplicate images exist, it is not necessarily a bad thing,&lt;br /&gt;
	-- as different portals might just happen to choose the same image. However, this function is helpful in identifying images that&lt;br /&gt;
	-- should be moved to a portal alias for ease of maintenance.&lt;br /&gt;
	local exists, dupes = {}, {}&lt;br /&gt;
	for portal, image in pairs(getAllImageTable()) do&lt;br /&gt;
		if not exists[image] then&lt;br /&gt;
			exists[image] = portal&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(dupes, string.format(&#039;The image &amp;quot;[[:File:%s|%s]]&amp;quot; is used for both portals &amp;quot;%s&amp;quot; and &amp;quot;%s&amp;quot;.&#039;, image, image, exists[image], portal))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if #dupes &amp;lt; 1 then&lt;br /&gt;
		return &#039;No duplicate images found.&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;The following duplicate images were found:\n* &#039; .. table.concat(dupes, &#039;\n* &#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function processPortalArgs(args)&lt;br /&gt;
	-- This function processes a table of arguments and returns two tables: an array of portal names for processing by ipairs, and a table of&lt;br /&gt;
	-- the named arguments that specify style options, etc. We need to use ipairs because we want to list all the portals in the order&lt;br /&gt;
	-- they were passed to the template, but we also want to be able to deal with positional arguments passed explicitly, for example&lt;br /&gt;
	-- {{portal|2=Politics}}. The behaviour of ipairs is undefined if nil values are present, so we need to make sure they are all removed.&lt;br /&gt;
	args = type(args) == &#039;table&#039; and args or {}&lt;br /&gt;
	local portals = {}&lt;br /&gt;
	local namedArgs = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;number&#039; and type(v) == &#039;string&#039; then -- Make sure we have no non-string portal names.&lt;br /&gt;
			table.insert(portals, k)&lt;br /&gt;
		elseif type(k) ~= &#039;number&#039; then&lt;br /&gt;
			namedArgs[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(portals)&lt;br /&gt;
	for i, v in ipairs(portals) do&lt;br /&gt;
		portals[i] = args[v]&lt;br /&gt;
	end&lt;br /&gt;
	return portals, namedArgs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Entry point for sorting portals from other named arguments&lt;br /&gt;
function p._processPortalArgs(args)&lt;br /&gt;
	return processPortalArgs(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.image(frame)&lt;br /&gt;
	local origArgs = getArgs(frame)&lt;br /&gt;
	local portals, args = processPortalArgs(origArgs)&lt;br /&gt;
	return p._image(portals[1],args.border)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.demo(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local styles = frame:extensionTag{ name = &#039;templatestyles&#039;, args = { src = templatestyles} }&lt;br /&gt;
	return styles..p._demo(args,args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeWrapper(funcName)&lt;br /&gt;
	-- Processes external arguments and sends them to the other functions.&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		-- If called via #invoke, use the args passed into the invoking&lt;br /&gt;
		-- template, or the args passed to #invoke if any exist. Otherwise&lt;br /&gt;
		-- assume args are being passed directly in from the debug console&lt;br /&gt;
		-- or from another Lua module. &lt;br /&gt;
		-- Also: trim whitespace and remove blank arguments&lt;br /&gt;
		local origArgs = getArgs(frame)&lt;br /&gt;
		-- create two tables to pass to func: an array of portal names, and a table of named arguments.&lt;br /&gt;
		local portals, args = processPortalArgs(origArgs)&lt;br /&gt;
		local results = &#039;&#039;&lt;br /&gt;
		if funcName == &#039;_portal&#039; or funcName == &#039;_displayAll&#039; then&lt;br /&gt;
			results = frame:extensionTag{ name = &#039;templatestyles&#039;, args = { src = templatestyles} }&lt;br /&gt;
		end&lt;br /&gt;
		return results .. p[funcName](portals, args) &lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for _, funcName in ipairs{&#039;portal&#039;, &#039;imageDupes&#039;, &#039;displayAll&#039;} do&lt;br /&gt;
	p[funcName] = makeWrapper(&#039;_&#039; .. funcName)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Portal/images/s&amp;diff=5246</id>
		<title>Module:Portal/images/s</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Portal/images/s&amp;diff=5246"/>
		<updated>2023-08-08T09:03:47Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Portal/images/s&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[==[ This is the &amp;quot;S&amp;quot; list of portal image names. It contains a list of portal images for use with [[Module:Portal]]&lt;br /&gt;
-- for portal names that start with the letter &amp;quot;S&amp;quot;. For aliases to existing portal names, and for portal names that&lt;br /&gt;
-- start with other letters, please use the appropriate page from the following list:&lt;br /&gt;
 &lt;br /&gt;
-- [[Module:Portal/images/a]]       - for portal names beginning with &amp;quot;A&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/b]]       - for portal names beginning with &amp;quot;B&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/c]]       - for portal names beginning with &amp;quot;C&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/d]]       - for portal names beginning with &amp;quot;D&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/e]]       - for portal names beginning with &amp;quot;E&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/f]]       - for portal names beginning with &amp;quot;F&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/g]]       - for portal names beginning with &amp;quot;G&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/h]]       - for portal names beginning with &amp;quot;H&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/i]]       - for portal names beginning with &amp;quot;I&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/j]]       - for portal names beginning with &amp;quot;J&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/k]]       - for portal names beginning with &amp;quot;K&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/l]]       - for portal names beginning with &amp;quot;L&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/m]]       - for portal names beginning with &amp;quot;M&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/n]]       - for portal names beginning with &amp;quot;N&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/o]]       - for portal names beginning with &amp;quot;O&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/p]]       - for portal names beginning with &amp;quot;P&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/q]]       - for portal names beginning with &amp;quot;Q&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/r]]       - for portal names beginning with &amp;quot;R&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/t]]       - for portal names beginning with &amp;quot;T&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/u]]       - for portal names beginning with &amp;quot;U&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/v]]       - for portal names beginning with &amp;quot;V&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/w]]       - for portal names beginning with &amp;quot;W&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/x]]       - for portal names beginning with &amp;quot;X&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/y]]       - for portal names beginning with &amp;quot;Y&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/z]]       - for portal names beginning with &amp;quot;Z&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/other]]   - for portal names beginning with any other letters. This includes numbers,&lt;br /&gt;
--                                    letters with diacritics, and letters in non-Latin alphabets.&lt;br /&gt;
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations&lt;br /&gt;
--                                    in spelling and diacritics, etc., no matter what letter the portal begins with.&lt;br /&gt;
 &lt;br /&gt;
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:&lt;br /&gt;
--          [&amp;quot;portal name&amp;quot;] = &amp;quot;image.svg&amp;quot;,&lt;br /&gt;
-- The portal name should be the name of your portal, in lower case. For example, the portal name for &lt;br /&gt;
-- &amp;quot;Portal:United Kingdom&amp;quot; would be &amp;quot;united kingdom&amp;quot;. The image name should be capitalised normally, and the &amp;quot;File:&amp;quot;&lt;br /&gt;
-- namespace prefix should be omitted.&lt;br /&gt;
]==]&lt;br /&gt;
 &lt;br /&gt;
return {&lt;br /&gt;
	[&amp;quot;saba&amp;quot;] = &amp;quot;Flag of Saba.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint barthelemy&amp;quot;] = &amp;quot;Flag of Saint Barthelemy (local).svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint helena, ascension and tristan da cunha&amp;quot;] = &amp;quot;Flag of Saint Helena.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint kitts and nevis&amp;quot;] = &amp;quot;Flag of Saint Kitts and Nevis.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint lucia&amp;quot;] = &amp;quot;Flag of Saint Lucia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint martin&amp;quot;] = &amp;quot;Flag of Saint Martin.png|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint pierre and miquelon&amp;quot;] = &amp;quot;Flag of Saint-Pierre and Miquelon.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saint vincent and the grenadines&amp;quot;] = &amp;quot;Flag of Saint Vincent and the Grenadines.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saints&amp;quot;] = &amp;quot;Gloriole blur.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;samoa&amp;quot;] = &amp;quot;Flag of Samoa.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;san antonio&amp;quot;] = &amp;quot;Coat of arms of San Antonio.svg|link=|alt=arms&amp;quot;,&lt;br /&gt;
	[&amp;quot;san diego&amp;quot;] = &amp;quot;San Diego,California,USA. - panoramio (139).jpg|link=|alt=photo&amp;quot;,&lt;br /&gt;
	[&amp;quot;san francisco bay area&amp;quot;] = &amp;quot;SF From Marin Highlands3.jpg|border|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;san marino&amp;quot;] = &amp;quot;Flag of San Marino.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;são tomé and príncipe&amp;quot;] = &amp;quot;Flag of São Tomé and Príncipe.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saskatchewan&amp;quot;] = &amp;quot;Flag of Saskatchewan.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saudi arabia&amp;quot;] = &amp;quot;Flag of Saudi Arabia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;saxony&amp;quot;] = &amp;quot;Flag of Saxony.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;schleswig-holstein&amp;quot;] = &amp;quot;Flag of Schleswig-Holstein (state).svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;schools&amp;quot;] = &amp;quot;School.svg|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;science&amp;quot;] = &amp;quot;Nuvola apps kalzium.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;science and academia&amp;quot;] = &amp;quot;Rachel Carson w (cropped).jpg|link=|alt=photo&amp;quot;,&lt;br /&gt;
	[&amp;quot;science fiction&amp;quot;] = &amp;quot;Sf-userbox.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;scotland&amp;quot;] = &amp;quot;Flag of Scotland.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;scottish islands&amp;quot;] = &amp;quot;ScottishIsles.jpg|link=|alt=map&amp;quot;,&lt;br /&gt;
	[&amp;quot;scouting&amp;quot;] = &amp;quot;WikiProject Scouting fleur-de-lis dark.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;seamounts&amp;quot;] = &amp;quot;Seamount.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;seattle&amp;quot;] = &amp;quot;SpaceNeedleTopClose.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;senegal&amp;quot;] = &amp;quot;Flag of Senegal.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;september 11 attacks&amp;quot;] = &amp;quot;Y24-Wtc-september-5.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;serbia&amp;quot;] = &amp;quot;Flag of Serbia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;seton hall university&amp;quot;] = &amp;quot;Shu logo.png|link=|alt=logo&amp;quot;,&lt;br /&gt;
	[&amp;quot;severe weather&amp;quot;] = &amp;quot;Marquette, Kansas EF4 tornado on April 14, 2012.png|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sexuality&amp;quot;] = &amp;quot;Bisexuality symbol (bold, color).svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sex work&amp;quot;] = &amp;quot;Umbrella-159361.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;seychelles&amp;quot;] = &amp;quot;Flag of Seychelles.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sf&amp;quot;] = &amp;quot;Dragon-149393.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sharjah&amp;quot;] = &amp;quot;Flag of Sharjah.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sharks&amp;quot;] = &amp;quot;Greyreefsharksmall2.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;shia islam&amp;quot;] = &amp;quot;Ghadir logo.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;siberia&amp;quot;] = &amp;quot;Kuznetsk Alatau 3.jpg|border|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;sierra leone&amp;quot;] = &amp;quot;Flag of Sierra Leone.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sikhism&amp;quot;] = &amp;quot;Khanda emblem.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;sikkim&amp;quot;] = &amp;quot;Seal of Sikkim color.png|link=|alt=seal&amp;quot;,&lt;br /&gt;
	[&amp;quot;sindh&amp;quot;] = &amp;quot;Flag of Sindh.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;singapore&amp;quot;] = &amp;quot;Flag of Singapore.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sint eustatius&amp;quot;] = &amp;quot;Flag of Sint Eustatius.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sint maarten&amp;quot;] = &amp;quot;Flag of Sint Maarten.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;slovakia&amp;quot;] = &amp;quot;Flag of Slovakia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;slovenia&amp;quot;] = &amp;quot;Flag of Slovenia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;snakes&amp;quot;] = &amp;quot;Snake icon.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;snooker&amp;quot;] = &amp;quot;Snooker balls triangled.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;social movements&amp;quot;] = &amp;quot;Peace sign.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;social science&amp;quot;] = &amp;quot;P social sciences-lightblue.png|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;social sciences&amp;quot;] = &amp;quot;DrustveneNauke.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;socialism&amp;quot;] = &amp;quot;Red flag II.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;society&amp;quot;] = &amp;quot;Social sciences.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;software&amp;quot;] = &amp;quot;Crystal Clear device cdrom unmount.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;solar system&amp;quot;] = &amp;quot;Solar system.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;solomon islands&amp;quot;] = &amp;quot;Flag of Solomon Islands.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;somalia&amp;quot;] = &amp;quot;Flag of Somalia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;somaliland&amp;quot;] = &amp;quot;Flag of Somaliland.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;somerset&amp;quot;] = &amp;quot;Somerset shield.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;south africa&amp;quot;] = &amp;quot;Flag of South Africa.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south america&amp;quot;] = &amp;quot;South America (orthographic projection).svg|link=|alt=map&amp;quot;,&lt;br /&gt;
	[&amp;quot;south asia&amp;quot;] = &amp;quot;India 78.40398E 20.74980N.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;south australia&amp;quot;] = &amp;quot;Flag of South Australia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south carolina&amp;quot;] = &amp;quot;Flag of South Carolina.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south dakota&amp;quot;] = &amp;quot;Flag of South Dakota.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south east england&amp;quot;] = &amp;quot;EnglandSouthEast.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;south georgia and the south sandwich islands&amp;quot;] = &amp;quot;Flag of South Georgia and the South Sandwich Islands.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south korea&amp;quot;] = &amp;quot;Flag of South Korea.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;south sudan&amp;quot;] = &amp;quot;Flag of South Sudan.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;southeast asia&amp;quot;] = &amp;quot;Location Southeast Asia.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;southern california&amp;quot;] = &amp;quot;USA California Southern location map.svg|link=|alt=map&amp;quot;,&lt;br /&gt;
	[&amp;quot;soviet union&amp;quot;] = &amp;quot;Flag of the Soviet Union.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;space&amp;quot;] = &amp;quot;Earth-moon.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;spaceflight&amp;quot;] = &amp;quot;RocketSunIcon.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;spain&amp;quot;] = &amp;quot;Flag of Spain.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;speculative fiction&amp;quot;] = &amp;quot;Dragon-149393.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;speculative fiction/fantasy&amp;quot;] = &amp;quot;Masked man.svg|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;speculative fiction/horror&amp;quot;] = &amp;quot;Vampire Smiley.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sports&amp;quot;] = &amp;quot;Sports icon.png|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;sports and games&amp;quot;] = &amp;quot;Sports and games.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sport of athletics&amp;quot;] = &amp;quot;Roman bronze copy of Myron’s Discobolos, 2nd century CE (Glyptothek Munich).jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;sri lanka&amp;quot;] = &amp;quot;Flag of Sri Lanka.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;staffordshire&amp;quot;] = &amp;quot;Staffordshire Flag.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;stamford&amp;quot;] = &amp;quot;Stamford town crest.png|link=|alt=crest&amp;quot;,&lt;br /&gt;
	[&amp;quot;stanford university&amp;quot;] = &amp;quot;Stanford logo.png|link=|alt=logo&amp;quot;,&lt;br /&gt;
	[&amp;quot;star&amp;quot;] = &amp;quot;He1523a.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;stars&amp;quot;] = &amp;quot;He1523a.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;state of georgia&amp;quot;] = &amp;quot;Flag of Georgia (U.S. state).svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;statistics&amp;quot;] = &amp;quot;Fisher iris versicolor sepalwidth.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sudan&amp;quot;] = &amp;quot;Flag of Sudan.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;superfunds&amp;quot;] = &amp;quot;Superfund sites.svg|link=|alt=map&amp;quot;,&lt;br /&gt;
	[&amp;quot;supermarket&amp;quot;] = &amp;quot;ShoppingCart.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;supermarkets&amp;quot;] = &amp;quot;ShoppingCart.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;suriname&amp;quot;] = &amp;quot;Flag of Suriname.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;surrey&amp;quot;] = &amp;quot;EnglandSurrey.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;sweden&amp;quot;] = &amp;quot;Flag of Sweden.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;switzerland&amp;quot;] = &amp;quot;Flag of Switzerland.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;sydney&amp;quot;] = &amp;quot;Sydney COA.gif|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;syria&amp;quot;] = &amp;quot;Flag of Syria.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;systems engineering initiative&amp;quot;] = &amp;quot;Systems Engineering Process II.gif|link=|alt=diagram&amp;quot;,&lt;br /&gt;
	[&amp;quot;systems science&amp;quot;] = &amp;quot;Complex-adaptive-system.jpg|link=|alt=diagram&amp;quot;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Portal/images/t&amp;diff=5245</id>
		<title>Module:Portal/images/t</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Portal/images/t&amp;diff=5245"/>
		<updated>2023-08-08T09:02:53Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Portal/images/t&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[==[ This is the &amp;quot;T&amp;quot; list of portal image names. It contains a list of portal images for use with [[Module:Portal]]&lt;br /&gt;
-- for portal names that start with the letter &amp;quot;T&amp;quot;. For aliases to existing portal names, and for portal names that&lt;br /&gt;
-- start with other letters, please use the appropriate page from the following list:&lt;br /&gt;
 &lt;br /&gt;
-- [[Module:Portal/images/a]]       - for portal names beginning with &amp;quot;A&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/b]]       - for portal names beginning with &amp;quot;B&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/c]]       - for portal names beginning with &amp;quot;C&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/d]]       - for portal names beginning with &amp;quot;D&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/e]]       - for portal names beginning with &amp;quot;E&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/f]]       - for portal names beginning with &amp;quot;F&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/g]]       - for portal names beginning with &amp;quot;G&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/h]]       - for portal names beginning with &amp;quot;H&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/i]]       - for portal names beginning with &amp;quot;I&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/j]]       - for portal names beginning with &amp;quot;J&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/k]]       - for portal names beginning with &amp;quot;K&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/l]]       - for portal names beginning with &amp;quot;L&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/m]]       - for portal names beginning with &amp;quot;M&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/n]]       - for portal names beginning with &amp;quot;N&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/o]]       - for portal names beginning with &amp;quot;O&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/p]]       - for portal names beginning with &amp;quot;P&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/q]]       - for portal names beginning with &amp;quot;Q&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/r]]       - for portal names beginning with &amp;quot;R&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/s]]       - for portal names beginning with &amp;quot;S&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/u]]       - for portal names beginning with &amp;quot;U&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/v]]       - for portal names beginning with &amp;quot;V&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/w]]       - for portal names beginning with &amp;quot;W&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/x]]       - for portal names beginning with &amp;quot;X&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/y]]       - for portal names beginning with &amp;quot;Y&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/z]]       - for portal names beginning with &amp;quot;Z&amp;quot;.&lt;br /&gt;
-- [[Module:Portal/images/other]]   - for portal names beginning with any other letters. This includes numbers,&lt;br /&gt;
--                                    letters with diacritics, and letters in non-Latin alphabets.&lt;br /&gt;
-- [[Module:Portal/images/aliases]] - for adding aliases for existing portal names. Use this page for variations&lt;br /&gt;
--                                    in spelling and diacritics, etc., no matter what letter the portal begins with.&lt;br /&gt;
 &lt;br /&gt;
-- When adding entries, please use alphabetical order. The format of the images table entries is as follows:&lt;br /&gt;
--          [&amp;quot;portal name&amp;quot;] = &amp;quot;image.svg&amp;quot;,&lt;br /&gt;
-- The portal name should be the name of your portal, in lower case. For example, the portal name for &lt;br /&gt;
-- &amp;quot;Portal:United Kingdom&amp;quot; would be &amp;quot;united kingdom&amp;quot;. The image name should be capitalised normally, and the &amp;quot;File:&amp;quot;&lt;br /&gt;
-- namespace prefix should be omitted.&lt;br /&gt;
]==]&lt;br /&gt;
 &lt;br /&gt;
return {&lt;br /&gt;
	[&amp;quot;taiwan&amp;quot;] = &amp;quot;Flag of the Republic of China.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tajikistan&amp;quot;] = &amp;quot;Flag of Tajikistan.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tamil&amp;quot;] = &amp;quot;Word Tamil.svg|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;tamils&amp;quot;] = &amp;quot;Tamil distribution.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;tamil nadu&amp;quot;] = &amp;quot;TamilNadu Logo.svg|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;tango&amp;quot;] = &amp;quot;Luciana y José.jpg|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;tank&amp;quot;] = &amp;quot;AMISOM T-55.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;tanks&amp;quot;] = &amp;quot;AMISOM T-55.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;tanzania&amp;quot;] = &amp;quot;Flag of Tanzania.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tashkent&amp;quot;] = &amp;quot;Emblem of Tashkent.svg|link=|alt=emblem&amp;quot;,&lt;br /&gt;
	[&amp;quot;tasmania&amp;quot;] = &amp;quot;Flag of Tasmania.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;technology&amp;quot;] = &amp;quot;Telecom-icon.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;technology and applied sciences&amp;quot;] = &amp;quot;Bruce McCandless II during EVA in 1984.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;telangana&amp;quot;] = &amp;quot;Warangal fort.jpg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;telecommunication&amp;quot;] = &amp;quot;Telecom-icon.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;telephones&amp;quot;] = &amp;quot;Telephone icon blue gradient.svg|link=|alt=telephone icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;television&amp;quot;] = &amp;quot;Blank television set.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;tennessee&amp;quot;] = &amp;quot;Flag of Tennessee.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tennis&amp;quot;] = &amp;quot;Tennis ball.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;texas&amp;quot;] = &amp;quot;Flag of Texas.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;texas a&amp;amp;m university&amp;quot;] = &amp;quot;Texas A&amp;amp;M University logo.svg|link=|alt=logo&amp;quot;,&lt;br /&gt;
	[&amp;quot;texas tech university&amp;quot;] = &amp;quot;Texas Tech Athletics logo.svg|link=|alt=logo&amp;quot;,&lt;br /&gt;
	[&amp;quot;textile arts&amp;quot;] = &amp;quot;Blue crocheting thread.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;thailand&amp;quot;] = &amp;quot;Flag of Thailand.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the arts&amp;quot;] = &amp;quot;Nuvola apps package graphics.png|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;the bahamas&amp;quot;] = &amp;quot;Flag of the Bahamas.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the central african republic&amp;quot;] = &amp;quot;Flag of the Central African Republic.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the gambia&amp;quot;] = &amp;quot;Flag of The Gambia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the holy see&amp;quot;] = &amp;quot;Flag of the Vatican City.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the republic of macedonia&amp;quot;] = &amp;quot;Flag of North Macedonia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;the simpsons&amp;quot;] = &amp;quot;Simpsons tv icon.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;the united states&amp;quot;] = &amp;quot;Flag of the United States.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;theatre&amp;quot;] = &amp;quot;P culture.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;timor-leste&amp;quot;] = &amp;quot;Flag of East Timor.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tobago&amp;quot;] = &amp;quot;Tobago-sunset.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;togo&amp;quot;] = &amp;quot;Flag of Togo.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tokelau&amp;quot;] = &amp;quot;Flag of Tokelau.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tokyo&amp;quot;] = &amp;quot;PrefSymbol-Tokyo.svg|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;tonga&amp;quot;] = &amp;quot;Flag of Tonga.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tornadoes&amp;quot;] = &amp;quot;EF4DaltonMNtornadoJuly2020.png|border|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;toronto&amp;quot;] = &amp;quot;Toronto Flag.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;toys&amp;quot;] = &amp;quot;Toy Soldier.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;traditional african religion&amp;quot;] = &amp;quot;Brooklyn Museum 1989.51.39 Nommo Figure with Raised Arms.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;traditional african religions&amp;quot;] = &amp;quot;Brooklyn Museum 1989.51.39 Nommo Figure with Raised Arms.jpg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;trains&amp;quot;] = &amp;quot;P train.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;transgender&amp;quot;] = &amp;quot;Portal Transgender.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;transport in india&amp;quot;] = &amp;quot;Highway and Railway Map of India OSM.png|border|link=|alt=map&amp;quot;,&lt;br /&gt;
	[&amp;quot;transportation&amp;quot;] = &amp;quot;Nuvola apps ksysv square.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;trees&amp;quot;] = &amp;quot;Tree template.svg|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;trinidad and tobago&amp;quot;] = &amp;quot;Flag of Trinidad and Tobago.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tripura&amp;quot;] = &amp;quot;Seal of Tripura.svg|link=|alt=seal&amp;quot;,&lt;br /&gt;
	[&amp;quot;tropical cyclones&amp;quot;] = &amp;quot;Cyclone Catarina from the ISS on March 26 2004.JPG|link=|alt=&amp;quot;,&lt;br /&gt;
	[&amp;quot;tsunamis&amp;quot;] = &amp;quot;TsunamiHazardSign.svg|link=|alt=icon&amp;quot;,&lt;br /&gt;
	[&amp;quot;tunisia&amp;quot;] = &amp;quot;Flag of Tunisia.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;turkey&amp;quot;] = &amp;quot;Flag of Turkey.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;turkmenistan&amp;quot;] = &amp;quot;Flag of Turkmenistan.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;turks and caicos islands&amp;quot;] = &amp;quot;Flag of the Turks and Caicos Islands.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tuvalu&amp;quot;] = &amp;quot;Flag of Tuvalu.svg|border|link=|alt=flag&amp;quot;,&lt;br /&gt;
	[&amp;quot;tyrol&amp;quot;] = &amp;quot;Tirol Wappen.PNG|link=|alt=&amp;quot;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Portal/styles.css&amp;diff=5244</id>
		<title>Module:Portal/styles.css</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Portal/styles.css&amp;diff=5244"/>
		<updated>2023-08-08T09:02:21Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Portal/styles.css&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template}} */&lt;br /&gt;
.portalbox {&lt;br /&gt;
	padding: 0; /* Timeless adds padding */&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	display: table;&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	max-width: 175px;&lt;br /&gt;
	list-style: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portalborder {&lt;br /&gt;
	border: solid #aaa 1px;&lt;br /&gt;
	padding: 0.1em;&lt;br /&gt;
	background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portalbox-entry {&lt;br /&gt;
	display: table-row;&lt;br /&gt;
	font-size: 85%;&lt;br /&gt;
	line-height: 110%;&lt;br /&gt;
	height: 1.9em; /* sets min height */&lt;br /&gt;
	font-style: italic;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portalbox-image {&lt;br /&gt;
	display: table-cell;&lt;br /&gt;
	padding: 0.2em;&lt;br /&gt;
	vertical-align: middle;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.portalbox-link {&lt;br /&gt;
	display: table-cell;&lt;br /&gt;
	padding: 0.2em 0.2em 0.2em 0.3em;&lt;br /&gt;
	vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (min-width: 720px) {&lt;br /&gt;
	.portalleft {&lt;br /&gt;
		clear: left;&lt;br /&gt;
		float: left;&lt;br /&gt;
		margin: 0.5em 1em 0.5em 0&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	.portalright {&lt;br /&gt;
		clear: right;&lt;br /&gt;
		float: right;&lt;br /&gt;
		margin: 0.5em 0 0.5em 1em&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:SDcat&amp;diff=5243</id>
		<title>Module:SDcat</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:SDcat&amp;diff=5243"/>
		<updated>2023-08-08T09:01:45Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:SDcat&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
SDcat&lt;br /&gt;
Module to check whether local short description matches that on Wikidata&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
--[[&lt;br /&gt;
setCat has the qid of a Wikidata entity passed as |qid=&lt;br /&gt;
(it defaults to the associated qid of the current article if omitted)&lt;br /&gt;
and the local short description passed as |sd=&lt;br /&gt;
It returns a category if there is an associated Wikidata entity.&lt;br /&gt;
It returns one of the following tracking categories, as appropriate:&lt;br /&gt;
* Category:Short description matches Wikidata (case-insensitive)&lt;br /&gt;
* Category:Short description is different from Wikidata&lt;br /&gt;
* Category:Short description with empty Wikidata description&lt;br /&gt;
For testing purposes, a link prefix |lp= may be set to &amp;quot;:&amp;quot; to make the categories visible.&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- function exported for use in other modules&lt;br /&gt;
-- (local short description, Wikidata entity-ID, link prefix)&lt;br /&gt;
p._setCat = function(sdesc, itemID, lp)&lt;br /&gt;
	if not mw.wikibase then return nil end&lt;br /&gt;
	if itemID == &amp;quot;&amp;quot; then itemID = nil end&lt;br /&gt;
	-- Wikidata description field&lt;br /&gt;
	local wdesc = (mw.wikibase.getDescription(itemID) or &amp;quot;&amp;quot;):lower()&lt;br /&gt;
	if wdesc == &amp;quot;&amp;quot; then&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. lp .. &amp;quot;Category:Short description with empty Wikidata description]]&amp;quot;&lt;br /&gt;
	elseif wdesc == sdesc then&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. lp .. &amp;quot;Category:Short description matches Wikidata]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. lp .. &amp;quot;Category:Short description is different from Wikidata]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- function exported for call from #invoke&lt;br /&gt;
p.setCat = function(frame)&lt;br /&gt;
	local args&lt;br /&gt;
	if frame.args.sd then&lt;br /&gt;
		args = frame.args&lt;br /&gt;
	else&lt;br /&gt;
		args = frame:getParent().args&lt;br /&gt;
	end&lt;br /&gt;
	-- local short description&lt;br /&gt;
	local sdesc = mw.text.trim(args.sd or &amp;quot;&amp;quot;):lower()&lt;br /&gt;
	-- Wikidata entity-ID&lt;br /&gt;
	local itemID = mw.text.trim(args.qid or &amp;quot;&amp;quot;)&lt;br /&gt;
	-- link prefix, strip quotes&lt;br /&gt;
	local lp = mw.text.trim(args.lp or &amp;quot;&amp;quot;):gsub(&#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	return p._setCat(sdesc, itemID, lp)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Vertical_header&amp;diff=5242</id>
		<title>Module:Vertical header</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Vertical_header&amp;diff=5242"/>
		<updated>2023-08-08T09:01:11Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Vertical header&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._vertical_header(args)&lt;br /&gt;
	&lt;br /&gt;
	local text = args.text&lt;br /&gt;
	local maxWidth = args.maxWidth&lt;br /&gt;
	-- local stupidIEAlign = &amp;quot;&amp;quot;&lt;br /&gt;
	local rows = 1&lt;br /&gt;
	local width = 0&lt;br /&gt;
	if maxWidth ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		width = maxWidth&lt;br /&gt;
	else&lt;br /&gt;
		for eachMatch in text:gmatch(&amp;quot;&amp;lt;[bB][rR] */? *&amp;gt;&amp;quot;) do&lt;br /&gt;
			rows = rows + 1&lt;br /&gt;
		end&lt;br /&gt;
		width = rows * 0.875&lt;br /&gt;
		width = width .. &amp;quot;em&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local wikiText = &amp;quot;class = \&amp;quot;nowrap&amp;quot;&lt;br /&gt;
	local sortPadding = args.sortPadding&lt;br /&gt;
	if sortPadding == &amp;quot;&amp;quot; then&lt;br /&gt;
		wikiText = wikiText .. &amp;quot; unsortable&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local vertAlign = args.vertAlign&lt;br /&gt;
	wikiText = wikiText .. &amp;quot;\&amp;quot; style=\&amp;quot;line-height:99%;vertical-align:&amp;quot; .. vertAlign .. &amp;quot;;padding:&amp;quot;&lt;br /&gt;
	if sortPadding == &amp;quot;&amp;quot; then&lt;br /&gt;
		wikiText = wikiText .. &amp;quot;.4em&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		wikiText = wikiText .. &amp;quot;21px&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	wikiText = wikiText .. &amp;quot; .4em .2em;background-position:50% .4em !important;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local cellStyle = args.cellstyle:gsub(&amp;quot;\&amp;quot;&amp;quot;, &amp;quot;&amp;amp;quot;&amp;quot;)&lt;br /&gt;
	wikiText = wikiText .. &amp;quot;min-width:&amp;quot; .. width .. &amp;quot;;max-width:&amp;quot; .. width .. &amp;quot;;width:&amp;quot; .. width .. &amp;quot;;overflow:hidden;&amp;quot; .. cellStyle .. &amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
	wikiText = wikiText .. &amp;quot; | &amp;lt;div style=\&amp;quot;vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local normalAlign = &amp;quot;&amp;quot;&lt;br /&gt;
	if vertAlign == &amp;quot;top&amp;quot; then&lt;br /&gt;
		normalAlign = &amp;quot;right&amp;quot;&lt;br /&gt;
		-- stupidIEAlign = &amp;quot;left&amp;quot;&lt;br /&gt;
	elseif vertAlign == &amp;quot;middle&amp;quot; then&lt;br /&gt;
		normalAlign = &amp;quot;center&amp;quot;&lt;br /&gt;
		-- stupidIEAlign = &amp;quot;center&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		normalAlign = &amp;quot;left&amp;quot;&lt;br /&gt;
		-- stupidIEAlign = &amp;quot;right&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	wikiText = wikiText .. normalAlign .. &amp;quot;;&amp;quot; -- text-align:&amp;quot; .. stupidIEAlign .. &amp;quot; \ ;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local style = args.style:gsub(&amp;quot;\&amp;quot;&amp;quot;, &amp;quot;&amp;amp;quot;&amp;quot;)&lt;br /&gt;
	wikiText = wikiText .. style .. &amp;quot;\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local noBold = args.noBold&lt;br /&gt;
	if noBold == &amp;quot;&amp;quot; then&lt;br /&gt;
		wikiText = wikiText .. text&lt;br /&gt;
	else&lt;br /&gt;
		wikiText = wikiText .. mw.getCurrentFrame():preprocess(&amp;quot;{{nobold|1=&amp;quot; .. text .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	wikiText = wikiText .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	return wikiText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.cell(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	return p._vertical_header(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:Yesno&amp;diff=5241</id>
		<title>Module:Yesno</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:Yesno&amp;diff=5241"/>
		<updated>2023-08-08T09:00:44Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:Yesno&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Function allowing for consistent treatment of boolean-like wikitext input.&lt;br /&gt;
-- It works similarly to the template {{yesno}}.&lt;br /&gt;
&lt;br /&gt;
return function (val, default)&lt;br /&gt;
	-- If your wiki uses non-ascii characters for any of &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc., you&lt;br /&gt;
	-- should replace &amp;quot;val:lower()&amp;quot; with &amp;quot;mw.ustring.lower(val)&amp;quot; in the&lt;br /&gt;
	-- following line.&lt;br /&gt;
	val = type(val) == &#039;string&#039; and val:lower() or val&lt;br /&gt;
	if val == nil then&lt;br /&gt;
		return nil&lt;br /&gt;
	elseif val == true &lt;br /&gt;
		or val == &#039;yes&#039;&lt;br /&gt;
		or val == &#039;y&#039;&lt;br /&gt;
		or val == &#039;true&#039;&lt;br /&gt;
		or val == &#039;t&#039;&lt;br /&gt;
		or val == &#039;on&#039;&lt;br /&gt;
		or tonumber(val) == 1&lt;br /&gt;
	then&lt;br /&gt;
		return true&lt;br /&gt;
	elseif val == false&lt;br /&gt;
		or val == &#039;no&#039;&lt;br /&gt;
		or val == &#039;n&#039;&lt;br /&gt;
		or val == &#039;false&#039;&lt;br /&gt;
		or val == &#039;f&#039;&lt;br /&gt;
		or val == &#039;off&#039;&lt;br /&gt;
		or tonumber(val) == 0&lt;br /&gt;
	then&lt;br /&gt;
		return false&lt;br /&gt;
	else&lt;br /&gt;
		return default&lt;br /&gt;
	end&lt;br /&gt;
end&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Module:String&amp;diff=5240</id>
		<title>Module:String</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Module:String&amp;diff=5240"/>
		<updated>2023-08-08T08:59:34Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: Protected &amp;quot;Module:String&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
&lt;br /&gt;
This module is intended to provide access to basic string functions.&lt;br /&gt;
&lt;br /&gt;
Most of the functions provided here can be invoked with named parameters,&lt;br /&gt;
unnamed parameters, or a mixture.  If named parameters are used, Mediawiki will&lt;br /&gt;
automatically remove any leading or trailing whitespace from the parameter.&lt;br /&gt;
Depending on the intended use, it may be advantageous to either preserve or&lt;br /&gt;
remove such whitespace.&lt;br /&gt;
&lt;br /&gt;
Global options&lt;br /&gt;
    ignore_errors: If set to &#039;true&#039; or 1, any error condition will result in&lt;br /&gt;
        an empty string being returned rather than an error message.&lt;br /&gt;
&lt;br /&gt;
    error_category: If an error occurs, specifies the name of a category to&lt;br /&gt;
        include with the error message.  The default category is&lt;br /&gt;
        [Category:Errors reported by Module String].&lt;br /&gt;
&lt;br /&gt;
    no_category: If set to &#039;true&#039; or 1, no category will be added if an error&lt;br /&gt;
        is generated.&lt;br /&gt;
&lt;br /&gt;
Unit tests for this module are available at Module:String/tests.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local str = {}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
len&lt;br /&gt;
&lt;br /&gt;
This function returns the length of the target string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|len|target_string|}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|len|s=target_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string whose length to report&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.&lt;br /&gt;
]]&lt;br /&gt;
function str.len( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	return mw.ustring.len( s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
sub&lt;br /&gt;
&lt;br /&gt;
This function returns a substring of the target string at specified indices.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|sub|target_string|start_index|end_index}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to return a subset of&lt;br /&gt;
    i: The fist index of the substring to return, defaults to 1.&lt;br /&gt;
    j: The last index of the string to return, defaults to the last character.&lt;br /&gt;
&lt;br /&gt;
The first character of the string is assigned an index of 1.  If either i or j&lt;br /&gt;
is a negative value, it is interpreted the same as selecting a character by&lt;br /&gt;
counting from the end of the string.  Hence, a value of -1 is the same as&lt;br /&gt;
selecting the last character of the string.&lt;br /&gt;
&lt;br /&gt;
If the requested indices are out of range for the given string, an error is&lt;br /&gt;
reported.&lt;br /&gt;
]]&lt;br /&gt;
function str.sub( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, { &#039;s&#039;, &#039;i&#039;, &#039;j&#039; } )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local i = tonumber( new_args[&#039;i&#039;] ) or 1&lt;br /&gt;
	local j = tonumber( new_args[&#039;j&#039;] ) or -1&lt;br /&gt;
&lt;br /&gt;
	local len = mw.ustring.len( s )&lt;br /&gt;
&lt;br /&gt;
	-- Convert negatives for range checking&lt;br /&gt;
	if i &amp;lt; 0 then&lt;br /&gt;
		i = len + i + 1&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; 0 then&lt;br /&gt;
		j = len + j + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if i &amp;gt; len or j &amp;gt; len or i &amp;lt; 1 or j &amp;lt; 1 then&lt;br /&gt;
		return str._error( &#039;String subset index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; i then&lt;br /&gt;
		return str._error( &#039;String subset indices out of order&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( s, i, j )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function implements that features of {{str sub old}} and is kept in order&lt;br /&gt;
to maintain these older templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.sublength( frame )&lt;br /&gt;
	local i = tonumber( frame.args.i ) or 0&lt;br /&gt;
	local len = tonumber( frame.args.len )&lt;br /&gt;
	return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
_match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern. It is exported for use in other modules&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
strmatch = require(&amp;quot;Module:String&amp;quot;)._match&lt;br /&gt;
sresult = strmatch( s, pattern, start, match, plain, nomatch )&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This sub-routine is exported for use in other modules&lt;br /&gt;
function str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
	if s == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Target string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Pattern string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	start = tonumber(start) or 1&lt;br /&gt;
	if math.abs(start) &amp;lt; 1 or math.abs(start) &amp;gt; mw.ustring.len( s ) then&lt;br /&gt;
		return str._error( &#039;Requested start is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if match_index == 0 then&lt;br /&gt;
		return str._error( &#039;Match index is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if plain_flag then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
	if match_index == 1 then&lt;br /&gt;
		-- Find first match is simple case&lt;br /&gt;
		result = mw.ustring.match( s, pattern, start )&lt;br /&gt;
	else&lt;br /&gt;
		if start &amp;gt; 1 then&lt;br /&gt;
			s = mw.ustring.sub( s, start )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local iterator = mw.ustring.gmatch(s, pattern)&lt;br /&gt;
		if match_index &amp;gt; 0 then&lt;br /&gt;
			-- Forward search&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				match_index = match_index - 1&lt;br /&gt;
				if match_index == 0 then&lt;br /&gt;
					result = w&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- Reverse search&lt;br /&gt;
			local result_table = {}&lt;br /&gt;
			local count = 1&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				result_table[count] = w&lt;br /&gt;
				count = count + 1&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			result = result_table[ count + match_index ]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if result == nil then&lt;br /&gt;
		if nomatch == nil then&lt;br /&gt;
			return str._error( &#039;Match not found&#039; )&lt;br /&gt;
		else&lt;br /&gt;
			return nomatch&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index&lt;br /&gt;
    |match=match_number|plain=plain_flag|nomatch=nomatch_output}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from each string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
If the match_number or start_index are out of range for the string being queried, then&lt;br /&gt;
this function generates an error.  An error is also generated if no match is found.&lt;br /&gt;
If one adds the parameter ignore_errors=true, then the error will be suppressed and&lt;br /&gt;
an empty string will be returned on any failure.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This is the entry point for #invoke:String|match&lt;br /&gt;
function str.match( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;, &#039;pattern&#039;, &#039;start&#039;, &#039;match&#039;, &#039;plain&#039;, &#039;nomatch&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local start = tonumber( new_args[&#039;start&#039;] ) or 1&lt;br /&gt;
	local plain_flag = str._getBoolean( new_args[&#039;plain&#039;] or false )&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local match_index = math.floor( tonumber(new_args[&#039;match&#039;]) or 1 )&lt;br /&gt;
	local nomatch = new_args[&#039;nomatch&#039;]&lt;br /&gt;
&lt;br /&gt;
	return str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
pos&lt;br /&gt;
&lt;br /&gt;
This function returns a single character from the target string at position pos.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|pos|target_string|index_value}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|pos|target=target_string|pos=index_value}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    target: The string to search&lt;br /&gt;
    pos: The index for the character to return&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
The first character has an index value of 1.&lt;br /&gt;
&lt;br /&gt;
If one requests a negative value, this function will select a character by counting backwards&lt;br /&gt;
from the end of the string.  In other words pos = -1 is the same as asking for the last character.&lt;br /&gt;
&lt;br /&gt;
A requested value of zero, or a value greater than the length of the string returns an error.&lt;br /&gt;
]]&lt;br /&gt;
function str.pos( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;target&#039;, &#039;pos&#039;} )&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local pos = tonumber( new_args[&#039;pos&#039;] ) or 0&lt;br /&gt;
&lt;br /&gt;
	if pos == 0 or math.abs(pos) &amp;gt; mw.ustring.len( target_str ) then&lt;br /&gt;
		return str._error( &#039;String index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( target_str, pos, pos )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
str_find&lt;br /&gt;
&lt;br /&gt;
This function duplicates the behavior of {{str_find}}, including all of its quirks.&lt;br /&gt;
This is provided in order to support existing templates, but is NOT RECOMMENDED for&lt;br /&gt;
new code and templates.  New code is recommended to use the &amp;quot;find&amp;quot; function instead.&lt;br /&gt;
&lt;br /&gt;
Returns the first index in &amp;quot;source&amp;quot; that is a match to &amp;quot;target&amp;quot;.  Indexing is 1-based,&lt;br /&gt;
and the function returns -1 if the &amp;quot;target&amp;quot; string is not present in &amp;quot;source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Important Note: If the &amp;quot;target&amp;quot; string is empty / missing, this function returns a&lt;br /&gt;
value of &amp;quot;1&amp;quot;, which is generally unexpected behavior, and must be accounted for&lt;br /&gt;
separatetly.&lt;br /&gt;
]]&lt;br /&gt;
function str.str_find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;} )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	if target_str == &#039;&#039; then&lt;br /&gt;
		return 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, target_str, 1, true )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = -1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
find&lt;br /&gt;
&lt;br /&gt;
This function allows one to search for a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    target: The string or pattern to find within source&lt;br /&gt;
    start: The index within the source string to start the search, defaults to 1&lt;br /&gt;
    plain: Boolean flag indicating that target should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the parameter.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
This function returns the first index &amp;gt;= &amp;quot;start&amp;quot; where &amp;quot;target&amp;quot; can be found&lt;br /&gt;
within &amp;quot;source&amp;quot;.  Indices are 1-based.  If &amp;quot;target&amp;quot; is not found, then this&lt;br /&gt;
function returns 0.  If either &amp;quot;source&amp;quot; or &amp;quot;target&amp;quot; are missing / empty, this&lt;br /&gt;
function also returns 0.&lt;br /&gt;
&lt;br /&gt;
This function should be safe for UTF-8 strings.&lt;br /&gt;
]]&lt;br /&gt;
function str.find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;, &#039;start&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local start_pos = tonumber(new_args[&#039;start&#039;]) or 1&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, pattern, start_pos, plain )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
replace&lt;br /&gt;
&lt;br /&gt;
This function allows one to replace a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|&lt;br /&gt;
   count=replacement_count|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    pattern: The string or pattern to find within source&lt;br /&gt;
    replace: The replacement text&lt;br /&gt;
    count: The number of occurences to replace, defaults to all.&lt;br /&gt;
    plain: Boolean flag indicating that pattern should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
]]&lt;br /&gt;
function str.replace( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;replace&#039;, &#039;count&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local replace = new_args[&#039;replace&#039;] or &#039;&#039;&lt;br /&gt;
	local count = tonumber( new_args[&#039;count&#039;] )&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return source_str&lt;br /&gt;
	end&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
		replace = mw.ustring.gsub( replace, &amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot; ) --Only need to escape replacement sequences.&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
&lt;br /&gt;
	if count ~= nil then&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace, count )&lt;br /&gt;
	else&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
    simple function to pipe string.rep to templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.rep( frame )&lt;br /&gt;
	local repetitions = tonumber( frame.args[2] )&lt;br /&gt;
	if not repetitions then&lt;br /&gt;
		return str._error( &#039;function rep expects a number as second parameter, received &amp;quot;&#039; .. ( frame.args[2] or &#039;&#039; ) .. &#039;&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return string.rep( frame.args[1] or &#039;&#039;, repetitions )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
escapePattern&lt;br /&gt;
&lt;br /&gt;
This function escapes special characters from a Lua string pattern. See [1]&lt;br /&gt;
for details on how patterns work.&lt;br /&gt;
&lt;br /&gt;
[1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|escapePattern|pattern_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    pattern_string: The pattern string to escape.&lt;br /&gt;
]]&lt;br /&gt;
function str.escapePattern( frame )&lt;br /&gt;
	local pattern_str = frame.args[1]&lt;br /&gt;
	if not pattern_str then&lt;br /&gt;
		return str._error( &#039;No pattern string specified&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local result = str._escapePattern( pattern_str )&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
count&lt;br /&gt;
This function counts the number of occurrences of one string in another.&lt;br /&gt;
]]&lt;br /&gt;
function str.count(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;plain&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	local plain = str._getBoolean(args.plain or true)&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern(pattern)&lt;br /&gt;
	end&lt;br /&gt;
	local _, count = mw.ustring.gsub(source, pattern, &#039;&#039;)&lt;br /&gt;
	return count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
endswith&lt;br /&gt;
This function determines whether a string ends with another string.&lt;br /&gt;
]]&lt;br /&gt;
function str.endswith(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		-- All strings end with the empty string.&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
join&lt;br /&gt;
&lt;br /&gt;
Join all non empty arguments together; the first argument is the separator.&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|join|sep|one|two|three}}&lt;br /&gt;
]]&lt;br /&gt;
function str.join(frame)&lt;br /&gt;
	local args = {}&lt;br /&gt;
	local sep&lt;br /&gt;
	for _, v in ipairs( frame.args ) do&lt;br /&gt;
		if sep then&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				table.insert(args, v)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			sep = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( args, sep or &#039;&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that populates the argument list given that user may need to use a mix of&lt;br /&gt;
named and unnamed parameters.  This is relevant because named parameters are not&lt;br /&gt;
identical to unnamed parameters due to string trimming, and when dealing with strings&lt;br /&gt;
we sometimes want to either preserve or remove that whitespace depending on the application.&lt;br /&gt;
]]&lt;br /&gt;
function str._getParameters( frame_args, arg_list )&lt;br /&gt;
	local new_args = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local value&lt;br /&gt;
&lt;br /&gt;
	for _, arg in ipairs( arg_list ) do&lt;br /&gt;
		value = frame_args[arg]&lt;br /&gt;
		if value == nil then&lt;br /&gt;
			value = frame_args[index]&lt;br /&gt;
			index = index + 1&lt;br /&gt;
		end&lt;br /&gt;
		new_args[arg] = value&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return new_args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to handle error messages.&lt;br /&gt;
]]&lt;br /&gt;
function str._error( error_str )&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local error_category = frame.args.error_category or &#039;Errors reported by Module String&#039;&lt;br /&gt;
	local ignore_errors = frame.args.ignore_errors or false&lt;br /&gt;
	local no_category = frame.args.no_category or false&lt;br /&gt;
&lt;br /&gt;
	if str._getBoolean(ignore_errors) then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local error_str = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: &#039; .. error_str .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
	if error_category ~= &#039;&#039; and not str._getBoolean( no_category ) then&lt;br /&gt;
		error_str = &#039;[[Category:&#039; .. error_category .. &#039;]]&#039; .. error_str&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return error_str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper Function to interpret boolean strings&lt;br /&gt;
]]&lt;br /&gt;
function str._getBoolean( boolean_str )&lt;br /&gt;
	local boolean_value&lt;br /&gt;
&lt;br /&gt;
	if type( boolean_str ) == &#039;string&#039; then&lt;br /&gt;
		boolean_str = boolean_str:lower()&lt;br /&gt;
		if boolean_str == &#039;false&#039; or boolean_str == &#039;no&#039; or boolean_str == &#039;0&#039;&lt;br /&gt;
				or boolean_str == &#039;&#039; then&lt;br /&gt;
			boolean_value = false&lt;br /&gt;
		else&lt;br /&gt;
			boolean_value = true&lt;br /&gt;
		end&lt;br /&gt;
	elseif type( boolean_str ) == &#039;boolean&#039; then&lt;br /&gt;
		boolean_value = boolean_str&lt;br /&gt;
	else&lt;br /&gt;
		error( &#039;No boolean value found&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return boolean_value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that escapes all pattern characters so that they will be treated&lt;br /&gt;
as plain text.&lt;br /&gt;
]]&lt;br /&gt;
function str._escapePattern( pattern_str )&lt;br /&gt;
	return mw.ustring.gsub( pattern_str, &amp;quot;([%(%)%.%%%+%-%*%?%[%^%$%]])&amp;quot;, &amp;quot;%%%1&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return str&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
	<entry>
		<id>https://montepedia.com/w/index.php?title=Sensorial_Materials_(Montessori)&amp;diff=5239</id>
		<title>Sensorial Materials (Montessori)</title>
		<link rel="alternate" type="text/html" href="https://montepedia.com/w/index.php?title=Sensorial_Materials_(Montessori)&amp;diff=5239"/>
		<updated>2023-08-06T11:49:38Z</updated>

		<summary type="html">&lt;p&gt;MontessoriX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Maria montessori per soc. falegnami gonzaga, scatola dei solidi geometrici, cilindri colorati, cilindri dei rumori, 1907.jpg | thumb|right | Montessori&#039;s range of educational tools]]&lt;br /&gt;
[[Image:ColoredCylinders2.JPG|thumb|right | A design created using colored cylinders.]]&lt;br /&gt;
[[Image:ColoredCylinders1.JPG|thumb|right | The yellow, green, and red cylinders stacked cohesively.]]&lt;br /&gt;
[[Image:ColoredCylinders3.JPG|thumb|right | Knobless cylinders paired with those from the cylinder block.]]&lt;br /&gt;
[[File:PinkTowerandBroadStairs.jpg|thumb|right | The combination of the pink tower and broad stair in an extended task.]]  &lt;br /&gt;
[[File:BrownStairsAndPinkTower2.JPG|thumb|right | Students have the freedom to create myriad designs within the constraints of the materials.]]&lt;br /&gt;
[[File:ColorTablets3.JPG|thumb|right | The third box of Color Tablets]]&lt;br /&gt;
[[File:GeometricSolids.JPG|thumb|right | Geometric Solids set]]&lt;br /&gt;
[[File:MontessoriBells.JPG|thumb|right | Montessori&#039;s Bells]]&lt;br /&gt;
[[File:Binomokubo.JPG|thumb|right | A depiction of the Binomial Cube]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
In Montessori education, &#039;&#039;&#039;Sensitive Periods&#039;&#039;&#039; refer to specific times during early child development when the child shows strong propensity to specific kinds of learning. These are transient periods of intense sensitivity to particular stimuli in their environment.&amp;lt;ref&amp;gt;Montessori, M. (1949). The Absorbent Mind. Clio Press.&amp;lt;/ref&amp;gt; During a sensitive period, a child may exhibit spontaneous concentration when engaged in an activity that aligns with their current sensitivity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
For instance, children in a sensitive period for order will be attracted to activities that involve ordering. They may repetitively engage in such activities, demonstrating deep concentration and requiring no external reward or encouragement. Thus, children are naturally drawn to aspects of their environment that meet their particular developmental needs.&lt;br /&gt;
&lt;br /&gt;
== Montessori Quotes == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
*&amp;quot;It is true that some children...learn to read without having been taught, and that comes about because these children are in a social environment where many people know how to read, and because they come into contact with written language.&amp;quot;&amp;lt;ref&amp;gt;Montessori, M. (1949). The Absorbent Mind. Clio Press.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
*&amp;quot;The only outwardly recognizable sign of the sensitive periods is the child&#039;s behavior: his intense interest for certain objects, a certain repetition of exercises, a certain type of concentration.&amp;quot; &amp;lt;ref&amp;gt;Montessori, M. (1958). The Child in the Family. Avon Books.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Research and Critiques == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Pros&#039;&#039;&#039;: The concept of sensitive periods underscores the importance of aligning educational activities with the child&#039;s natural developmental stages, thereby making learning more effective and enjoyable. This view is consistent with contemporary developmental psychology.&amp;lt;ref&amp;gt;Lillard, A. (2017). Montessori: The Science Behind the Genius. Oxford University Press.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Cons&#039;&#039;&#039;: Critics argue that the concept of sensitive periods may overemphasize the importance of certain developmental stages and undervalue learning that can occur outside of these periods.&amp;lt;ref&amp;gt;Egan, K. (2002). Getting it wrong from the beginning: Our progressivist inheritance from Herbert Spencer, John Dewey, and Jean Piaget. Yale University Press.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comparisons to Other Methods == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
While all educational methods recognize developmental stages, the Montessori approach uniquely emphasizes the idea of sensitive periods, during which the child&#039;s learning is particularly receptive to certain types of information or activities.&amp;lt;ref&amp;gt;Mooney, C. (2013). Theories of Childhood, Second Edition: An Introduction to Dewey, Montessori, Erikson, Piaget &amp;amp; Vygotsky. Redleaf Press.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples of sensorial Montessori materials ==&lt;br /&gt;
as seen on Wikipedia&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montessori Sensorial Materials&#039;&#039;&#039; refer to tools utilized in [[Montessori]] educational settings to aid students in refining their five senses. Following practical life exercises, these sensorial materials present a more challenging learning tier.&lt;br /&gt;
&lt;br /&gt;
A distinguishing feature of many Montessori materials, including the sensorial ones, is the &amp;quot;control of error&amp;quot; concept. This allows students to assess their own work without constant reliance on a teacher, fostering both independence and problem-solving skills.&lt;br /&gt;
&lt;br /&gt;
== Cylinder Blocks ==&lt;br /&gt;
Cylinder blocks consist of ten wooden cylinders of differing sizes, each fitted into a base with a knobbed handle. These cylinders naturally encourage the child to adopt a three-fingered grip akin to that used in holding pencils.&lt;br /&gt;
&lt;br /&gt;
The primary task with these blocks involves removing and then correctly placing the cylinders back into their respective slots. An embedded error-checking mechanism ensures that each cylinder can only fit into its designated spot.&lt;br /&gt;
&lt;br /&gt;
== Pink Tower ==&lt;br /&gt;
The pink tower comprises ten pink [[w:cube|cube]]s, ranging in size from 1 [[w:centimeter|centimeter]] to 10 cm in 1 cm increments. The exercise with this tool aims to teach the student the difference between &amp;quot;big&amp;quot; and &amp;quot;small.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Starting with the largest cube, the student stacks the progressively smaller cubes on top. If stacked incorrectly, the visual disparity acts as a self-correction mechanism.&lt;br /&gt;
&lt;br /&gt;
== Broad Stair ==&lt;br /&gt;
Often referred to as the Brown Stair, this set of tools aids in understanding the concepts of &amp;quot;thickness&amp;quot; variations. Comprising ten wooden prisms stained in natural or brown shades, each prism measures 20 cm in length but varies in thickness between 1 to 10 cm. When correctly arranged, the prisms form a smooth staircase.&lt;br /&gt;
&lt;br /&gt;
A common extended activity combines the broad stairs with the pink tower to allow various design constructions.&lt;br /&gt;
&lt;br /&gt;
== Red Rods ==&lt;br /&gt;
The red rods, with a uniform square cross-section, differ only in their length. Ranging from 10 cm to one meter, these rods, when held at their ends, aid in comprehending the concepts of &amp;quot;long&amp;quot; and &amp;quot;short.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Colored Cylinders ==&lt;br /&gt;
Alternatively known as &#039;&#039;knobless cylinders&#039;&#039;, these are identical in dimensions to the previously mentioned cylinder blocks.&lt;br /&gt;
&lt;br /&gt;
There are four sets:&lt;br /&gt;
&lt;br /&gt;
Yellow cylinders vary in both height and diameter.&lt;br /&gt;
Red cylinders maintain a consistent height but differ in diameter.&lt;br /&gt;
Blue cylinders have a uniform diameter but variable heights.&lt;br /&gt;
Green cylinders display variation in both dimensions.&lt;br /&gt;
Numerous activities can be performed with these, including pairing with the cylinder blocks, creating towers, or forming various patterns. Combining the yellow, red, and green cylinders results in identical heights.&amp;lt;ref&amp;gt;{{Cite web|url=https://www.flickr.com/photos/27682674@N02/2582293141/|title=Knobless Cylinders by MattBronsil on Flickr}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Binomial Cube ==&lt;br /&gt;
The binomial cube consists of distinct pieces, stored in a specially designed box. The cube elements correspond to the mathematical expression &amp;lt;math&amp;gt;(a+b)^3&amp;lt;/math&amp;gt;. While its use as a mathematical tool becomes more evident in advanced Montessori levels, its primary function remains sensorial, introducing students indirectly to the cube root.&lt;br /&gt;
&lt;br /&gt;
== Trinomial Cube ==&lt;br /&gt;
A progression from the binomial cube, the trinomial cube represents the formula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(a+b+c)^3 = a^3 + 3a^2b + 3a^2c + b^3 + 3ab^2 + 3b^2c + c^3 + 3ac^2 + 3bc^2 + 6abc&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Materials ==&lt;br /&gt;
Montessori&#039;s sensorial tools are expansive and continually evolving, thanks to contributions from educators globally. Other notable tools include the Monomial Cube, Geometric Cabinet, Constructive Triangles, Color Tablets, Geometric Solids, Mystery Bag, Rough and Smooth Boards, Fabric Box, Thermic Bottles, Baric Tablets, Sound Cylinders, and Bells.&lt;br /&gt;
&lt;br /&gt;
== Related Tools ==&lt;br /&gt;
*[[w:Base ten block|Base ten block]]&lt;br /&gt;
*[[w:Froebel Gifts|Froebel Gifts]]&lt;br /&gt;
*[[w:Unit block|Unit block]]&lt;br /&gt;
*[[w:Toy blocks|Alphabet Nursery Blocks]] (ABC-Blocks)&lt;br /&gt;
&lt;br /&gt;
== See Also == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
*[[Montessori Method]]&lt;br /&gt;
*[[Prepared Environment (Montessori)]]&lt;br /&gt;
*[[Absorbent Mind (Montessori)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
{{Glossary of Montessori Terms}}&lt;br /&gt;
&lt;br /&gt;
== References == &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>MontessoriX</name></author>
	</entry>
</feed>