Wikipedia
testwiki
https://test.wikipedia.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.7
first-letter
Media
Special
Talk
User
User talk
Wikipedia
Wikipedia talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Thread
Thread talk
Summary
Summary talk
Test namespace 1
Test namespace 1 talk
Test namespace 2
Test namespace 2 talk
Draft
Draft talk
Campaign
Campaign talk
TimedText
TimedText talk
Module
Module talk
SecurePoll
SecurePoll talk
CNBanner
CNBanner talk
Translations
Translations talk
Event
Event talk
Topic
Newsletter
Newsletter talk
Tto page 7
0
76480
747376
230363
2026-06-18T13:37:15Z
~2026-35561-94
74507
747376
wikitext
text/x-wiki
colon: File:Yes i can see tgis clearly.png
no colon: <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png -->
colon: File:Yes i can see tgis clearly.png File:Yes i can see tgis clearly.png
OK.
Test.
rvtt0cs6d1u4frsv1gckf2fzdgwlqvo
Wikipedia talk:Sandbox
5
87110
747565
744610
2026-06-18T21:06:26Z
User97104
72884
/* Test chars */ new section
747565
wikitext
text/x-wiki
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
== Test chars ==
The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC)
cvt7z7rfw0yocuwhcn3o1hkzyo1a2o2
747566
747565
2026-06-18T21:07:11Z
User97104
72884
/* Test chars */ Reply
747566
wikitext
text/x-wiki
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
== Test chars ==
The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC)
:ᛵᛵᛵᛵᛵᛵᛷᛶᛲᛱᛳ [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC)
rz6cb9xzbf1wdfwygjitlkts5cbug2v
747567
747566
2026-06-18T21:07:21Z
User97104
72884
/* Test chars */ Reply
747567
wikitext
text/x-wiki
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
<noinclude>{{Sandbox}}</noinclude>
{{CleanSandbox}}
== Please start your testing below this line ==
== Test chars ==
The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC)
:ᛵᛵᛵᛵᛵᛵᛷᛶᛲᛱᛳ [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC)
::doesn't diss. wt et [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC)
npzx5eqh1zbl91x6yq51culxxoeca5s
Mavetuna
0
87468
747588
738310
2026-06-18T22:16:46Z
Zilant1b
50416
747588
wikitext
text/x-wiki
=== Sub-heading 1 ===
Anon edit - April 08/2026
test
My mentor - {{#mentor:Zilant63}}
== 100% map - frameless -full ==
Testing https://phabricator.wikimedia.org/T192251
test [[Timeline test|time]] zone preference
With 100% only.
<mapframe width="100%" height="400" latitude="40.325" longitude="-3.7172" text="Captions do appear" align="right" />
With frameless:
<mapframe width="100%" height="400" latitude="40.325" longitude="-3.7172" frameless />
<div style= "clear:both;"> </div>
Width=full
<mapframe width="full" height="400" latitude="40.325" longitude="-3.7172" text="width=full" />
== Section § 1 ==
<mapframe text="A geoshape of Alaska" width=300 height=300 zoom=3 latitude=64.01 longitude=-152.58 lang="ru">
{
"type": "ExternalData",
"service": "geoshape",
"ids": "Q797"
}
</mapframe>
Lorem ipsum dolor sit amet, Ã consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas pharetra, tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Adding the link to [[MavetunaZilant17|MavetunaZilant]].
<mapframe width="300" height="300" zoom="12" latitude="40.782222" longitude="-73.965278">
[
{
"type": "ExternalData",
"service": "page",
"title": "Neighbourhoods/New York City.map"
},
{
"type": "ExternalData",
"service": "geoshape",
"ids": "Q160409",
"properties": {
"fill": "#07c63e", "title": "Central Park"
}
},
{
"type": "Feature",
"properties": {"title": "Roosevelt Island", "marker-color": "f01080"},
"geometry": {
"type": "Point",
"coordinates": [
-73.94511222839355,
40.76734665426719
]
}
}
]
</mapframe>
== £ Section ==
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas '''pharetra''', tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Suspendisse sed elementum urna, nec blandit sapien. Aliquam tincidunt viverra blandit.
{Mapframe|50.078|14.4180|zoom=12|staticmap=Prague_districts_en_wv.jpg}}
<div style="clear both;">
<mapframe latitude="46.7752" longitude="7.7333" zoom="9" width="350" height="300" text="Welcome to the Discovery Maps Team" align="right">
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"marker-symbol": "rocket",
"marker-color": "f00",
"marker-size": "large",
"title": "[https://www.mediawiki.org/w/index.php?title=Discovery Maps Team]"
},
"geometry": {
"type": "Point",
"coordinates": [
-122.4248,
37.7533
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-122.43155345321,
37.720416651143
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-122.00037360191,
38.000995277392
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-122.00067857451,
38.000277182198
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
7.6217651367188,
46.766205874237
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
7.904663085937501,
46.55886030311719
]
}
}
]
}
</mapframe>
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean mollis vitae mi a auctor. Praesent non condimentum turpis. Curabitur consequat, nulla sed vestibulum commodo, ipsum dui finibus mi, ac imperdiet risus dui at dolor. Aliquam lacinia sem vel lectus sodales, sit amet tempor felis varius. Nunc lacinia dapibus lorem a aliquam. Fusce facilisis tempor vulputate. Aliquam interdum vitae velit non porttitor. Aenean ac semper lorem. Mauris dapibus mauris mattis, facilisis justo vel, cursus velit. Mauris sagittis turpis nibh, eu malesuada odio mollis id. Sed vitae finibus ex, ut aliquet velit. Integer nisi ipsum, gravida eget est vitae, dignissim vulputate est. Donec ut nibh sit amet ex volutpat bibendum pretium id metus. Etiam accumsan lobortis elit et condimentum. Test123.
Praesent blandit vehicula augue, sed mattis quam viverra non. In maximus, nisi non vestibulum finibus, lectus augue malesuada nulla, in venenatis libero quam a mauris. Fusce tincidunt orci quis nisl fringilla, id rhoncus dolor venenatis. Vestibulum vitae feugiat turpis. Proin a fringilla dui. Curabitur libero purus, feugiat in libero quis, cursus sodales turpis. Mauris eleifend erat ut lorem volutpat porttitor. Nulla mollis ut felis sed tincidunt. Pellentesque dolor tortor, semper vitae finibus nec, placerat et urna. Quisque id est justo.
In imperdiet odio sed risus maximus sodales. Donec feugiat pulvinar fringilla. Vestibulum a lorem quam. Ut nisl nisi, condimentum in sem a, rhoncus scelerisque nibh. Maecenas in congue urna. Morbi ligula felis, commodo venenatis est sed, porta pulvinar magna. Praesent auctor pulvinar diam. Etiam at diam eu nunc hendrerit suscipi
<!-- You will not be able to see this text. -->
<div style="clear both;">
<mapframe latitude="46.725" longitude="7.668" zoom="8" width="350" height="300" text="not edited in VE" align="right">
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"marker-symbol": "rocket"},
"geometry": {
"type": "Point",
"coordinates": [
7.7106884121894845,
46.83984005391151
]
},
}
]
}
</mapframe>
</div>
== Section Ô ==
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas pharetra, tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse sed elementum urna, nec blandit sapien. Aliquam tincidunt viverra blandit. [[User:Etonkovidova]] [[User:Zilant1|Zilant1]] ([[User talk:Zilant1|talk]]) 23:20, 7 February 2018 (UTC)
foobar
<div style="clear both;">
==Maps==
'''Modeling [https://tools.wmflabs.org/wikivoyage/w/poimap2.php?lat=51.47766&lon=-0.00115&zoom=auto&layer=W&lang=be&name=San_Francisco/Fisherman%27s_Wharf map] from the WikiVoyage's [https://en.wikivoyage.org/wiki/San_Francisco/Fisherman%27s_Wharf Fisherman's Wharf] '''
<mapframe width="650" height="400" zoom="14" longitude="-122.4305" latitude="37.7953" mode="interactive" show="poi" align="right">{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"stroke-width": 0.5,
"fill-opacity": 0.3
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
3600,
-180
],
[
3600,
180
],
[
-3600,
180
],
[
-3600,
-180
],
[
3600,
-180
]
],
[
[
-122.4267,
37.8081
],
[
-122.4265,
37.8082
],
[
-122.4264,
37.8077
],
[
-122.426,
37.8072
],
[
-122.4251,
37.8068
],
[
-122.4244,
37.8066
],
[
-122.4239,
37.8067
],
[
-122.4234,
37.8069
],
[
-122.4211,
37.8086
],
[
-122.4211,
37.8088
],
[
-122.4229,
37.8102
],
[
-122.4228,
37.8103
],
[
-122.4214,
37.8092
],
[
-122.4213,
37.8093
],
[
-122.421,
37.809
],
[
-122.4209,
37.8088
],
[
-122.4206,
37.8089
],
[
-122.4206,
37.8087
],
[
-122.4203,
37.8088
],
[
-122.4203,
37.8087
],
[
-122.4205,
37.8086
],
[
-122.4204,
37.8083
],
[
-122.4179,
37.8086
],
[
-122.4179,
37.8088
],
[
-122.42,
37.8089
],
[
-122.42,
37.8091
],
[
-122.4183,
37.8091
],
[
-122.4183,
37.8092
],
[
-122.4179,
37.809
],
[
-122.4178,
37.8086
],
[
-122.4175,
37.8086
],
[
-122.4175,
37.8084
],
[
-122.4174,
37.8083
],
[
-122.4174,
37.8081
],
[
-122.4163,
37.8083
],
[
-122.4163,
37.8089
],
[
-122.4175,
37.8089
],
[
-122.4174,
37.8091
],
[
-122.4206,
37.8113
],
[
-122.4203,
37.8115
],
[
-122.4193,
37.811
],
[
-122.4191,
37.8111
],
[
-122.4195,
37.8114
],
[
-122.4194,
37.8115
],
[
-122.4188,
37.8115
],
[
-122.4153,
37.8091
],
[
-122.4148,
37.8093
],
[
-122.4145,
37.8093
],
[
-122.4141,
37.809
],
[
-122.4128,
37.809
],
[
-122.4131,
37.8091
],
[
-122.4133,
37.8091
],
[
-122.4135,
37.8091
],
[
-122.4133,
37.8094
],
[
-122.4125,
37.8091
],
[
-122.4119,
37.8094
],
[
-122.4129,
37.8105
],
[
-122.4127,
37.8106
],
[
-122.4113,
37.8089
],
[
-122.4105,
37.8088
],
[
-122.4104,
37.8093
],
[
-122.4114,
37.8109
],
[
-122.4112,
37.8111
],
[
-122.4105,
37.8114
],
[
-122.4102,
37.8113
],
[
-122.41,
37.811
],
[
-122.4102,
37.8101
],
[
-122.4097,
37.8093
],
[
-122.4095,
37.8092
],
[
-122.4092,
37.8091
],
[
-122.4089,
37.8086
],
[
-122.4084,
37.8084
],
[
-122.4083,
37.8083
],
[
-122.4079,
37.8081
],
[
-122.4079,
37.8082
],
[
-122.4076,
37.8082
],
[
-122.4075,
37.8081
],
[
-122.4067,
37.8078
],
[
-122.4068,
37.81
],
[
-122.4061,
37.8101
],
[
-122.4059,
37.8072
],
[
-122.4053,
37.8069
],
[
-122.4044,
37.8089
],
[
-122.4039,
37.8087
],
[
-122.4027,
37.808
],
[
-122.4023,
37.8078
],
[
-122.4034,
37.8065
],
[
-122.4028,
37.8061
],
[
-122.4009,
37.8077
],
[
-122.4004,
37.8072
],
[
-122.401,
37.8036
],
[
-122.4007,
37.8034
],
[
-122.3986,
37.8046
],
[
-122.3982,
37.8042
],
[
-122.3999,
37.8032
],
[
-122.3996,
37.8029
],
[
-122.3978,
37.8038
],
[
-122.3975,
37.8035
],
[
-122.3997,
37.8022
],
[
-122.3994,
37.8018
],
[
-122.3971,
37.8031
],
[
-122.3961,
37.8019
],
[
-122.3984,
37.8007
],
[
-122.398,
37.8003
],
[
-122.3958,
37.8015
],
[
-122.3954,
37.8012
],
[
-122.3976,
37.7999
],
[
-122.3958,
37.7979
],
[
-122.3956,
37.7979
],
[
-122.3939,
37.799
],
[
-122.3936,
37.7986
],
[
-122.3952,
37.7977
],
[
-122.3948,
37.7973
],
[
-122.3932,
37.7983
],
[
-122.3929,
37.798
],
[
-122.3934,
37.7977
],
[
-122.3938,
37.7973
],
[
-122.3944,
37.797
],
[
-122.3943,
37.7969
],
[
-122.3947,
37.7966
],
[
-122.3958,
37.7967
],
[
-122.3986,
37.7999
],
[
-122.402,
37.8038
],
[
-122.4034,
37.8049
],
[
-122.406,
37.8065
],
[
-122.4253,
37.804
],
[
-122.4258,
37.8066
],
[
-122.4265,
37.8073
],
[
-122.4267,
37.8081
]
]
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-122.43438720703,
37.802460048863
]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-122.41395950317,
37.792151101468
]
}
}
]
}
</mapframe>
</div>
__FORCETOC__
4li4lfsglxdbmnfb6rjeba088xz06rr
User talk:Nokib Sarkar
3
105463
747412
592944
2026-06-18T14:31:16Z
MediaWiki message delivery
23852
/* Thank you for being a part of Feminism and Folklore 2026 */ new section
747412
wikitext
text/x-wiki
{{User:CampWiz_Bot/CampWiz_Bot_Subscription
|campaign id=88
|new submission=yes
|statistics=yes
}}
== Thank you for being a part of Feminism and Folklore 2026 ==
<div lang="en" dir="ltr" class="mw-content-ltr">
[[File:Feminism and Folklore 2026 logo.svg|right|350px]]
Dear {{PAGENAME}},
Your contributions helped make this year's [[:Feminism and Folklore 2026|Feminism and Folklore]] campaign a great success, and we are truly grateful for your time, knowledge, and dedication to documenting women's stories and folklore on Wikimedia projects.
As we reflect on this year's campaign and prepare for the next edition, we'd love to hear about your experience. Please take a few minutes to fill out our feedback form and share your thoughts and suggestions.
As a token of our appreciation, everyone who completes the form will receive a '''special digital postcard'''! in their email. This year marks '''''25 years of Wikipedia''''', and the postcard has been created to celebrate this milestone and to recognize the incredible efforts of participants like you who continue to enrich free knowledge for the world.
'''Form Link - [https://docs.google.com/forms/d/e/1FAIpQLSdqFZN9IdWbAnZ_7DyG5bIsuq7KAkdsIxweC_TdPH9In-tthQ/viewform?usp=dialog here]'''
Please complete the feedback form by '''25 June 2026'''.
Thank you once again for making Feminism and Folklore 2026 a success. We hope to see you again in future campaigns!
Best regards,
Feminism and Folklore international Team.
--[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 14:31, 18 June 2026 (UTC)
</div>
<!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf2026&oldid=30704478 -->
1zo7lopxpufupon8dk4e0syint5rcac
Wikipedia:Sandbox
4
107092
747564
747327
2026-06-18T21:00:31Z
Cewbot
33876
Clear the sandbox. If you want to keep it longer, please test it in [[Special:MyPage/Sandbox|personal sandbox]], you can also check the revision history of the sandbox.
747564
wikitext
text/x-wiki
<noinclude>{{Sandbox}}</noinclude>
== Please start your testing below this line ==
9v37rcaxoiwjar8n3q9n7dcsjdvcyin
User:Nardog/sandbox.js
2
115814
747593
735761
2026-06-19T06:06:28Z
Nardog
40946
747593
javascript
text/javascript
/* globals ve */
// window.dn?.disable?.();
window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff';
(mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') &&
mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() {
let isHist = mw.config.get('wgAction') === 'history';
let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`;
let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch';
let diffs = [], count = 0, expanded = new WeakSet();
window.dn = diffs;
let sanitize = href => {
let url = new URL(href, location.href);
let newParams = new URLSearchParams(), hasId;
['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => {
if (url.searchParams.has(k)) {
let v = url.searchParams.get(k);
newParams.set(k, v);
hasId = hasId || v > 0;
}
});
if (!hasId && url.searchParams.has('title')) {
return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`;
}
return String(newParams);
};
let getDiff = comp => {
if (typeof comp === 'string') {
let sanitized = sanitize(comp);
return diffs.find(diff => (
diff.queries.has(comp) || diff.queries.has(sanitized)
));
}
return diffs.find(diff => diff.$diff.is(comp));
};
let containers = [];
window.dn._c = containers;
class Diff {
constructor(href, $link) {
this.aborter = new AbortController();
this.queries = new Set();
this.setLink(href, $link);
diffs.push(this);
}
setLink(href, $link) {
if (this.href) {
if ($link.is(this.$link)) {
if (this.aborter) {
this.aborter.abort();
} else if (this.isVisible()) {
this.close();
} else {
this.$anchor = this.getAnchor();
this.append();
}
return;
}
if ($link.is(this.$outerLink) && this.isVisible()) {
this.close();
return;
}
if (this.getAnchor($link).is(this.$anchor)) {
this.markLink(false);
} else {
this.close();
}
}
this.href = href;
this.queries.add(href);
let sanitized = sanitize(href);
if (sanitized) {
this.queries.add(sanitized);
}
this.$link = $link;
this.isSwitch = $link.is(switchSelector);
if (!this.isSwitch) {
this.$outerLink = $link;
}
this.$anchor = this.getAnchor();
if (this.aborter) {
this.markLink();
} else {
this.append();
}
}
append(response) {
if (response) {
delete this.aborter;
this.findDiff(response);
this.setQueries();
this.polishDiff();
}
let $container = this.getContainer(true);
if (!$container[0].isConnected) {
if (this.$anchor.is('tr')) {
let cols = this.$anchor.children().get()
.reduce((acc, cell) => acc + cell.colSpan, 0);
$('<tr>').addClass('diffnow-row').append(
$('<td>').attr('colspan', cols).append($container)
).insertAfter(this.$anchor);
} else if (this.$anchor.is('div')) {
this.$anchor.after($container);
} else {
this.$anchor.append($container);
}
}
this.attached = true;
filterContexts(this.$diff);
window.addEventListener('resize', onResize);
if (!this.$link.hasClass('diffnow-link-loaded')) {
mw.requestIdleCallback(() => {
this.markLinks();
this.markSeen();
});
}
if ($container[0].getBoundingClientRect().top < 0) {
$container[0].scrollIntoView();
}
this.markLink(true);
if (response) {
mw.hook('wikipage.content').fire($container);
}
}
findDiff(response) {
if (typeof response !== 'string') throw '';
let $diff = $($.parseHTML(response))
.filter('.diff[data-mw-interface]');
if (!$diff.length) {
$diff = $diff.end().find('.diff[data-mw-interface]');
if (!$diff.length) throw '';
}
this.$diff = $($diff[0]);
}
setQueries() {
let newPerma = this.$diff[0].querySelector(
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (newPerma) {
this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search));
this.newTitle = newPerma.title;
}
let oldPerma = this.$diff[0].querySelector(
'#mw-diff-otitle1 > strong > a, #differences-prevlink'
);
if (oldPerma) {
this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search));
this.oldTitle = oldPerma.title;
}
let isSamePage = !oldPerma || this.newTitle === this.oldTitle;
this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi');
if (this.newId) {
if (this.newId === this.oldId) {
throw 'nonfatal';
}
if (this.oldId) {
this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`);
}
this.isLast = !this.$diff[0].querySelector('#differences-nextlink');
if (this.isSingle) {
this.queries.add(`diff=prev&oldid=${this.newId}`);
if (this.isLast && this.oldId) {
this.queries.add(`diff=0&oldid=${this.oldId}`);
this.queries.add(`diff=cur&oldid=${this.oldId}`);
}
}
}
if (this.oldId && this.isSingle) {
this.queries.add(`diff=next&oldid=${this.oldId}`);
}
this.queries.forEach(q => {
let other = getDiff(q);
if (other && other !== this) {
other.setLink(this.href, this.$link);
throw 'nonfatal';
}
});
if (this.oldId) {
diffs.forEach(diff => {
if (diff.isLast && diff.newId === this.oldId) {
diff.markNotLast(this);
}
});
}
}
async polishDiff() {
mw.hook('wikipage.diff').fire(this.$diff);
let prevLink = this.$diff[0].querySelector('#differences-prevlink');
let nextLink = this.$diff[0].querySelector('#differences-nextlink');
$([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => (
href.replace('&diffonly=1', '').replace('&expand-url=1', '')
));
[['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => {
if (link && !mw.messages.exists(key)) {
mw.messages.set(key, link.textContent);
}
});
if (!nextLink && this.isLast) {
this.$diff.find('#mw-diff-ntitle4').empty().append(
$('<a>').attr({
class: 'diffnow-checknext diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'next',
oldid: this.newId
}),
title: this.newTitle
}).text('Check for newer edit')
);
}
this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right')
.attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`);
this.$diff.find('a[name^="movedpara"]')
.attr('name', (_, name) => `diffnow-${count}-${name}`);
count++;
this.$diff.find('[id]').addClass(function () {
return 'diffnow-' + this.id;
}).removeAttr('id');
if (this.$diff[0].querySelector('.mw-thanks-thank-link')) {
mw.loader.load('ext.thanks.corethank');
mw.config.set('thanks-confirmation-required', true);
}
if (!this.isSingle) {
let keys = ['nextdiff', 'previousdiff']
.filter(s => !mw.messages.exists(s));
if (keys.length) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(keys);
}
this.$diff.find('.diff-multi').append(
$('<div>').append(
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multinext diffnow-switch',
href: mw.util.getUrl(this.oldTitle, {
diff: 'next',
oldid: this.oldId
}),
title: this.oldTitle
}).text(mw.msg('nextdiff'))
),
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multiprev diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'prev',
oldid: this.newId
}),
title: this.newTitle
}).text(mw.msg('previousdiff'))
)
)
);
}
}
getAnchor($link) {
let isSwitch;
if ($link) {
isSwitch = $link.is(switchSelector);
} else {
$link = this.$link;
isSwitch = this.isSwitch;
}
if (isSwitch) {
return getDiff($link.closest('.diff')).$anchor;
}
return $link.closest('li, tr, .mw-history-compareselectedversions');
}
getContainer(create) {
let $container = this.$anchor.is('tr')
? this.$anchor.next('.diffnow-row').find('> td > .diffnow')
: this.$anchor.is('div')
? this.$anchor.next('.diffnow')
: this.$anchor.children('.diffnow');
if (create) {
if ($container.length) {
this.attachDiff($container);
} else {
$container = this.createContainter();
}
}
return $container;
}
attachDiff($container) {
let $oldDiff = $container.children('.diff');
if (!$oldDiff.is(this.$diff)) {
if ($oldDiff.length) {
getDiff($oldDiff).detachDiff();
}
$container.children('.diffnow-tools-top').after(this.$diff);
}
$container.find('.diffnow-difflink').attr('href', this.href);
}
createContainter() {
let $container = containers.pop();
if ($container) {
this.attachDiff($container);
return $container;
}
return $('<div>').addClass('diffnow').append(
$('<div>').addClass('diffnow-tools diffnow-tools-top').append(
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-collapse',
title: 'Hide this diff'
})
),
this.$diff,
$('<div>').addClass('diffnow-tools diffnow-tools-bottom').append(
$('<button>').attr({
class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse',
title: 'Scroll to top'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand',
title: 'Scroll to bottom'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-close',
title: 'Hide this diff'
}),
$('<a>').attr({
class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive',
href: this.href,
target: '_blank',
title: 'Open diff page'
})
)
)
.on('click', '.diffnow-close', this.collapse)
.on('click', '.diffnow-scrollup', this.scrollUp)
.on('click', '.diffnow-scrolldown', this.scrollDown)
.on(
'click keydown',
'.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker',
this.toggleContext
);
}
isVisible() {
return !!this.$diff?.[0].offsetParent;
}
markLink(visible = this.isVisible()) {
if (this.isSwitch) {
this.getContainer().toggleClass('diffnow-switching', !!this.aborter);
if (!this.$outerLink) return;
}
this.$outerLink
.toggleClass('diffnow-link-loading', !!this.aborter)
.toggleClass('diffnow-link-loaded', !this.aborter)
.toggleClass('diffnow-link-open', !this.isSwitch && visible);
}
markLinks() {
$(selector).filter((_, link) => {
let href = link.getAttribute('href');
return this.queries.has(href) || this.queries.has(sanitize(href));
}).addClass('diffnow-link-loaded');
if (!isHist) return;
$('.mw-history-compareselectedversions-button').toggleClass(
'diffnow-link-loaded',
!!getDiff(getHistHref())
);
}
markSeen() {
if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) {
this.$anchor.nextAll().addBack()
.removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched');
return;
}
let $li = this.$anchor.closest('li, table');
let $unseen = $li.filter('.mw-changeslist-watchedunseen')
.add($li.find('.mw-changeslist-watchedunseen'));
if (!$unseen.length) return;
$unseen.removeClass('mw-changeslist-watchedunseen')
.addClass('mw-changeslist-watchedseen');
$li.filter('.mw-changeslist-line-watched')
.add($li.find('.mw-changeslist-line-watched'))
.removeClass('mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-line-not-watched');
}
async markNotLast(newDiff) {
this.isLast = false;
this.queries = new Set([...this.queries].filter(q => (
!/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q)
)));
this.$diff.find(
'.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted'
).first().text(
newDiff.$diff.find(
'#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted'
).first().text()
);
this.$diff.find('.diff-ntitle .mw-diff-edit a')
.attr('href', (_, href) => href + '&oldid=' + this.newId);
if (!mw.messages.exists('nextdiff')) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(['nextdiff']);
}
this.$diff.find('.diffnow-checknext')
.attr('class', 'diffnow-differences-nextlink')
.text(mw.msg('nextdiff'));
}
detachDiff() {
this.$diff?.detach();
this.markLink(false);
}
close(adjustFocus) {
this.detachDiff();
let $container = this.getContainer();
if ($container.length) {
let $row = $container.closest('.diffnow-row');
containers.push($container.detach());
$row.remove();
}
if (!adjustFocus) return;
setTimeout(() => {
this.$anchor.find('a[href]').last().each(function () {
this.focus();
this.blur();
});
});
}
collapse(e) {
e.preventDefault();
let $container = $(e.delegateTarget);
let diff = getDiff($container.children('.diff'));
if (diff.$link[0].getBoundingClientRect().top < 0) {
diff.$anchor[0].scrollIntoView();
$container.fadeOut('fast', () => {
diff.close(true);
setTimeout(() => {
diff.$anchor[0].scrollIntoView();
$container.removeAttr('style');
});
});
} else {
diff.close(true);
}
}
scrollUp(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().top;
let ch = document.documentElement.clientHeight, buffer = ch / 2;
y -= y + 5 > buffer ? ch : buffer;
window.scrollBy({ top: y, behavior: 'smooth' });
}
scrollDown(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().bottom;
let buffer = document.documentElement.clientHeight / 2;
if (y - 5 > buffer) {
y -= buffer;
}
window.scrollBy({ top: y, behavior: 'smooth' });
}
toggleContext(e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
let $row = $(e.target.closest('tr'));
if ($row.hasClass('diffnow-context-expanded')) {
$row.removeClass('diffnow-context-expanded')
.addClass('diffnow-context-collapsed')
.children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
expanded.delete($row[0]);
} else {
$row.removeClass('diffnow-context-collapsed')
.addClass('diffnow-context-expanded')
.children('.diff-context').removeAttr('tabindex role title')
.siblings('.diff-marker').attr('title', 'Collapse');
expanded.add($row[0]);
}
}
destroy() {
diffs.splice(diffs.indexOf(this), 1);
this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open');
this.getContainer().removeClass('diffnow-switching');
}
}
let filterContexts = $diff => {
$diff.find('.diff-context.diff-side-deleted > div').each(function () {
let $row = $(this.closest('tr'))
.removeClass('diffnow-context-expanded');
if (this.scrollHeight > this.clientHeight) {
if (expanded.has($row[0])) {
$row.addClass('diffnow-context-expanded')
.children('.diff-marker').attr({
tabindex: 0,
role: 'button',
title: 'Collapse'
});
} else {
$row.addClass('diffnow-context-collapsed').children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
}
} else {
$row.removeClass('diffnow-context-collapsed')
.children().removeAttr('tabindex role title');
}
});
};
let onResize = mw.util.debounce(() => {
filterContexts($('.diffnow > .diff'));
}, 250);
let notif;
let showError = async (href, msg) => {
notif = await mw.notify([
document.createTextNode(msg || `Couldn't load the diff`),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' });
};
let getHistHref = () => {
let formData = new FormData(document.getElementById('mw-history-compare'));
return mw.util.getUrl(null, {
diff: formData.get('diff'),
oldid: formData.get('oldid')
});
};
$(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(selector) && !this.matches(switchSelector)
) {
return;
}
e.preventDefault();
let $link = $(this);
let isCompare = $link.hasClass('mw-history-compareselectedversions-button');
let href = isCompare ? getHistHref() : this.pathname + this.search;
let diff = getDiff(href);
try {
if (diff) {
diff.setLink(href, $link);
return;
}
if (!isCompare && this.origin !== location.origin) {
throw '';
}
diff = new Diff(href, $link);
let url = new URL(href, location.href);
url.searchParams.set('diffonly', 1);
url.searchParams.set('action', 'render');
let promise = fetch(url, { signal: diff.aborter.signal });
mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']);
if (notif) {
notif.close();
notif = null;
}
diff.append(await (await promise).text());
} catch (error) {
if (diff && !diff.attached) {
diff.destroy();
}
if (error.name === 'AbortError') {
notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' });
} else if (error !== 'nonfatal') {
showError(href, error);
console.error(error);
}
}
});
let css = mw.loader.addStyleTag(`${selector} {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
background-position: right;
background-repeat: no-repeat;
background-size: 10px 10px;
padding-right: 12px;
}
.mw-history-compareselectedversions-button {
background-position: right 6px center;
background-size: 14px 14px;
padding-right: 24px !important;
}
.skin-timeless .mw-history-compareselectedversions-button {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg);
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important;
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important;
}
.diffnow-link-loading {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important;
}
.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important;
}
.diffnow-link-open, .diffnow-context-expanded > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important;
}
.diffnow {
background: var(--background-color-base, #fff);
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 4px;
position: relative;
}
.mw-history-compareselectedversions + .diffnow {
margin-top: 0.3em;
}
.diffnow-tools {
display: flex;
position: sticky;
background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65));
z-index: 1;
}
.diffnow-tools-top {
top: 0;
border-radius: 4px;
}
.diffnow-tools-bottom {
bottom: 0;
}
.diffnow-tools > .diffnow-button {
cursor: pointer;
height: 24px;
padding: 0;
box-sizing: content-box;
background-position: center;
background-repeat: no-repeat;
background-size: 16px 16px;
background-color: var(--background-color-transparent, transparent);
flex-grow: 1;
}
.diffnow-tools > .diffnow-button:hover {
background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027));
}
.diffnow-tools > .diffnow-button:active {
background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082));
}
.diffnow-tools-top > .diffnow-button {
border: none;
border-radius: 3px 3px 0 0;
}
.diffnow-tools-bottom > .diffnow-button {
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 99px;
margin: 4px;
height: 20px;
}
.diffnow-switching > .diff {
transition: opacity 200ms;
opacity: 0.4;
}
.diffnow-checknext, .diffnow-checknext:visited {
color: var(--color-subtle, #54595d);
}
.diffnow :not(.diffnow-context-expanded) > .diff-context > div {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.diffnow-context-collapsed > td,
.diffnow-context-expanded > .diff-marker {
cursor: pointer !important;
background-position: center;
background-repeat: no-repeat;
background-size: 12px 12px;
}
.diffnow-context-collapsed > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
}
.diffnow-context-collapsed > .diff-context a {
pointer-events: none;
}
.diffnow .diff-multi > div {
display: flex;
justify-content: space-around;
}
.diffnow > .diff td div {
word-break: break-word;
}
.diffnow .mw-diff-inline-changed ins,
.diffnow .mw-diff-inline-changed del {
white-space: pre-wrap;
}
.diffnow-row .diffnow {
border: none;
}
.diffnow-row > td {
padding: 0 !important;
}
td.mw-changeslist-line-inner {
width: 100%;
}
.mw-enhanced-rc .diffnow > .diff td {
padding: 0.33em 0.5em;
}
.cdx-table__table-wrapper:has(.diffnow-row) {
overflow-x: visible;
}
span.mw-history-histlinks-current,
span.mw-history-histlinks-previous {
padding-right: 12px;
}
.client-js .diffnow .mw-anonuserlink {
padding-right: 0;
}`);
mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']);
diffs._disable = () => {
$(document.body).off('.diffnow');
css.remove();
};
if (isHist) {
$(document.body).on('change.diffnow', '#mw-history-compare', function () {
let $buttons = $('.mw-history-compareselectedversions-button');
let diff = getDiff(getHistHref());
if (diff) {
$buttons.addClass('diffnow-link-loaded');
if ($buttons.is(diff.$link) && diff.isVisible()) {
diff.$link.addClass('diffnow-link-open');
} else {
$buttons.removeClass('diffnow-link-open');
}
} else {
$buttons.removeClass('diffnow-link-loaded diffnow-link-open');
}
});
}
let added, tempLoaded, ipInfoLoaded;
mw.hook('wikipage.content').add(async () => {
await new Promise(mw.requestIdleCallback);
if (!document.querySelector(selector)) return;
let modules = ['mediawiki.diff', 'mediawiki.diff.styles'];
let cspn = mw.config.get('wgCanonicalSpecialPageName');
let loadTemp = !tempLoaded &&
Number(mw.user.options.get('checkuser-temporary-account-enable')) &&
!['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn);
if (loadTemp) {
modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles');
}
if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) {
modules.push('ext.checkUser.userInfoCard');
}
let loadIpInfo;
if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) {
modules.push('ext.ipInfo', 'ext.ipInfo.styles');
loadIpInfo = !ipInfoLoaded &&
['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn);
}
let promise = mw.loader.using(modules);
if (loadTemp || loadIpInfo) {
tempLoaded = loadTemp;
ipInfoLoaded = loadIpInfo;
await promise;
// https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js
let makeRequire = (moduleObj, basePath) => moduleName => {
let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/);
if (!relParts) {
return mw.loader.require(moduleName);
}
let baseDirParts = basePath.split('/');
baseDirParts.pop();
let prefixes = relParts[1].split('/');
prefixes.pop();
let prefix;
while ((prefix = prefixes.pop())) {
if (prefix === '..') {
baseDirParts.pop();
}
}
let fileName = baseDirParts.join('/');
if (fileName) {
fileName += '/';
}
fileName += relParts[2];
if (Object.hasOwn(moduleObj.packageExports, fileName)) {
return moduleObj.packageExports[fileName];
}
let scriptFiles = moduleObj.script.files;
if (!Object.hasOwn(scriptFiles, fileName)) {
throw Error('Cannot require undefined file ' + fileName);
}
let result;
let fileContent = scriptFiles[fileName];
if (typeof fileContent === 'function') {
let moduleParam = { exports: {} };
fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports);
result = moduleParam.exports;
} else {
result = fileContent;
}
moduleObj.packageExports[fileName] = result;
return result;
};
if (loadTemp) {
try {
let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts'];
makeRequire(pack, pack.script.main)('./initOnHook.js')();
} catch {}
}
if (loadIpInfo) {
try {
let pack = mw.loader.moduleRegistry['ext.ipInfo'];
makeRequire(pack, pack.script.main)('./popup/init.js')();
} catch {}
}
}
if (added || !document.getElementById('p-cactions')) return;
added = true;
let callback = (records, observer) => {
if (records[0].target.classList.contains('diffnow-link-loaded')) {
observer.takeRecords();
observer.disconnect();
clickFirst();
}
};
let clickFirst = () => {
let link = document.querySelector(selector);
if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) {
return;
}
new MutationObserver(callback).observe(link, { attributeFilter: ['class'] });
link.click();
};
mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => {
e.preventDefault();
clickFirst();
});
});
});
// window.smpg?._disable?.();
mw.loader.using('mediawiki.util', async function smoothPager() {
let action = mw.config.get('wgAction');
let isHist = action === 'history';
let isPerma = action === 'view' &&
['oldid', 'diff'].some(s => mw.util.getParamValue(s));
let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber');
let isFile = ns === 6;
let isCat = ns === 14;
let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName');
if (!(isHist || isPerma || isFile || isCat || cspn)) return;
let isSearch = cspn === 'Search';
let isWl = cspn === 'Watchlist';
let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked';
if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) {
return;
}
let isContribs = cspn === 'Contributions' || cspn === 'IPContributions';
let o = {
useRender: isCat || isWl || isRc,
selector: isPerma ? '#bodyContent' :
isFile ? '#mw-imagepage-section-filehistory' :
isCat ? '.mw-category-generated' :
'#mw-content-text',
outerSelectors: [],
linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' :
isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' :
isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' :
isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' :
`#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`,
canPost: isSearch || [
'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox'
].includes(cspn),
paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ ||
isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/,
reruns: [
'mediawiki.action.history',
'mediawiki.special.search',
'ext.advancedSearch.init',
'mediawiki.special.watchlist',
'mediawiki.special.watchlistedit',
'mediawiki.pager.codex',
'mediawiki.misc-authed-curate',
'mediawiki.misc-authed-ooui',
'mediawiki.misc-authed-pref',
'mediawiki.special.unwatchedPages',
'ext.thanks.corethank',
'ext.flaggedRevs.review',
'ext.gadget.watchlist-notice-core'
],
pages: []
};
if (isContribs) {
o.reruns.push('ext.ipInfo');
}
if (!o.useRender) {
o.outerSelectors.push('#firstHeading', '.mw-indicators');
if (!isPerma && !isFile) {
o.outerSelectors.push('#mw-content-subtitle');
}
}
o.formSelector = isHist && '#mw-history-searchform' ||
isSearch && '#search, #powersearch, #searchform' ||
cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`;
if (o.formSelector) {
o.formSelector += ', .cdx-table-pager__limit-form';
}
window.smpg = o;
let getHref = () => location.pathname + location.search;
let getKey = (href, isPost) => {
if (o.paramRe) {
let params = new URLSearchParams();
new URL(href, location.href).searchParams.forEach((v, k) => {
if (o.paramRe.test(k)) {
params.set(k, v);
}
});
params.sort();
return String(params);
}
if (isPost) {
return href + '??' + Date.now();
}
return href;
};
class Page {
constructor(href, key) {
this.href = href || getHref();
this.key = key || getKey(this.href);
this.keys = new Set().add(this.key);
o.pages.push(this);
}
init($response) {
if ($response) {
if (isWl || isRc) {
this.$cont = $(document.querySelector(o.selector).cloneNode())
.removeClass('smoothpager-switching')
.append($response);
} else {
let $cont = $response.filter(o.selector).not('script');
if (!$cont.length) {
$cont = $response.find(o.selector).not('script');
if (!$cont.length) {
throw 'Content not found';
}
}
$cont.find('script').remove();
this.$cont = $($cont[0]);
}
this.attached = 0;
} else {
if (this.$cont) return;
this.$cont = $(document.querySelector(o.selector));
this.attached = 1;
}
this.getConfigAndModules($response);
this.getOuterEls($response);
this.getDocTitle($response);
this.getRev($response);
}
getConfigAndModules($response) {
if (o.useRender) return;
if (!$response) {
this.config = Object.assign({}, window.RLCONF);
}
let $scripts = $response
? $response.filter('script').remove()
: $('head > script, body > script');
$scripts.map(function () {
return this.textContent.match(/\bmw\.config\.set\({.+}\);/g);
}).each((_, s) => {
let obj;
do {
try {
obj = JSON.parse(s.slice(14, -2));
} catch {
let i = s.slice(0, -3).lastIndexOf('});');
if (i === -1) return;
s = s.slice(0, i + 3);
}
} while (!obj);
this.config = Object.assign(this.config || {}, obj);
});
if (!$response) return;
let match = $scripts.first().text().replaceAll('\n', '')
.match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/);
if (match) {
try {
this.config = Object.assign(this.config || {}, JSON.parse(match[1]));
} catch {}
this.modules = [];
try {
this.modules.push(...Object.keys(JSON.parse(match[2])));
} catch {}
try {
this.modules.push(...JSON.parse(match[3]));
} catch {}
}
this.redirect();
}
setConfig() {
if (!this.config) return;
mw.config.set(this.config);
if (!o.cur.config) return;
Object.entries(o.cur.config).forEach(([k, v]) => {
if (!Object.hasOwn(this.config, k) &&
JSON.stringify(mw.config.get(k)) === JSON.stringify(v)
) {
delete mw.config.values[k];
}
});
}
getOuterEls($response) {
this.outerEls = o.outerSelectors.map(selector => (
$response ? $response.find(selector)[0] : document.querySelector(selector)
)).map(el => el && !this.$cont[0].contains(el) && el);
}
setOuterEls() {
o.outerSelectors.forEach((selector, i) => {
let outer = document.querySelector(selector);
if (!outer) return;
$(outer).before(this.outerEls[i] || outer.cloneNode()).detach();
});
}
getDocTitle($response) {
if (o.useRender) return;
if ($response) {
let $title = $response.filter('title');
if ($title.length) {
this.docTitle = $title.text();
}
} else {
this.docTitle = document.title;
}
}
setDocTitle() {
if (this.docTitle) {
document.title = this.docTitle;
} else if (this.outerEls[0] && o.cur.outerEls?.[0]) {
document.title = document.title.replace(
o.cur.outerEls[0].textContent.trim(),
this.outerEls[0].textContent.trim()
);
}
}
getRev($response) {
if (!isPerma) return;
let params = new URLSearchParams(this.key);
if (params.has('diff')) {
if ($response) {
let dir = params.get('diff') === 'next' ? 'prev' : 'next';
let id = this.config?.[
dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId'
];
if (!id) {
id = this.findParam(
'oldid',
dir === 'prev'
? '#mw-diff-ntitle1 > strong > a, #differences-prevlink'
: '#mw-diff-otitle1 > strong > a, #differences-nextlink'
);
}
if (id) {
this.rev = dir === 'prev' ? id : params.get('oldid');
params.set('diff', dir);
params.set('oldid', id);
this.keys.add(String(params));
}
} else {
this.rev = mw.config.get('wgDiffNewId');
let pn = this.findParam(
'title',
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (pn === mw.config.get('wgPageName') &&
!this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi')
) {
params.set('diff', 'prev');
params.set('oldid', this.rev);
this.keys.add(String(params));
let oldId = mw.config.get('wgDiffOldId');
if (oldId) {
params.set('diff', 'next');
params.set('oldid', oldId);
this.keys.add(String(params));
}
}
}
} else {
if ($response) {
if (params.has('direction')) {
let id = this.config?.wgRevisionId;
if (!id) {
id = this.findParam(
'oldid',
'#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink',
$response
);
}
if (id) {
this.rev = id;
this.keys.add('oldid=' + id);
o.cur.keys.add(`direction=${
params.get('direction') === 'next' ? 'prev' : 'next'
}&oldid=${id}`);
}
} else {
this.rev = params.get('oldid');
}
} else {
this.rev = mw.config.get('wgRevisionId');
if (params.has('direction')) {
this.keys.add('oldid=' + this.rev);
}
}
}
}
findParam(param, query, $range = this.$cont) {
let search = $range.find(query).prop('search');
return search && mw.util.getParamValue(param, search);
}
updateLinks() {
if (this.rev) {
$('#ca-edit > a').attr('href', mw.util.getUrl(null, {
action: 'edit',
oldid: this.rev
}));
$('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink')
.attr('href', mw.util.getUrl(null, { oldid: this.rev }));
}
$('#ca-nstab-special > a').attr('href', this.href);
$('.printfooter > a').attr('href', location.href).text(location.href);
$('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () {
let url = new URL(location.href);
url.searchParams.set(
'mobileaction',
mw.util.getParamValue('mobileaction', this.search)
);
return '//' + this.host + url.pathname + url.search;
});
$('#t-urlshortener > a').attr('href', function () {
let params = new URLSearchParams(this.search);
params.set('url', location.href);
return this.pathname + '?' + params;
});
}
redirect() {
if (this.config.wgAction !== mw.config.get('wgAction') ||
this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '')
) {
location.href = this.href;
throw 'redirect';
}
}
replaceContent(isPopState, isRefresh) {
let oldCont = document.querySelector(o.selector);
if (this.$cont.is(oldCont)) {
throw 'Attempt to replace content with itself';
}
if (!isPopState && !isRefresh) {
this.pushState();
}
$(oldCont).before(this.$cont).detach();
console.log(this.key, o);
this.setOuterEls();
this.setDocTitle();
this.setConfig();
if (isSearch && this.attached) {
let input = this.$cont[0].querySelector('#searchText > input');
if (input) {
input.value = input.defaultValue;
}
}
o.cur = this;
this.loadModules(isPopState);
this.updateLinks();
}
pushState() {
history.pushState({ _smpg: this.key }, '', this.href);
history.replaceState({ _smpg: this.key }, '', this.href);
}
async loadModules(isPopState) {
o.pending = true;
try {
await mw.loader.using(this.modules || []);
} catch {} finally {
o.pending = false;
if (!this.attached) {
this.fireHooks();
this.rerunModules();
}
if (!isPopState) {
this.scroll();
}
this.attached++;
}
}
fireHooks() {
mw.hook('wikipage.content').fire(this.$cont);
this.$cont.find('.diff[data-mw-interface]').each(function () {
mw.hook('wikipage.diff').fire($(this));
});
this.$cont.find('.catlinks[data-mw-interface]').each(function () {
mw.hook('wikipage.categories').fire($(this));
});
mw.hook('htmlform.enhance').fire(this.$cont);
}
rerunModules() {
o.reruns.forEach(m => {
let pack = mw.loader.moduleRegistry[m];
if (!pack || pack.state !== 'ready') return;
if (typeof pack.script === 'function') {
pack.script($, $, mw.loader.require, pack.module);
return;
}
delete mw.loader.moduleRegistry[m];
mw.loader.implement(
m + '@' + pack.version, pack.script, pack.style,
pack.messages, pack.templates, pack.deprecationWarning
);
});
if ((isHist || isContribs || isRc) && window.Twinkle) {
window.Twinkle.rollback();
}
}
scroll() {
let form = o.formSelector && this.$cont[0].querySelector(o.formSelector);
if (form) {
let y = form.getBoundingClientRect().bottom;
if (y < 0) {
window.scrollBy(0, y);
}
} else if (this.$cont[0].getBoundingClientRect().top < 0) {
this.$cont[0].scrollIntoView();
}
}
}
o.cur = new Page();
let getContent = async (href, state, options) => {
if (o.pending) return;
o.aborter?.abort();
let key = state?._smpg || getKey(href, !!options);
let isRefresh = key === o.cur.key;
if (state && isRefresh) return;
let oldCont = document.querySelector(o.selector);
if (!oldCont) {
notify(href, 'No element to replace', 'error');
return;
}
let page = o.pages.find(p => p.keys.has(key));
if ((state || !isRefresh) && page) {
page.href = href;
page.replaceContent(!!state, isRefresh);
return;
}
oldCont.classList.add('smoothpager-switching');
let $throbber = $('<div>').addClass('smoothpager-throbber')
.appendTo(document.body);
if (!isRefresh && o.pages.length === 1) {
o.cur.init();
}
o.aborter = new AbortController();
let url = href;
if (o.useRender) {
url = new URL(href, location.href);
url.searchParams.set('action', 'render');
}
let promise = fetch(url, Object.assign({
signal: o.aborter.signal
}, options));
if (notif) {
notif.close();
notif = null;
}
try {
let response = await (await promise).text();
if (page) {
page.href = href;
} else {
page = new Page(href, key);
}
page.init($($.parseHTML(response, !o.useRender)));
page.replaceContent(!!state, isRefresh);
} catch (e) {
if (e.name === 'AbortError') {
if (state && o.cur) {
o.cur.pushState();
}
} else if (e === 'redirect') {
notify(href, 'Redirecting...');
} else {
notify(href, e || `Couldn't load the page`, 'error');
console.error(e);
}
} finally {
o.aborter = null;
oldCont.classList.remove('smoothpager-switching');
$throbber.remove();
}
};
let notif;
let notify = async (href, msg, type) => {
notif = await mw.notify([
document.createTextNode(msg),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], {
autoHideSeconds: 'long',
tag: 'smoothpager',
type: type
});
};
let onClick = function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(o.linkSelector) || this.origin !== location.origin
) {
return;
}
e.preventDefault();
getContent(this.pathname + this.search);
};
let onKeyDown = e => {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
e.target.closest(':read-write')
) {
return;
}
switch (e.which) {
case 27:
o.aborter?.abort();
break;
case 110:
case 190:
e.preventDefault();
getContent(getHref());
}
};
let onPopState = e => {
let state = e.originalEvent.state;
if (state && !state._smpg) return;
history.replaceState(state, '', location.href);
getContent(getHref(), state || {});
};
let onSubmit = e => {
if (e.originalEvent && (
e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted
) || !o.canPost && e.target.method !== 'get' ||
!e.target.matches(o.formSelector)
) {
return;
}
let path = e.target.getAttribute('action');
let isScript = path === mw.config.get('wgScript');
let comps = [mw.config.get('wgPageName')];
if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) {
comps.push(comps[0].replace(/\/.*/, ''));
}
comps.push((comps[1] || comps[0]) + '/');
if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return;
let formData = new FormData(e.target);
if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) {
return;
}
e.preventDefault();
e.stopPropagation();
if (isSearch && e.target.id !== 'searchform') {
formData.set('search', OO.ui.infuse($('#searchText')).getValue());
} else if (e.target.method === 'post') {
let submitter = e.originalEvent?.submitter;
if (submitter?.name) {
formData.append(submitter.name, submitter.value);
}
getContent(path, null, {
method: 'POST',
headers: { 'Content-Type': e.target.enctype },
body: e.target.enctype === 'multipart/form-data'
? formData
: new URLSearchParams(formData)
});
return;
}
getContent(path + '?' + new URLSearchParams(formData));
};
let setPortlet = text => {
if (!o.portletLink) return;
$(o.portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = text;
return false;
}
});
};
o._enable = () => {
o.enabled = true;
let $body = $(document.body).on('click', 'a', onClick);
if (o.formSelector) {
$body.on('submit', onSubmit);
}
$body.parent().on('keydown', onKeyDown);
$(window).on('popstate', onPopState);
if (o.css) {
o.css.disabled = false;
}
if (isPerma) {
mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable);
}
setPortlet('Disable SmoothPager');
};
o._disable = () => {
o.enabled = false;
$(document.body).off('click', onClick).off('submit', onSubmit)
.parent().off('keydown', onKeyDown);
$(window).off('popstate', onPopState);
o.css.disabled = true;
mw.trackUnsubscribe(o._disable);
setPortlet('Enable SmoothPager');
};
o._enable();
o.css = mw.loader.addStyleTag(`${o.linkSelector},
.cdx-table__table__sort-button {
color: #008064 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):visited {
color: #006400 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):active {
color: #faa700 !important;
}
.cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon {
background-color: #14866d;
}
.smoothpager-switching {
opacity: 0.75;
}
.smoothpager-throbber {
width: 20%;
height: 0.5vh;
position: fixed;
top: 0;
left: 0;
background-color: var(--background-color-progressive, #36c);
transform: translate(-100%);
animation: smoothpager-throbber 1s infinite linear;
}
@keyframes smoothpager-throbber {
to {
transform: translate(700%);
}
}
@media (prefers-reduced-motion: reduce) {
.smoothpager-throbber {
animation: smoothpager-throbber 1s infinite steps(10,end) !important;
width: 40%;
}
}${o.formSelector ? `
:is(${o.formSelector}) input[type="submit"],
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: var(--color-inverted, #fff);
background-color: #14866d;
border-color: #14866d;
}
:is(${o.formSelector}) input[type="submit"]:hover,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-color: #00af89;
border-color: #00af89;
}
:is(${o.formSelector}) input[type="submit"]:focus,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
border-color: #14866d;
}
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff;
}
:is(${o.formSelector}) input[type="submit"]:active,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active {
background-color: #0e725a;
border-color: #0e725a;
box-shadow: none;
}` : ''}`);
await $.ready;
if (!document.getElementById('p-cactions')) return;
o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild;
o.portletLink.addEventListener('click', e => {
e.preventDefault();
o[o.enabled ? '_disable' : '_enable']();
});
});
window.smartdiffTemplates = [
{
names: ['T', 'Tl'],
namespace: 10,
forceNs: true,
end: 1
},
{
names: ['Tlx'],
namespace: 10,
end: 1
},
{
names: ['U'],
prefix: 'Special:Contributions/',
end: 1
},
{
names: ['Re', 'Reply to', 'Ping'],
prefix: 'Special:Contributions/'
},
{
names: ['About'],
start: 3,
skipEven: true
},
{
names: ['For'],
start: 2
},
{
names: ['Other uses', 'Otheruses'],
end: 1
},
{
names: ['Section link', 'Slink'],
end: 1
},
{
names: ['Redirect'],
skipEven: true,
noRedirectEnd: 1
},
{
names: ['Shortcut'],
noRedirectStart: 1
},
{
names: ['Tracked', 'Phab'],
prefix: 'phab:',
end: 1
},
{
names: [
'Distinguish',
'Main', 'Main article',
'Further',
'See also', 'Seealso'
]
},
{
names: ['Ll'],
end: 1
}
];
mw.loader.using([
'mediawiki.util', 'mediawiki.Title', 'mediawiki.api'
], function smartDiff() {
mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}');
class SmartDiff {
constructor($diff) {
this.$diff = $diff;
this.isSpecial = mw.config.get('wgNamespaceNumber') === -1;
this.isView = mw.config.get('wgAction') === 'view' &&
new URLSearchParams(location.search).get('diffonly') !== '1';
this.magicWords = [
'!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:',
'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME',
'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1',
'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN',
'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK',
'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:',
'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME',
'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:',
'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2',
'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1',
'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME',
'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:',
'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER',
'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES',
'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS',
'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:',
'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:',
'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:',
'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP',
'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR',
'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE',
'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:',
'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:',
'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:',
'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:',
'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:',
'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:'
];
if (window.smartdiffMagicWords) {
this.magicWords.push(...window.smartdiffMagicWords);
}
try {
this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages;
} catch (e) {}
if (!this.subNs) {
this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces'))
.map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns));
}
this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?<(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!>).*?>)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?<(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?>(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g;
this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:<|$))/g;
// https://commons.wikimedia.org/wiki/Special:MediaStatistics
this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi;
this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g;
if (window.smartdiffTemplates) {
this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g;
this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/;
this.templates = window.smartdiffTemplates;
}
this.side = 'old';
$diff.find('.diff-deletedline > div').get().forEach(this.processDiv);
this.side = 'new';
$diff.find('.diff-addedline > div').get().forEach(this.processDiv);
let $contexts = $diff.find('.diff-context > div');
$contexts.each((i, div) => {
if (i % 2) {
this.side = 'new';
if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) {
this.processDiv(div);
} else {
$contexts.eq(i).replaceWith($contexts.eq(i - 1).clone());
}
} else {
this.side = 'old';
this.propUsed = false;
this.processDiv(div);
}
});
this.links = {};
$diff.find('.smartdiff-link:not(.external)').each((i, link) => {
let title = link.title;
if (!title) return;
if (!this.links.hasOwnProperty(title)) {
this.links[title] = [];
}
this.links[title].push(link);
});
this.query(Object.keys(this.links).slice(0, 500));
if (this.hasError) {
mw.notify('SmartDiff error', { type: 'warn' });
}
}
processDiv = div => {
if (div.querySelector('a[href]')) return;
let origHtml = div.innerHTML;
let newHtml = origHtml.replace(this.urlRe, this.urlRep)
.replace(this.galleryRe, this.galleryRep)
.replace(this.re, this.rep).replace(this.headRe, this.headRep);
if (this.tempRe) {
newHtml = newHtml.replace(this.tempRe, this.tempRep);
}
if (newHtml === origHtml) return;
newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, '');
let $newDiv = $('<div>').html(newHtml);
if (this.detectErrors($newDiv, newHtml, origHtml, div)) return;
div.textContent = '';
$newDiv.contents().appendTo(div);
};
rep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s), isTemp;
if (t) {
if ($1.includes('invoke')) {
t = mw.Title.makeTitle(828, s);
} else if (s[0] === '/') {
if (this.subNs.includes(this.getProp('ns'))) {
t = mw.Title.newFromText(
this.getProp() + s.replace(/\/+$/, '')
);
} else if ($1[0] === '{') {
t.namespace = 10;
}
} else if ($1[0] === '{') {
if (s[0] === '#') {
return $0;
}
if ($1.includes('int')) {
t = mw.Title.makeTitle(8, s);
} else if (!t.namespace && s[0] !== ':') {
if (!$1.includes('msg') && !$1.includes('raw')) {
let match = s.match(/^[^:]+(?::(?=.)|$)/);
if (match && this.magicWords.includes(match[0])) {
return $0;
}
}
t.namespace = 10;
isTemp = true;
}
} else if ((this.isSpecial || !this.isView) && s[0] === '#') {
t.title = this.getProp();
}
} else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) {
let chunks = s.split('/');
let levelCount = chunks.findIndex(v => v !== '..');
let sup = this.getProp().split('/').slice(0, -levelCount).join('/');
if (sup) {
let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, '');
t = mw.Title.newFromText(sub ? sup + '/' + sub : sup);
}
}
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView || s[0] !== '#') {
attrs.title = t.toText();
}
if (isTemp && this.tempRe) {
let name = t.getMainText();
let idx = this.templates.findIndex(temp => temp.names.includes(name));
if (idx !== -1) {
attrs['data-smartdiff-temp'] = idx;
}
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
stripTags(s, decode, pre = '', post = '') {
let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g);
s = $($.parseHTML(s.replace(/&/g, '&'))).text();
if (decode) {
try {
s = decodeURIComponent(s);
} catch (e) {}
}
if (tags) {
if (tags[0][1] === '/') {
pre += tags[0];
mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid;
}
let lastTag = tags.pop();
if (lastTag[1] !== '/') {
mid += `</${lastTag.slice(1, 4)}>`;
post = lastTag + post;
}
}
return [s, pre, mid, post];
}
headRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1')
.replace(/''(.+?)''/g, '$1')
.replace(/^_+|_+$/g, '');
let t = mw.Title.newFromText(
`${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}`
);
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView) {
attrs.title = t.toText();
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
galleryRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s, 6);
if (t && t.namespace !== 6) {
t = mw.Title.makeTitle(6, s);
}
if (!t) {
return $0;
}
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(),
title: t.toText()
}).html(mid)[0].outerHTML + post;
};
urlRep = ($0, $1, $2, $3) => {
let main = $2, trail;
if (!$1) {
if (!$3) {
return $0;
}
let re = main.includes('(')
? /[!,.:;?](?:<[^>]*>)?$/
: /[!),.:;?](?:<[^>]*>)?$/;
let match = main.match(re);
if (match &&
!/&(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main)
) {
trail = match[0];
main = main.slice(0, -trail.length);
}
}
let [url, pre, mid, post] = this.stripTags(main);
if ($1) {
pre = $1 + pre;
} else if (trail) {
post += trail;
}
return pre + $('<a>').attr({
class: 'smartdiff-link external',
href: url,
rel: 'nofollow'
}).html(mid)[0].outerHTML + post;
};
tempRep = ($0, $1, $2, $3) => {
if ($3.includes('<a class="smartdiff-link')) {
return $0;
}
let temp = this.templates[$2];
return $1 + $3.split(this.tempSubRe).map((os, i) => {
if (!os || i % 2) {
return os;
}
let j = i / 2;
if (j < temp.start || j > temp.end ||
temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0
) {
return os;
}
let [s, pre, mid, post] = this.stripTags(os, true);
if (temp.prefix) {
s = temp.prefix + s;
}
if (temp.suffix) {
s += temp.suffix;
}
let t = temp.forceNs
? mw.Title.makeTitle(temp.namespace, s)
: mw.Title.newFromText(s, temp.namespace);
if (!t) {
return os;
}
let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) &&
{ redirect: 'no' };
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(params),
title: t.toText()
}).html(mid)[0].outerHTML + post;
}).join('');
};
getProp(n = 'pn', side = this.side) {
this.propUsed = true;
if (this[side]) {
if (this[side][n]) {
return this[side][n];
}
} else {
this[side] = {};
let link = this.$diff[0].querySelector(
side === 'old'
? '#mw-diff-otitle1 a, #differences-prevlink'
: '#mw-diff-ntitle1 a, #differences-nextlink'
);
if (link) {
let pn = mw.util.getParamValue('title', link.search);
this[side].pn = pn;
this[side].ns = mw.Title.newFromText(pn).namespace;
return this[side][n];
}
}
if (this[n]) {
return this[n];
}
if (this.isSpecial) {
this.pn = '';
this.ns = 0;
} else {
this.pn = mw.config.get('wgPageName');
this.ns = mw.config.get('wgNamespaceNumber');
}
return this[n];
}
query(titles) {
if (!titles.length) return;
new mw.Api().post({
action: 'query',
titles: titles.slice(0, 50),
iwurl: 1,
prop: 'info',
inprop: 'linkclasses',
inlinkcontext: this.getProp(),
formatversion: 2
}, {
headers: { 'Promise-Non-Write-API-Action': 1 }
}).then(response => {
let query = response && response.query;
if (!query) return;
let data = {};
(query.pages || []).forEach(page => {
let obj = { classes: page.linkclasses || [] };
if (page.missing && !page.known) {
obj.classes.push('new');
obj.params = { action: 'edit', redlink: 1 };
}
data[page.title] = obj;
});
(query.interwiki || []).forEach(interwiki => {
data[interwiki.title] = {
classes: ['extiw'],
url: interwiki.url
};
});
(query.normalized || []).forEach(entry => {
if (!data.hasOwnProperty(entry.to)) return;
let obj = data[entry.to];
obj.canonical = entry.to;
if (!obj.url) {
obj.url = mw.util.getUrl(entry.to, obj.params);
}
data[entry.from] = obj;
});
Object.entries(data).forEach(([title, obj]) => {
if (!this.links.hasOwnProperty(title)) return;
let $links = $(this.links[title]).addClass(obj.classes)
.attr('title', obj.canonical);
if (obj.url) {
$links.attr('href', function () {
return obj.url + this.hash;
});
}
});
this.query(titles.slice(50));
});
}
detectErrors($newDiv, newHtml, origHtml, div) {
let comp = $newDiv.html();
if (comp !== newHtml) {
console.warn(
'SmartDiff syntax error at:\n',
div,
`\nNew HTML:\n${newHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
let $comp = $newDiv.clone();
$comp.find('.smartdiff-link').contents().unwrap();
comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, '');
if (comp !== origHtml) {
console.warn(
'SmartDiff mutation error at:\n',
div,
`\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
}
}
mw.hook('wikipage.diff').add($diff => {
new SmartDiff($diff);
});
});
(function copySectLink() {
let dependencies = ['mediawiki.util'];
let classes = 'copysectlink';
let css;
switch (mw.config.get('skin')) {
case 'minerva':
classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet';
css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}';
break;
case 'timeless':
classes += ' mw-ui-icon-copy';
css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}';
}
if (css) {
mw.loader.addStyleTag(css);
dependencies.push('oojs-ui.styles.icons-editing-advanced');
}
let handler = function (e) {
e.preventDefault();
e.stopPropagation();
let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace(
/[\[\]{|}]/g,
s => '&#' + s.codePointAt(0) + ';'
) : '')).replace(/_/g, ' ');
let $input = $('<input>').attr({
type: 'text',
readonly: '',
style: 'position:fixed;top:-100%'
}).val(text).appendTo(document.body);
$input[0].select();
let copied;
try {
copied = document.execCommand('copy');
} catch (e) {}
$input.remove();
if (copied) {
mw.notify(`Copied "${text}"`);
} else {
mw.notify('Copy failed', { type: 'error' });
}
};
let addButton = (block, id) => {
let $button = $('<a>').attr({
class: classes + (id ? ' mw-selflink-fragment' : ''),
href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''),
role: 'button'
}).text('copy').on('click', handler);
if (mw.config.get('skin') === 'minerva') {
$button.attr('title', 'Copy').wrapInner('<span>')
.prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert'));
let wrapper = block.querySelector('.mw-editsection');
if (wrapper) {
$button.prependTo(wrapper);
} else {
$button.appendTo(block);
}
} else {
let bracket = block.querySelector('.mw-editsection-bracket:last-child');
if (bracket) {
$button.insertAfter(bracket);
} else {
$('<span>').addClass('mw-editsection').append(
$('<span>').addClass('mw-editsection-bracket').text('['),
$button,
$('<span>').addClass('mw-editsection-bracket').text(']')
).appendTo(block);
}
}
};
if (['view', 'purge'].includes(mw.config.get('wgAction'))) {
['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => {
let state = mw.loader.getState(m);
if (state && state !== 'registered') {
dependencies.push(m);
}
});
}
$.when($.ready, mw.loader.using(dependencies)).then(() => {
if (mw.config.get('wgNamespaceNumber') >= 0) {
addButton(document.getElementById('firstHeading'));
}
mw.hook('wikipage.content').add($content => {
$content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () {
addButton(this.parentElement, this.id);
});
$content.find(
':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]'
).each(function () {
addButton(this, this.id);
});
});
});
}());
mw.loader.using([
'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage'
], function ipaInput() {
if (!mw.libs.ve.isVisualAvailable &&
!['edit', 'submit'].includes(mw.config.get('wgAction'))
) {
return;
}
mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`);
let clicked;
let openDialog = () => {
if (clicked) {
if (window.ipaInputDialog) {
window.ipaInputDialog.open();
}
return;
}
clicked = true;
mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript');
mw.loader.using([
'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets',
'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core',
'oojs-ui.styles.icons-editing-advanced'
]);
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
ipainput: {
label: 'IPAInput',
type: 'button',
oouiIcon: 'schwa',
action: { type: 'callback', execute: openDialog }
}
}
});
});
mw.hook('ve.loadModules').add(addPlugin => {
addPlugin(() => {
ve.ui.IpaInputCommand = function VeUiIpaInputCommand() {
ve.ui.IpaInputCommand.super.call(this, 'ipaInput');
};
OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command);
ve.ui.IpaInputCommand.prototype.execute = () => {
openDialog();
return true;
};
ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand());
ve.ui.IpaInputTool = function VeUiIpaInputTool() {
ve.ui.IpaInputTool.super.apply(this, arguments);
};
OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool);
ve.ui.IpaInputTool.static.name = 'ipaInput';
ve.ui.IpaInputTool.static.group = 'insert';
ve.ui.IpaInputTool.static.icon = 'schwa';
ve.ui.IpaInputTool.static.title = 'IPA';
ve.ui.IpaInputTool.static.commandName = 'ipaInput';
ve.ui.toolFactory.register(ve.ui.IpaInputTool);
});
});
mw.requestIdleCallback(() => {
let expiry = mw.storage.get('_EXPIRY_ipainput-cache');
if (!expiry) return;
$.get(
'//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata'
).then(response => {
if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) {
mw.storage.remove('ipainput-cache');
}
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
(function wiktIpa() {
mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`);
let clicked, dialog, input, $result;
let openDialog = async context => {
if (clicked) {
if (dialog) {
let selection = context.$textarea.textSelection('getSelection');
if (selection) {
input.setValue(selection);
}
if ($result) {
$result.prev().addBack().remove();
$result = null;
}
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
}
return;
}
clicked = true;
await mw.loader.using([
'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi',
'mediawiki.util'
]);
let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({
action: 'query',
generator: 'search',
gsrsearch: 'deepcat:Pronunciation_templates_by_language',
gsrnamespace: 10,
gsrlimit: 'max',
gsrsort: 'none',
formatversion: 2
});
let winMan = new OO.ui.WindowManager();
dialog = new OO.ui.MessageDialog();
winMan.addWindows([dialog]);
let items = response.query.pages
.map(p => p.title.slice(9))
.sort(Intl.Collator('en-u-kn-true').compare)
.map(s => new OO.ui.MenuOptionWidget({ label: s }));
let dropdown = new OO.ui.DropdownWidget({
$overlay: dialog.$overlay,
menu: { items }
});
let $doc = $('<p>');
dropdown.getMenu().on('choose', mw.util.debounce(async item => {
let title = 'Template:' + item.getLabel();
let $link = $('<a>').attr({
href: '//en.wiktionary.org/wiki/' + title,
target: '_blank',
title: title
}).text('documentation');
$doc.empty().append('Loading ', $link, '...');
try {
let data = await $.get(
'//en.wiktionary.org/api/rest_v1/page/html/' +
encodeURIComponent(title + '/documentation')
);
let text = $($.parseHTML(data)).find('p').first().text()
.replace(/\. .*/, '.');
$doc.text(text + ' (').append($link.text('read more'), ')');
dialog.updateSize();
} catch {
$doc.empty().append('Failed to load ', $link);
}
}, 100)).selectItem(items[0]);
input = new OO.ui.TextInputWidget({
autocomplete: false,
value: context.$textarea.textSelection('getSelection') ||
mw.config.get('wgTitle')
});
let button = new OO.ui.ButtonWidget({
disabled: !input.getValue(),
label: 'Get',
flags: ['primary', 'progressive']
}).on('click', async () => {
button.setDisabled(true);
let template = dropdown.getMenu().findSelectedItem().getLabel();
let text = input.getValue();
try {
let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', {
wikitext: `{{${template}|1=${text}}}`,
body_only: true
});
if ($result) {
$result.children().remove();
} else {
$result = $('<div>').text('Result:')
.insertAfter(fieldset.$element)
.before('<hr>');
}
$result.append($.parseHTML(data))
.find('.mw-collapsible').makeCollapsible().end()
.find('[id], [about]').removeAttr('id about').end()
.find('a').attr('target', '_blank')
.filter('[href^="./"]').attr('href', (_, href) => (
'//en.wiktionary.org/wiki' + href.slice(1)
));
dialog.updateSize();
} catch {} finally {
button.setDisabled();
}
});
input.on('change', value => {
button.setDisabled(!value);
}).connect(button, { enter: ['emit', 'click'] });
let fieldset = new OO.ui.FieldsetLayout({
items: [
new OO.ui.FieldLayout(dropdown, {
label: 'Template:',
align: 'top'
}),
new OO.ui.FieldLayout(input, {
label: 'Input:',
align: 'top'
}),
new OO.ui.FieldLayout(button)
]
});
dropdown.$element.after($doc);
dialog.text.$element.append(fieldset.$element/*.on('keydown', e => {
e.stopPropagation();
})*/);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
wiktipa: {
label: 'WiktIPA',
type: 'button',
oouiIcon: 'wiktionary',
action: { type: 'callback', execute: openDialog }
}
}
});
});
}());
window.scripttesterSkipWarning = true;
mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() {
let get = () => new Set(mw.storage.getObject('scripttester'));
if (mw.storage.get('scripttester')) {
let unloading;
window.addEventListener('beforeunload', () => {
unloading = true;
});
get().forEach(async s => {
let isCss = /\.css$/i.test(s);
let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, {
action: 'raw',
ctype: isCss ? 'text/css' : 'text/javascript'
});
if (isCss) {
mw.loader.load(url, 'text/css');
return;
}
try {
await mw.loader.getScript(url);
} catch (e) {
if (unloading) {
console.warn(e);
return;
}
mw.notify('Failed to load temporarily installed ' + s, { type: 'error' });
}
});
} else if (!window.scripttesterSkipWarning) {
await mw.loader.using('oojs-ui-windows');
if (await OO.ui.confirm(
'You take full responsibility for any consequences arising from using ScriptTester.'
)) {
mw.storage.setObject('scripttester', []);
}
}
await $.ready;
if (!document.getElementById('p-tb')) return;
let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}');
let linksShown = mw.config.get('wgNamespaceNumber') > 0 &&
mw.config.get('wgAction') === 'view';
let updateLinks = (s, unins) => {
if (!linksShown) return;
$(`.scripttester-link[data-scripttester="${s}"]`)
.toggleClass('scripttester-installed', !unins);
};
let dialog, multiselect, addButton, removeButton, clearButton;
let openDialog = () => {
if (!dialog) {
dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] });
let winMan = new OO.ui.WindowManager();
winMan.addWindows([dialog]);
multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => {
removeButton.setDisabled(!multiselect.findSelectedItems().length);
});
addButton = new OO.ui.ButtonWidget({
label: 'Add'
}).on('click', async () => {
dialog.toggle(false);
let s = (await OO.ui.prompt('Add a script', {
textInput: { placeholder: 'Script page name or URL' }
})).trim();
if (!s) return;
if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) {
await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`);
dialog.toggle(true);
updateDialog();
return;
}
mw.storage.setObject('scripttester', [...get().add(s)]);
updateLinks(s);
});
removeButton = new OO.ui.ButtonWidget({
label: 'Remove'
}).on('click', () => {
let set = get();
multiselect.findSelectedItems().forEach(item => {
let s = item.getLabel();
set.delete(s);
updateLinks(s, true);
});
mw.storage.setObject('scripttester', [...set]);
updateDialog();
});
clearButton = new OO.ui.ButtonWidget({
label: 'Clear',
flags: 'destructive'
}).on('click', async () => {
dialog.toggle(false);
if (!(await OO.ui.confirm('Uninstall all scripts?'))) {
dialog.toggle(true);
return;
}
mw.storage.setObject('scripttester', []);
if (linksShown) {
$('.scripttester-installed').removeClass('scripttester-installed');
}
dialog.toggle(true);
updateDialog();
});
dialog.text.$element.append(
multiselect.$element,
new OO.ui.ButtonGroupWidget({
items: [addButton, removeButton]
}).$element,
clearButton.$element
);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
}
updateDialog();
dialog.open({
message: 'Temporarily installed scripts:',
actions: [{ label: 'Done', flags: ['safe', 'close'] }]
});
};
let updateDialog = () => {
let set = get();
multiselect.clearItems().addItems(
[...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s }))
);
removeButton.setDisabled(true);
clearButton.toggle(set.size);
dialog.updateSize();
updatePortlet(set.size);
};
let updatePortlet = count => {
$(portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = `Temporarily installed scripts (${count})`;
return false;
}
});
};
let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`)
.firstElementChild;
portletLink.addEventListener('click', e => {
e.preventDefault();
mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog);
});
window.addEventListener('storage', e => {
if (e.key === 'scripttester') {
updatePortlet(get().size);
}
});
if (!linksShown) return;
css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}';
let linkHandler = function () {
let s = this.dataset.scripttester;
let unins = this.classList.contains('scripttester-installed');
let set = get();
set[unins ? 'delete' : 'add'](s);
let success = mw.storage.setObject('scripttester', [...set]);
if (success) {
mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, {
tag: 'scripttester'
});
updateLinks(s, unins);
updatePortlet(set.size);
} else {
mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, {
tag: 'scripttester',
type: 'error'
});
}
};
if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) &&
['javascript', 'css'].includes(mw.config.get('wgPageContentModel'))
) {
let s = mw.config.get('wgPageName').replaceAll('_', ' ');
$('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
).appendTo(document.getElementById('firstHeading'));
return;
}
mw.hook('wikipage.content').add($content => {
let set = get();
let ns = mw.config.get('wgFormattedNamespaces');
let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`);
$content.find('a:not(.external, .new)').after(function () {
let s = this.title;
if (!s || !re.test(s)) return;
return $('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
);
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.on('keydown', async e => {
if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return;
e.preventDefault();
let context = $textarea.data('wikiEditorContext');
context.api.openDialog(context, 'search-and-replace');
await mw.loader.using('jquery.textSelection');
let tb = document.getElementById('wikieditor-toolbar-replace-search');
let sel = $textarea.textSelection('getSelection');
if (sel) {
tb.value = sel;
}
tb.focus();
});
$(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => {
$textarea[0].focus();
});
});
mw.config.get('wgNamespaceNumber') &&
mw.config.get('wgAction') !== 'history' &&
(function catChangeHighlighter() {
let run;
mw.hook('wikipage.content').add($content => {
$content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () {
let text = this.querySelector('.comment').textContent;
if (text.includes(' added ')) {
this.classList.add('catchangehighlighter-addition');
} else if (text.includes(' removed ')) {
this.classList.add('catchangehighlighter-removal');
}
if (run) return;
run = true;
mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}');
});
});
}());
(mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' ||
[-1, 14].includes(mw.config.get('wgNamespaceNumber'))) &&
(function diffFontSwitcher() {
mw.loader.addStyleTag('.diff-lineno{cursor:pointer}');
$(document.body).on('click keydown', '.diff-lineno', function (e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
this.closest('.diff').classList.toggle('difffontswitcher-enabled');
});
mw.hook('wikipage.diff').add($diff => {
$diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' });
});
}());
mw.trackSubscribe('resourceloader.exception', (topic, data) => {
mw.notify(data.exception, {
autoHide: false,
title: `Exception in ${data.source} in module ${data.module}`,
type: 'warn'
});
});
mw.config.get('skin') === 'vector-2022' &&
$(document).one('click', '.mw-interlanguage-selector', async () => {
await mw.loader.using('ext.uls.mediawiki');
$.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow';
mw.uls.getFrequentLanguageList = () => [];
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's');
c45ta5baws2wilz1qgxv883hay4yecx
747594
747593
2026-06-19T06:08:42Z
Nardog
40946
747594
javascript
text/javascript
/* globals ve */
// window.dn?.disable?.();
window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff';
(mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') &&
mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() {
let isHist = mw.config.get('wgAction') === 'history';
let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`;
let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch';
let diffs = [], count = 0, expanded = new WeakSet();
window.dn = diffs;
let sanitize = href => {
let url = new URL(href, location.href);
let newParams = new URLSearchParams(), hasId;
['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => {
if (url.searchParams.has(k)) {
let v = url.searchParams.get(k);
newParams.set(k, v);
hasId = hasId || v > 0;
}
});
if (!hasId && url.searchParams.has('title')) {
return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`;
}
return String(newParams);
};
let getDiff = comp => {
if (typeof comp === 'string') {
let sanitized = sanitize(comp);
return diffs.find(diff => (
diff.queries.has(comp) || diff.queries.has(sanitized)
));
}
return diffs.find(diff => diff.$diff.is(comp));
};
let containers = [];
window.dn._c = containers;
class Diff {
constructor(href, $link) {
this.aborter = new AbortController();
this.queries = new Set();
this.setLink(href, $link);
diffs.push(this);
}
setLink(href, $link) {
if (this.href) {
if ($link.is(this.$link)) {
if (this.aborter) {
this.aborter.abort();
} else if (this.isVisible()) {
this.close();
} else {
this.$anchor = this.getAnchor();
this.append();
}
return;
}
if ($link.is(this.$outerLink) && this.isVisible()) {
this.close();
return;
}
if (this.getAnchor($link).is(this.$anchor)) {
this.markLink(false);
} else {
this.close();
}
}
this.href = href;
this.queries.add(href);
let sanitized = sanitize(href);
if (sanitized) {
this.queries.add(sanitized);
}
this.$link = $link;
this.isSwitch = $link.is(switchSelector);
if (!this.isSwitch) {
this.$outerLink = $link;
}
this.$anchor = this.getAnchor();
if (this.aborter) {
this.markLink();
} else {
this.append();
}
}
append(response) {
if (response) {
delete this.aborter;
this.findDiff(response);
this.setQueries();
this.polishDiff();
}
let $container = this.getContainer(true);
if (!$container[0].isConnected) {
if (this.$anchor.is('tr')) {
let cols = this.$anchor.children().get()
.reduce((acc, cell) => acc + cell.colSpan, 0);
$('<tr>').addClass('diffnow-row').append(
$('<td>').attr('colspan', cols).append($container)
).insertAfter(this.$anchor);
} else if (this.$anchor.is('div')) {
this.$anchor.after($container);
} else {
this.$anchor.append($container);
}
}
this.attached = true;
filterContexts(this.$diff);
window.addEventListener('resize', onResize);
if (!this.$link.hasClass('diffnow-link-loaded')) {
mw.requestIdleCallback(() => {
this.markLinks();
this.markSeen();
});
}
if ($container[0].getBoundingClientRect().top < 0) {
$container[0].scrollIntoView();
}
this.markLink(true);
if (response) {
mw.hook('wikipage.content').fire($container);
}
}
findDiff(response) {
if (typeof response !== 'string') throw '';
let $diff = $($.parseHTML(response))
.filter('.diff[data-mw-interface]');
if (!$diff.length) {
$diff = $diff.end().find('.diff[data-mw-interface]');
if (!$diff.length) throw '';
}
this.$diff = $($diff[0]);
}
setQueries() {
let newPerma = this.$diff[0].querySelector(
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (newPerma) {
this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search));
this.newTitle = newPerma.title;
}
let oldPerma = this.$diff[0].querySelector(
'#mw-diff-otitle1 > strong > a, #differences-prevlink'
);
if (oldPerma) {
this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search));
this.oldTitle = oldPerma.title;
}
let isSamePage = !oldPerma || this.newTitle === this.oldTitle;
this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi');
if (this.newId) {
if (this.newId === this.oldId) {
throw 'nonfatal';
}
if (this.oldId) {
this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`);
}
this.isLast = !this.$diff[0].querySelector('#differences-nextlink');
if (this.isSingle) {
this.queries.add(`diff=prev&oldid=${this.newId}`);
if (this.isLast && this.oldId) {
this.queries.add(`diff=0&oldid=${this.oldId}`);
this.queries.add(`diff=cur&oldid=${this.oldId}`);
}
}
}
if (this.oldId && this.isSingle) {
this.queries.add(`diff=next&oldid=${this.oldId}`);
}
this.queries.forEach(q => {
let other = getDiff(q);
if (other && other !== this) {
other.setLink(this.href, this.$link);
throw 'nonfatal';
}
});
if (this.oldId) {
diffs.forEach(diff => {
if (diff.isLast && diff.newId === this.oldId) {
diff.markNotLast(this);
}
});
}
}
async polishDiff() {
mw.hook('wikipage.diff').fire(this.$diff);
let prevLink = this.$diff[0].querySelector('#differences-prevlink');
let nextLink = this.$diff[0].querySelector('#differences-nextlink');
$([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => (
href.replace('&diffonly=1', '').replace('&expand-url=1', '')
));
[['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => {
if (link && !mw.messages.exists(key)) {
mw.messages.set(key, link.textContent);
}
});
if (!nextLink && this.isLast) {
this.$diff.find('#mw-diff-ntitle4').empty().append(
$('<a>').attr({
class: 'diffnow-checknext diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'next',
oldid: this.newId
}),
title: this.newTitle
}).text('Check for newer edit')
);
}
this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right')
.attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`);
this.$diff.find('a[name^="movedpara"]')
.attr('name', (_, name) => `diffnow-${count}-${name}`);
count++;
this.$diff.find('[id]').addClass(function () {
return 'diffnow-' + this.id;
}).removeAttr('id');
if (this.$diff[0].querySelector('.mw-thanks-thank-link')) {
mw.loader.load('ext.thanks.corethank');
mw.config.set('thanks-confirmation-required', true);
}
if (!this.isSingle) {
let keys = ['nextdiff', 'previousdiff']
.filter(s => !mw.messages.exists(s));
if (keys.length) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(keys);
}
this.$diff.find('.diff-multi').append(
$('<div>').append(
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multinext diffnow-switch',
href: mw.util.getUrl(this.oldTitle, {
diff: 'next',
oldid: this.oldId
}),
title: this.oldTitle
}).text(mw.msg('nextdiff'))
),
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multiprev diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'prev',
oldid: this.newId
}),
title: this.newTitle
}).text(mw.msg('previousdiff'))
)
)
);
}
}
getAnchor($link) {
let isSwitch;
if ($link) {
isSwitch = $link.is(switchSelector);
} else {
$link = this.$link;
isSwitch = this.isSwitch;
}
if (isSwitch) {
return getDiff($link.closest('.diff')).$anchor;
}
return $link.closest('li, tr, .mw-history-compareselectedversions');
}
getContainer(create) {
let $container = this.$anchor.is('tr')
? this.$anchor.next('.diffnow-row').find('> td > .diffnow')
: this.$anchor.is('div')
? this.$anchor.next('.diffnow')
: this.$anchor.children('.diffnow');
if (create) {
if ($container.length) {
this.attachDiff($container);
} else {
$container = this.createContainter();
}
}
return $container;
}
attachDiff($container) {
let $oldDiff = $container.children('.diff');
if (!$oldDiff.is(this.$diff)) {
if ($oldDiff.length) {
getDiff($oldDiff).detachDiff();
}
$container.children('.diffnow-tools-top').after(this.$diff);
}
$container.find('.diffnow-difflink').attr('href', this.href);
}
createContainter() {
let $container = containers.pop();
if ($container) {
this.attachDiff($container);
return $container;
}
return $('<div>').addClass('diffnow').append(
$('<div>').addClass('diffnow-tools diffnow-tools-top').append(
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-collapse',
title: 'Hide this diff'
})
),
this.$diff,
$('<div>').addClass('diffnow-tools diffnow-tools-bottom').append(
$('<button>').attr({
class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse',
title: 'Scroll to top'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand',
title: 'Scroll to bottom'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-close',
title: 'Hide this diff'
}),
$('<a>').attr({
class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive',
href: this.href,
target: '_blank',
title: 'Open diff page'
})
)
)
.on('click', '.diffnow-close', this.collapse)
.on('click', '.diffnow-scrollup', this.scrollUp)
.on('click', '.diffnow-scrolldown', this.scrollDown)
.on(
'click keydown',
'.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker',
this.toggleContext
);
}
isVisible() {
return !!this.$diff?.[0].offsetParent;
}
markLink(visible = this.isVisible()) {
if (this.isSwitch) {
this.getContainer().toggleClass('diffnow-switching', !!this.aborter);
if (!this.$outerLink) return;
}
this.$outerLink
.toggleClass('diffnow-link-loading', !!this.aborter)
.toggleClass('diffnow-link-loaded', !this.aborter)
.toggleClass('diffnow-link-open', !this.isSwitch && visible);
}
markLinks() {
$(selector).filter((_, link) => {
let href = link.getAttribute('href');
return this.queries.has(href) || this.queries.has(sanitize(href));
}).addClass('diffnow-link-loaded');
if (!isHist) return;
$('.mw-history-compareselectedversions-button').toggleClass(
'diffnow-link-loaded',
!!getDiff(getHistHref())
);
}
markSeen() {
if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) {
this.$anchor.nextAll().addBack()
.removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched');
return;
}
let $li = this.$anchor.closest('li, table');
let $unseen = $li.filter('.mw-changeslist-watchedunseen')
.add($li.find('.mw-changeslist-watchedunseen'));
if (!$unseen.length) return;
$unseen.removeClass('mw-changeslist-watchedunseen')
.addClass('mw-changeslist-watchedseen');
$li.filter('.mw-changeslist-line-watched')
.add($li.find('.mw-changeslist-line-watched'))
.removeClass('mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-line-not-watched');
}
async markNotLast(newDiff) {
this.isLast = false;
this.queries = new Set([...this.queries].filter(q => (
!/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q)
)));
this.$diff.find(
'.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted'
).first().text(
newDiff.$diff.find(
'#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted'
).first().text()
);
this.$diff.find('.diff-ntitle .mw-diff-edit a')
.attr('href', (_, href) => href + '&oldid=' + this.newId);
if (!mw.messages.exists('nextdiff')) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(['nextdiff']);
}
this.$diff.find('.diffnow-checknext')
.attr('class', 'diffnow-differences-nextlink')
.text(mw.msg('nextdiff'));
}
detachDiff() {
this.$diff?.detach();
this.markLink(false);
}
close(adjustFocus) {
this.detachDiff();
let $container = this.getContainer();
if ($container.length) {
let $row = $container.closest('.diffnow-row');
containers.push($container.detach());
$row.remove();
}
if (!adjustFocus) return;
setTimeout(() => {
this.$anchor.find('a[href]').last().each(function () {
this.focus();
this.blur();
});
});
}
collapse(e) {
e.preventDefault();
let $container = $(e.delegateTarget);
let diff = getDiff($container.children('.diff'));
if (diff.$link[0].getBoundingClientRect().top < 0) {
diff.$anchor[0].scrollIntoView();
$container.fadeOut('fast', () => {
diff.close(true);
setTimeout(() => {
diff.$anchor[0].scrollIntoView();
$container.removeAttr('style');
});
});
} else {
diff.close(true);
}
}
scrollUp(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().top;
let ch = document.documentElement.clientHeight, buffer = ch / 2;
y -= y + 5 > buffer ? ch : buffer;
window.scrollBy({ top: y, behavior: 'smooth' });
}
scrollDown(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().bottom;
let buffer = document.documentElement.clientHeight / 2;
if (y - 5 > buffer) {
y -= buffer;
}
window.scrollBy({ top: y, behavior: 'smooth' });
}
toggleContext(e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
let $row = $(e.target.closest('tr'));
if ($row.hasClass('diffnow-context-expanded')) {
$row.removeClass('diffnow-context-expanded')
.addClass('diffnow-context-collapsed')
.children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
expanded.delete($row[0]);
} else {
$row.removeClass('diffnow-context-collapsed')
.addClass('diffnow-context-expanded')
.children('.diff-context').removeAttr('tabindex role title')
.siblings('.diff-marker').attr('title', 'Collapse');
expanded.add($row[0]);
}
}
destroy() {
diffs.splice(diffs.indexOf(this), 1);
this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open');
this.getContainer().removeClass('diffnow-switching');
}
}
let filterContexts = $diff => {
$diff.find('.diff-context.diff-side-deleted > div').each(function () {
let $row = $(this.closest('tr'))
.removeClass('diffnow-context-expanded');
if (this.scrollHeight > this.clientHeight) {
if (expanded.has($row[0])) {
$row.addClass('diffnow-context-expanded')
.children('.diff-marker').attr({
tabindex: 0,
role: 'button',
title: 'Collapse'
});
} else {
$row.addClass('diffnow-context-collapsed').children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
}
} else {
$row.removeClass('diffnow-context-collapsed')
.children().removeAttr('tabindex role title');
}
});
};
let onResize = mw.util.debounce(() => {
filterContexts($('.diffnow > .diff'));
}, 250);
let notif;
let showError = async (href, msg) => {
notif = await mw.notify([
document.createTextNode(msg || `Couldn't load the diff`),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' });
};
let getHistHref = () => {
let formData = new FormData(document.getElementById('mw-history-compare'));
return mw.util.getUrl(null, {
diff: formData.get('diff'),
oldid: formData.get('oldid')
});
};
$(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(selector) && !this.matches(switchSelector)
) {
return;
}
e.preventDefault();
let $link = $(this);
let isCompare = $link.hasClass('mw-history-compareselectedversions-button');
let href = isCompare ? getHistHref() : this.pathname + this.search;
let diff = getDiff(href);
try {
if (diff) {
diff.setLink(href, $link);
return;
}
if (!isCompare && this.origin !== location.origin) {
throw '';
}
diff = new Diff(href, $link);
let url = new URL(href, location.href);
url.searchParams.set('diffonly', 1);
url.searchParams.set('action', 'render');
let promise = fetch(url, { signal: diff.aborter.signal });
mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']);
if (notif) {
notif.close();
notif = null;
}
diff.append(await (await promise).text());
} catch (error) {
if (diff && !diff.attached) {
diff.destroy();
}
if (error.name === 'AbortError') {
notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' });
} else if (error !== 'nonfatal') {
showError(href, error);
console.error(error);
}
}
});
let css = mw.loader.addStyleTag(`${selector} {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
background-position: right;
background-repeat: no-repeat;
background-size: 10px 10px;
padding-right: 12px;
}
.mw-history-compareselectedversions-button {
background-position: right 6px center;
background-size: 14px 14px;
padding-right: 24px !important;
}
.skin-timeless .mw-history-compareselectedversions-button {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg);
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important;
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important;
}
.diffnow-link-loading {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important;
}
.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important;
}
.diffnow-link-open, .diffnow-context-expanded > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important;
}
.diffnow {
background: var(--background-color-base, #fff);
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 4px;
position: relative;
}
.mw-history-compareselectedversions + .diffnow {
margin-top: 0.3em;
}
.diffnow-tools {
display: flex;
position: sticky;
background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65));
z-index: 1;
}
.diffnow-tools-top {
top: 0;
border-radius: 4px;
}
.diffnow-tools-bottom {
bottom: 0;
}
.diffnow-tools > .diffnow-button {
cursor: pointer;
height: 24px;
padding: 0;
box-sizing: content-box;
background-position: center;
background-repeat: no-repeat;
background-size: 16px 16px;
background-color: var(--background-color-transparent, transparent);
flex-grow: 1;
}
.diffnow-tools > .diffnow-button:hover {
background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027));
}
.diffnow-tools > .diffnow-button:active {
background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082));
}
.diffnow-tools-top > .diffnow-button {
border: none;
border-radius: 3px 3px 0 0;
}
.diffnow-tools-bottom > .diffnow-button {
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 99px;
margin: 4px;
height: 20px;
}
.diffnow-switching > .diff {
transition: opacity 200ms;
opacity: 0.4;
}
.diffnow-checknext, .diffnow-checknext:visited {
color: var(--color-subtle, #54595d);
}
.diffnow :not(.diffnow-context-expanded) > .diff-context > div {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.diffnow-context-collapsed > td,
.diffnow-context-expanded > .diff-marker {
cursor: pointer !important;
background-position: center;
background-repeat: no-repeat;
background-size: 12px 12px;
}
.diffnow-context-collapsed > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
}
.diffnow-context-collapsed > .diff-context a {
pointer-events: none;
}
.diffnow .diff-multi > div {
display: flex;
justify-content: space-around;
}
.diffnow > .diff td div {
word-break: break-word;
}
.diffnow .mw-diff-inline-changed ins,
.diffnow .mw-diff-inline-changed del {
white-space: pre-wrap;
}
.diffnow-row .diffnow {
border: none;
}
.diffnow-row > td {
padding: 0 !important;
}
td.mw-changeslist-line-inner {
width: 100%;
}
.mw-enhanced-rc .diffnow > .diff td {
padding: 0.33em 0.5em;
}
.cdx-table__table-wrapper:has(.diffnow-row) {
overflow-x: visible;
}
span.mw-history-histlinks-current,
span.mw-history-histlinks-previous {
padding-right: 12px;
}
.client-js .diffnow .mw-anonuserlink {
padding-right: 0;
}`);
mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']);
diffs._disable = () => {
$(document.body).off('.diffnow');
css.remove();
};
if (isHist) {
$(document.body).on('change.diffnow', '#mw-history-compare', function () {
let $buttons = $('.mw-history-compareselectedversions-button');
let diff = getDiff(getHistHref());
if (diff) {
$buttons.addClass('diffnow-link-loaded');
if ($buttons.is(diff.$link) && diff.isVisible()) {
diff.$link.addClass('diffnow-link-open');
} else {
$buttons.removeClass('diffnow-link-open');
}
} else {
$buttons.removeClass('diffnow-link-loaded diffnow-link-open');
}
});
}
let added, tempLoaded, ipInfoLoaded;
mw.hook('wikipage.content').add(async () => {
await new Promise(mw.requestIdleCallback);
if (!document.querySelector(selector)) return;
let modules = ['mediawiki.diff', 'mediawiki.diff.styles'];
let cspn = mw.config.get('wgCanonicalSpecialPageName');
let loadTemp = !tempLoaded &&
Number(mw.user.options.get('checkuser-temporary-account-enable')) &&
!['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn);
if (loadTemp) {
modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles');
}
if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) {
modules.push('ext.checkUser.userInfoCard');
}
let loadIpInfo;
if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) {
modules.push('ext.ipInfo', 'ext.ipInfo.styles');
loadIpInfo = !ipInfoLoaded &&
['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn);
}
let promise = mw.loader.using(modules);
if (loadTemp || loadIpInfo) {
tempLoaded = loadTemp;
ipInfoLoaded = loadIpInfo;
await promise;
// https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js
let makeRequire = (moduleObj, basePath) => moduleName => {
let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/);
if (!relParts) {
return mw.loader.require(moduleName);
}
let baseDirParts = basePath.split('/');
baseDirParts.pop();
let prefixes = relParts[1].split('/');
prefixes.pop();
let prefix;
while ((prefix = prefixes.pop())) {
if (prefix === '..') {
baseDirParts.pop();
}
}
let fileName = baseDirParts.join('/');
if (fileName) {
fileName += '/';
}
fileName += relParts[2];
if (Object.hasOwn(moduleObj.packageExports, fileName)) {
return moduleObj.packageExports[fileName];
}
let scriptFiles = moduleObj.script.files;
if (!Object.hasOwn(scriptFiles, fileName)) {
throw Error('Cannot require undefined file ' + fileName);
}
let result;
let fileContent = scriptFiles[fileName];
if (typeof fileContent === 'function') {
let moduleParam = { exports: {} };
fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports);
result = moduleParam.exports;
} else {
result = fileContent;
}
moduleObj.packageExports[fileName] = result;
return result;
};
if (loadTemp) {
try {
let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts'];
makeRequire(pack, pack.script.main)('./initOnHook.js')();
} catch {}
}
if (loadIpInfo) {
try {
let pack = mw.loader.moduleRegistry['ext.ipInfo'];
makeRequire(pack, pack.script.main)('./popup/init.js')();
} catch {}
}
}
if (added || !document.getElementById('p-cactions')) return;
added = true;
let callback = (records, observer) => {
if (records[0].target.classList.contains('diffnow-link-loaded')) {
observer.takeRecords();
observer.disconnect();
clickFirst();
}
};
let clickFirst = () => {
let link = document.querySelector(selector);
if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) {
return;
}
new MutationObserver(callback).observe(link, { attributeFilter: ['class'] });
link.click();
};
mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => {
e.preventDefault();
clickFirst();
});
});
});
// window.smpg?._disable?.();
mw.loader.using('mediawiki.util', async function smoothPager() {
let action = mw.config.get('wgAction');
let isHist = action === 'history';
let isPerma = action === 'view' &&
['oldid', 'diff'].some(s => mw.util.getParamValue(s));
let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber');
let isFile = ns === 6;
let isCat = ns === 14;
let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName');
if (!(isHist || isPerma || isFile || isCat || cspn)) return;
let isSearch = cspn === 'Search';
let isWl = cspn === 'Watchlist';
let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked';
if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) {
return;
}
let isContribs = cspn === 'Contributions' || cspn === 'IPContributions';
let o = {
useRender: isCat || isWl || isRc,
selector: isPerma ? '#bodyContent' :
isFile ? '#mw-imagepage-section-filehistory' :
isCat ? '.mw-category-generated' :
'#mw-content-text',
outerSelectors: [],
linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' :
isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' :
isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' :
isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' :
`#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`,
canPost: isSearch || [
'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox'
].includes(cspn),
paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ ||
isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/,
reruns: [
'mediawiki.action.history',
'mediawiki.special.search',
'ext.advancedSearch.init',
'mediawiki.special.watchlist',
'mediawiki.special.watchlistedit',
'mediawiki.pager.codex',
'mediawiki.misc-authed-curate',
'mediawiki.misc-authed-ooui',
'mediawiki.misc-authed-pref',
'mediawiki.special.unwatchedPages',
'ext.thanks.corethank',
'ext.flaggedRevs.review',
'ext.gadget.watchlist-notice-core'
],
pages: []
};
if (isContribs) {
o.reruns.push('ext.ipInfo');
}
if (!o.useRender) {
o.outerSelectors.push('#firstHeading', '.mw-indicators');
if (!isPerma && !isFile) {
o.outerSelectors.push('#mw-content-subtitle');
}
}
o.formSelector = isHist && '#mw-history-searchform' ||
isSearch && '#search, #powersearch, #searchform' ||
cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`;
if (o.formSelector) {
o.formSelector += ', .cdx-table-pager__limit-form';
}
window.smpg = o;
let getHref = () => location.pathname + location.search;
let getKey = (href, isPost) => {
if (o.paramRe) {
let params = new URLSearchParams();
new URL(href, location.href).searchParams.forEach((v, k) => {
if (o.paramRe.test(k)) {
params.set(k, v);
}
});
params.sort();
return String(params);
}
if (isPost) {
return href + '??' + Date.now();
}
return href;
};
class Page {
constructor(href, key) {
this.href = href || getHref();
this.key = key || getKey(this.href);
this.keys = new Set().add(this.key);
o.pages.push(this);
}
init($response) {
if ($response) {
if (isWl || isRc) {
this.$cont = $(document.querySelector(o.selector).cloneNode())
.removeClass('smoothpager-switching')
.append($response);
} else {
let $cont = $response.filter(o.selector).not('script');
if (!$cont.length) {
$cont = $response.find(o.selector).not('script');
if (!$cont.length) {
throw 'Content not found';
}
}
$cont.find('script').remove();
this.$cont = $($cont[0]);
}
this.attached = 0;
} else {
if (this.$cont) return;
this.$cont = $(document.querySelector(o.selector));
this.attached = 1;
}
this.getConfigAndModules($response);
this.getOuterEls($response);
this.getDocTitle($response);
this.getRev($response);
}
getConfigAndModules($response) {
if (o.useRender) return;
if (!$response) {
this.config = Object.assign({}, window.RLCONF);
}
let $scripts = $response
? $response.filter('script').remove()
: $('head > script, body > script');
$scripts.map(function () {
return this.textContent.match(/\bmw\.config\.set\({.+}\);/g);
}).each((_, s) => {
let obj;
do {
try {
obj = JSON.parse(s.slice(14, -2));
} catch {
let i = s.slice(0, -3).lastIndexOf('});');
if (i === -1) return;
s = s.slice(0, i + 3);
}
} while (!obj);
this.config = Object.assign(this.config || {}, obj);
});
if (!$response) return;
let match = $scripts.first().text().replaceAll('\n', '')
.match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/);
if (match) {
try {
this.config = Object.assign(this.config || {}, JSON.parse(match[1]));
} catch {}
this.modules = [];
try {
this.modules.push(...Object.keys(JSON.parse(match[2])));
} catch {}
try {
this.modules.push(...JSON.parse(match[3]));
} catch {}
}
this.redirect();
}
setConfig() {
if (!this.config) return;
mw.config.set(this.config);
if (!o.cur.config) return;
Object.entries(o.cur.config).forEach(([k, v]) => {
if (!Object.hasOwn(this.config, k) &&
JSON.stringify(mw.config.get(k)) === JSON.stringify(v)
) {
delete mw.config.values[k];
}
});
}
getOuterEls($response) {
this.outerEls = o.outerSelectors.map(selector => (
$response ? $response.find(selector)[0] : document.querySelector(selector)
)).map(el => el && !this.$cont[0].contains(el) && el);
}
setOuterEls() {
o.outerSelectors.forEach((selector, i) => {
let outer = document.querySelector(selector);
if (!outer) return;
$(outer).before(this.outerEls[i] || outer.cloneNode()).detach();
});
}
getDocTitle($response) {
if (o.useRender) return;
if ($response) {
let $title = $response.filter('title');
if ($title.length) {
this.docTitle = $title.text();
}
} else {
this.docTitle = document.title;
}
}
setDocTitle() {
if (this.docTitle) {
document.title = this.docTitle;
} else if (this.outerEls[0] && o.cur.outerEls?.[0]) {
document.title = document.title.replace(
o.cur.outerEls[0].textContent.trim(),
this.outerEls[0].textContent.trim()
);
}
}
getRev($response) {
if (!isPerma) return;
let params = new URLSearchParams(this.key);
if (params.has('diff')) {
if ($response) {
let dir = params.get('diff') === 'next' ? 'prev' : 'next';
let id = this.config?.[
dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId'
];
if (!id) {
id = this.findParam(
'oldid',
dir === 'prev'
? '#mw-diff-ntitle1 > strong > a, #differences-prevlink'
: '#mw-diff-otitle1 > strong > a, #differences-nextlink'
);
}
if (id) {
this.rev = dir === 'prev' ? id : params.get('oldid');
params.set('diff', dir);
params.set('oldid', id);
this.keys.add(String(params));
}
} else {
this.rev = mw.config.get('wgDiffNewId');
let pn = this.findParam(
'title',
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (pn === mw.config.get('wgPageName') &&
!this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi')
) {
params.set('diff', 'prev');
params.set('oldid', this.rev);
this.keys.add(String(params));
let oldId = mw.config.get('wgDiffOldId');
if (oldId) {
params.set('diff', 'next');
params.set('oldid', oldId);
this.keys.add(String(params));
}
}
}
} else {
if ($response) {
if (params.has('direction')) {
let id = this.config?.wgRevisionId;
if (!id) {
id = this.findParam(
'oldid',
'#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink',
$response
);
}
if (id) {
this.rev = id;
this.keys.add('oldid=' + id);
o.cur.keys.add(`direction=${
params.get('direction') === 'next' ? 'prev' : 'next'
}&oldid=${id}`);
}
} else {
this.rev = params.get('oldid');
}
} else {
this.rev = mw.config.get('wgRevisionId');
if (params.has('direction')) {
this.keys.add('oldid=' + this.rev);
}
}
}
}
findParam(param, query, $range = this.$cont) {
let search = $range.find(query).prop('search');
return search && mw.util.getParamValue(param, search);
}
updateLinks() {
if (this.rev) {
$('#ca-edit > a').attr('href', mw.util.getUrl(null, {
action: 'edit',
oldid: this.rev
}));
$('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink')
.attr('href', mw.util.getUrl(null, { oldid: this.rev }));
}
$('#ca-nstab-special > a').attr('href', this.href);
$('.printfooter > a').attr('href', location.href).text(location.href);
$('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () {
let url = new URL(location.href);
url.searchParams.set(
'mobileaction',
mw.util.getParamValue('mobileaction', this.search)
);
return '//' + this.host + url.pathname + url.search;
});
$('#t-urlshortener > a').attr('href', function () {
let params = new URLSearchParams(this.search);
params.set('url', location.href);
return this.pathname + '?' + params;
});
}
redirect() {
if (this.config.wgAction !== mw.config.get('wgAction') ||
this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '')
) {
location.href = this.href;
throw 'redirect';
}
}
replaceContent(isPopState, isRefresh) {
let oldCont = document.querySelector(o.selector);
if (this.$cont.is(oldCont)) {
throw 'Attempt to replace content with itself';
}
if (!isPopState && !isRefresh) {
this.pushState();
}
$(oldCont).before(this.$cont).detach();
console.log(this.key, o);
this.setOuterEls();
this.setDocTitle();
this.setConfig();
if (isSearch && this.attached) {
let input = this.$cont[0].querySelector('#searchText > input');
if (input) {
input.value = input.defaultValue;
}
}
o.cur = this;
this.loadModules(isPopState);
this.updateLinks();
}
pushState() {
history.pushState({ _smpg: this.key }, '', this.href);
history.replaceState({ _smpg: this.key }, '', this.href);
}
async loadModules(isPopState) {
o.pending = true;
try {
await mw.loader.using(this.modules || []);
} catch {} finally {
o.pending = false;
if (!this.attached) {
this.fireHooks();
this.rerunModules();
}
if (!isPopState) {
this.scroll();
}
this.attached++;
}
}
fireHooks() {
mw.hook('wikipage.content').fire(this.$cont);
this.$cont.find('.diff[data-mw-interface]').each(function () {
mw.hook('wikipage.diff').fire($(this));
});
this.$cont.find('.catlinks[data-mw-interface]').each(function () {
mw.hook('wikipage.categories').fire($(this));
});
mw.hook('htmlform.enhance').fire(this.$cont);
}
rerunModules() {
o.reruns.forEach(m => {
let pack = mw.loader.moduleRegistry[m];
if (!pack || pack.state !== 'ready') return;
if (typeof pack.script === 'function') {
pack.script($, $, mw.loader.require, pack.module);
return;
}
delete mw.loader.moduleRegistry[m];
mw.loader.implement(
m + '@' + pack.version, pack.script, pack.style,
pack.messages, pack.templates, pack.deprecationWarning
);
});
if ((isHist || isContribs || isRc) && window.Twinkle) {
window.Twinkle.rollback();
}
}
scroll() {
let form = o.formSelector && this.$cont[0].querySelector(o.formSelector);
if (form) {
let y = form.getBoundingClientRect().bottom;
if (y < 0) {
window.scrollBy(0, y);
}
} else if (this.$cont[0].getBoundingClientRect().top < 0) {
this.$cont[0].scrollIntoView();
}
}
}
o.cur = new Page();
let getContent = async (href, state, options) => {
if (o.pending) return;
o.aborter?.abort();
let key = state?._smpg || getKey(href, !!options);
let isRefresh = key === o.cur.key;
if (state && isRefresh) return;
let oldCont = document.querySelector(o.selector);
if (!oldCont) {
notify(href, 'No element to replace', 'error');
return;
}
let page = o.pages.find(p => p.keys.has(key));
if ((state || !isRefresh) && page) {
page.href = href;
page.replaceContent(!!state, isRefresh);
return;
}
oldCont.classList.add('smoothpager-switching');
let $throbber = $('<div>').addClass('smoothpager-throbber')
.appendTo(document.body);
if (!isRefresh && o.pages.length === 1) {
o.cur.init();
}
o.aborter = new AbortController();
let url = href;
if (o.useRender) {
url = new URL(href, location.href);
url.searchParams.set('action', 'render');
}
let promise = fetch(url, Object.assign({
signal: o.aborter.signal
}, options));
if (notif) {
notif.close();
notif = null;
}
try {
let response = await (await promise).text();
if (page) {
page.href = href;
} else {
page = new Page(href, key);
}
page.init($($.parseHTML(response, !o.useRender)));
page.replaceContent(!!state, isRefresh);
} catch (e) {
if (e.name === 'AbortError') {
if (state && o.cur) {
o.cur.pushState();
}
} else if (e === 'redirect') {
notify(href, 'Redirecting...');
} else {
notify(href, e || `Couldn't load the page`, 'error');
console.error(e);
}
} finally {
o.aborter = null;
oldCont.classList.remove('smoothpager-switching');
$throbber.remove();
}
};
let notif;
let notify = async (href, msg, type) => {
notif = await mw.notify([
document.createTextNode(msg),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], {
autoHideSeconds: 'long',
tag: 'smoothpager',
type: type
});
};
let onClick = function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(o.linkSelector) || this.origin !== location.origin
) {
return;
}
e.preventDefault();
getContent(this.pathname + this.search);
};
let onKeyDown = e => {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
e.target.closest(':read-write')
) {
return;
}
switch (e.which) {
case 27:
o.aborter?.abort();
break;
case 110:
case 190:
e.preventDefault();
getContent(getHref());
}
};
let onPopState = e => {
let state = e.originalEvent.state;
if (state && !state._smpg) return;
history.replaceState(state, '', location.href);
getContent(getHref(), state || {});
};
let onSubmit = e => {
if (e.originalEvent && (
e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted
) || !o.canPost && e.target.method !== 'get' ||
!e.target.matches(o.formSelector)
) {
return;
}
let path = e.target.getAttribute('action');
let isScript = path === mw.config.get('wgScript');
let comps = [mw.config.get('wgPageName')];
if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) {
comps.push(comps[0].replace(/\/.*/, ''));
}
comps.push((comps[1] || comps[0]) + '/');
if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return;
let formData = new FormData(e.target);
if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) {
return;
}
e.preventDefault();
e.stopPropagation();
if (isSearch && e.target.id !== 'searchform') {
formData.set('search', OO.ui.infuse($('#searchText')).getValue());
} else if (e.target.method === 'post') {
let submitter = e.originalEvent?.submitter;
if (submitter?.name) {
formData.append(submitter.name, submitter.value);
}
getContent(path, null, {
method: 'POST',
headers: { 'Content-Type': e.target.enctype },
body: e.target.enctype === 'multipart/form-data'
? formData
: new URLSearchParams(formData)
});
return;
}
getContent(path + '?' + new URLSearchParams(formData));
};
let setPortlet = text => {
if (!o.portletLink) return;
$(o.portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = text;
return false;
}
});
};
o._enable = () => {
o.enabled = true;
let $body = $(document.body).on('click', 'a', onClick);
if (o.formSelector) {
$body.on('submit', onSubmit);
}
$body.parent().on('keydown', onKeyDown);
$(window).on('popstate', onPopState);
if (o.css) {
o.css.disabled = false;
}
if (isPerma) {
mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable);
}
setPortlet('Disable SmoothPager');
};
o._disable = () => {
o.enabled = false;
$(document.body).off('click', onClick).off('submit', onSubmit)
.parent().off('keydown', onKeyDown);
$(window).off('popstate', onPopState);
o.css.disabled = true;
mw.trackUnsubscribe(o._disable);
setPortlet('Enable SmoothPager');
};
o._enable();
o.css = mw.loader.addStyleTag(`${o.linkSelector},
.cdx-table__table__sort-button {
color: #008064 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):visited {
color: #006400 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):active {
color: #faa700 !important;
}
.cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon {
background-color: #14866d;
}
.smoothpager-switching {
opacity: 0.75;
}
.smoothpager-throbber {
width: 20%;
height: 0.5vh;
position: fixed;
top: 0;
left: 0;
background-color: var(--background-color-progressive, #36c);
transform: translate(-100%);
animation: smoothpager-throbber 1s infinite linear;
}
@keyframes smoothpager-throbber {
to {
transform: translate(700%);
}
}
@media (prefers-reduced-motion: reduce) {
.smoothpager-throbber {
animation: smoothpager-throbber 1s infinite steps(10,end) !important;
width: 40%;
}
}${o.formSelector ? `
:is(${o.formSelector}) input[type="submit"],
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: var(--color-inverted, #fff);
background-color: #14866d;
border-color: #14866d;
}
:is(${o.formSelector}) input[type="submit"]:hover,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-color: #00af89;
border-color: #00af89;
}
:is(${o.formSelector}) input[type="submit"]:focus,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
border-color: #14866d;
}
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff;
}
:is(${o.formSelector}) input[type="submit"]:active,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active {
background-color: #0e725a;
border-color: #0e725a;
box-shadow: none;
}` : ''}`);
await $.ready;
if (!document.getElementById('p-cactions')) return;
o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild;
o.portletLink.addEventListener('click', e => {
e.preventDefault();
o[o.enabled ? '_disable' : '_enable']();
});
});
window.smartdiffTemplates = [
{
names: ['T', 'Tl'],
namespace: 10,
forceNs: true,
end: 1
},
{
names: ['Tlx'],
namespace: 10,
end: 1
},
{
names: ['U'],
prefix: 'Special:Contributions/',
end: 1
},
{
names: ['Re', 'Reply to', 'Ping'],
prefix: 'Special:Contributions/'
},
{
names: ['About'],
start: 3,
skipEven: true
},
{
names: ['For'],
start: 2
},
{
names: ['Other uses', 'Otheruses'],
end: 1
},
{
names: ['Section link', 'Slink'],
end: 1
},
{
names: ['Redirect'],
skipEven: true,
noRedirectEnd: 1
},
{
names: ['Shortcut'],
noRedirectStart: 1
},
{
names: ['Tracked', 'Phab'],
prefix: 'phab:',
end: 1
},
{
names: [
'Distinguish',
'Main', 'Main article',
'Further',
'See also', 'Seealso'
]
},
{
names: ['Ll'],
end: 1
}
];
mw.loader.using([
'mediawiki.util', 'mediawiki.Title', 'mediawiki.api'
], function smartDiff() {
mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}');
class SmartDiff {
constructor($diff) {
this.$diff = $diff;
this.isSpecial = mw.config.get('wgNamespaceNumber') === -1;
this.isView = mw.config.get('wgAction') === 'view' &&
new URLSearchParams(location.search).get('diffonly') !== '1';
this.magicWords = [
'!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:',
'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME',
'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1',
'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN',
'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK',
'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:',
'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME',
'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:',
'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2',
'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1',
'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME',
'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:',
'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER',
'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES',
'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS',
'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:',
'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:',
'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:',
'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP',
'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR',
'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE',
'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:',
'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:',
'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:',
'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:',
'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:',
'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:'
];
if (window.smartdiffMagicWords) {
this.magicWords.push(...window.smartdiffMagicWords);
}
try {
this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages;
} catch (e) {}
if (!this.subNs) {
this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces'))
.map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns));
}
this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?<(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!>).*?>)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?<(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?>(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g;
this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:<|$))/g;
// https://commons.wikimedia.org/wiki/Special:MediaStatistics
this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi;
this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g;
if (window.smartdiffTemplates) {
this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g;
this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/;
this.templates = window.smartdiffTemplates;
}
this.side = 'old';
$diff.find('.diff-deletedline > div').get().forEach(this.processDiv);
this.side = 'new';
$diff.find('.diff-addedline > div').get().forEach(this.processDiv);
let $contexts = $diff.find('.diff-context > div');
$contexts.each((i, div) => {
if (i % 2) {
this.side = 'new';
if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) {
this.processDiv(div);
} else {
$contexts.eq(i).replaceWith($contexts.eq(i - 1).clone());
}
} else {
this.side = 'old';
this.propUsed = false;
this.processDiv(div);
}
});
this.links = {};
$diff.find('.smartdiff-link:not(.external)').each((i, link) => {
let title = link.title;
if (!title) return;
if (!this.links.hasOwnProperty(title)) {
this.links[title] = [];
}
this.links[title].push(link);
});
this.query(Object.keys(this.links).slice(0, 500));
if (this.hasError) {
mw.notify('SmartDiff error', { type: 'warn' });
}
}
processDiv = div => {
if (div.querySelector('a[href]')) return;
let origHtml = div.innerHTML;
let newHtml = origHtml.replace(this.urlRe, this.urlRep)
.replace(this.galleryRe, this.galleryRep)
.replace(this.re, this.rep).replace(this.headRe, this.headRep);
if (this.tempRe) {
newHtml = newHtml.replace(this.tempRe, this.tempRep);
}
if (newHtml === origHtml) return;
newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, '');
let $newDiv = $('<div>').html(newHtml);
if (this.detectErrors($newDiv, newHtml, origHtml, div)) return;
div.textContent = '';
$newDiv.contents().appendTo(div);
};
rep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s), isTemp;
if (t) {
if ($1.includes('invoke')) {
t = mw.Title.makeTitle(828, s);
} else if (s[0] === '/') {
if (this.subNs.includes(this.getProp('ns'))) {
t = mw.Title.newFromText(
this.getProp() + s.replace(/\/+$/, '')
);
} else if ($1[0] === '{') {
t.namespace = 10;
}
} else if ($1[0] === '{') {
if (s[0] === '#') {
return $0;
}
if ($1.includes('int')) {
t = mw.Title.makeTitle(8, s);
} else if (!t.namespace && s[0] !== ':') {
if (!$1.includes('msg') && !$1.includes('raw')) {
let match = s.match(/^[^:]+(?::(?=.)|$)/);
if (match && this.magicWords.includes(match[0])) {
return $0;
}
}
t.namespace = 10;
isTemp = true;
}
} else if ((this.isSpecial || !this.isView) && s[0] === '#') {
t.title = this.getProp();
}
} else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) {
let chunks = s.split('/');
let levelCount = chunks.findIndex(v => v !== '..');
let sup = this.getProp().split('/').slice(0, -levelCount).join('/');
if (sup) {
let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, '');
t = mw.Title.newFromText(sub ? sup + '/' + sub : sup);
}
}
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView || s[0] !== '#') {
attrs.title = t.toText();
}
if (isTemp && this.tempRe) {
let name = t.getMainText();
let idx = this.templates.findIndex(temp => temp.names.includes(name));
if (idx !== -1) {
attrs['data-smartdiff-temp'] = idx;
}
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
stripTags(s, decode, pre = '', post = '') {
let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g);
s = $($.parseHTML(s.replace(/&/g, '&'))).text();
if (decode) {
try {
s = decodeURIComponent(s);
} catch (e) {}
}
if (tags) {
if (tags[0][1] === '/') {
pre += tags[0];
mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid;
}
let lastTag = tags.pop();
if (lastTag[1] !== '/') {
mid += `</${lastTag.slice(1, 4)}>`;
post = lastTag + post;
}
}
return [s, pre, mid, post];
}
headRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1')
.replace(/''(.+?)''/g, '$1')
.replace(/^_+|_+$/g, '');
let t = mw.Title.newFromText(
`${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}`
);
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView) {
attrs.title = t.toText();
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
galleryRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s, 6);
if (t && t.namespace !== 6) {
t = mw.Title.makeTitle(6, s);
}
if (!t) {
return $0;
}
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(),
title: t.toText()
}).html(mid)[0].outerHTML + post;
};
urlRep = ($0, $1, $2, $3) => {
let main = $2, trail;
if (!$1) {
if (!$3) {
return $0;
}
let re = main.includes('(')
? /[!,.:;?](?:<[^>]*>)?$/
: /[!),.:;?](?:<[^>]*>)?$/;
let match = main.match(re);
if (match &&
!/&(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main)
) {
trail = match[0];
main = main.slice(0, -trail.length);
}
}
let [url, pre, mid, post] = this.stripTags(main);
if ($1) {
pre = $1 + pre;
} else if (trail) {
post += trail;
}
return pre + $('<a>').attr({
class: 'smartdiff-link external',
href: url,
rel: 'nofollow'
}).html(mid)[0].outerHTML + post;
};
tempRep = ($0, $1, $2, $3) => {
if ($3.includes('<a class="smartdiff-link')) {
return $0;
}
let temp = this.templates[$2];
return $1 + $3.split(this.tempSubRe).map((os, i) => {
if (!os || i % 2) {
return os;
}
let j = i / 2;
if (j < temp.start || j > temp.end ||
temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0
) {
return os;
}
let [s, pre, mid, post] = this.stripTags(os, true);
if (temp.prefix) {
s = temp.prefix + s;
}
if (temp.suffix) {
s += temp.suffix;
}
let t = temp.forceNs
? mw.Title.makeTitle(temp.namespace, s)
: mw.Title.newFromText(s, temp.namespace);
if (!t) {
return os;
}
let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) &&
{ redirect: 'no' };
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(params),
title: t.toText()
}).html(mid)[0].outerHTML + post;
}).join('');
};
getProp(n = 'pn', side = this.side) {
this.propUsed = true;
if (this[side]) {
if (this[side][n]) {
return this[side][n];
}
} else {
this[side] = {};
let link = this.$diff[0].querySelector(
side === 'old'
? '#mw-diff-otitle1 a, #differences-prevlink'
: '#mw-diff-ntitle1 a, #differences-nextlink'
);
if (link) {
let pn = mw.util.getParamValue('title', link.search);
this[side].pn = pn;
this[side].ns = mw.Title.newFromText(pn).namespace;
return this[side][n];
}
}
if (this[n]) {
return this[n];
}
if (this.isSpecial) {
this.pn = '';
this.ns = 0;
} else {
this.pn = mw.config.get('wgPageName');
this.ns = mw.config.get('wgNamespaceNumber');
}
return this[n];
}
query(titles) {
if (!titles.length) return;
new mw.Api().post({
action: 'query',
titles: titles.slice(0, 50),
iwurl: 1,
prop: 'info',
inprop: 'linkclasses',
inlinkcontext: this.getProp(),
formatversion: 2
}, {
headers: { 'Promise-Non-Write-API-Action': 1 }
}).then(response => {
let query = response && response.query;
if (!query) return;
let data = {};
(query.pages || []).forEach(page => {
let obj = { classes: page.linkclasses || [] };
if (page.missing && !page.known) {
obj.classes.push('new');
obj.params = { action: 'edit', redlink: 1 };
}
data[page.title] = obj;
});
(query.interwiki || []).forEach(interwiki => {
data[interwiki.title] = {
classes: ['extiw'],
url: interwiki.url
};
});
(query.normalized || []).forEach(entry => {
if (!data.hasOwnProperty(entry.to)) return;
let obj = data[entry.to];
obj.canonical = entry.to;
if (!obj.url) {
obj.url = mw.util.getUrl(entry.to, obj.params);
}
data[entry.from] = obj;
});
Object.entries(data).forEach(([title, obj]) => {
if (!this.links.hasOwnProperty(title)) return;
let $links = $(this.links[title]).addClass(obj.classes)
.attr('title', obj.canonical);
if (obj.url) {
$links.attr('href', function () {
return obj.url + this.hash;
});
}
});
this.query(titles.slice(50));
});
}
detectErrors($newDiv, newHtml, origHtml, div) {
let comp = $newDiv.html();
if (comp !== newHtml) {
console.warn(
'SmartDiff syntax error at:\n',
div,
`\nNew HTML:\n${newHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
let $comp = $newDiv.clone();
$comp.find('.smartdiff-link').contents().unwrap();
comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, '');
if (comp !== origHtml) {
console.warn(
'SmartDiff mutation error at:\n',
div,
`\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
}
}
mw.hook('wikipage.diff').add($diff => {
new SmartDiff($diff);
});
});
(function copySectLink() {
let dependencies = ['mediawiki.util'];
let classes = 'copysectlink';
let css;
switch (mw.config.get('skin')) {
case 'minerva':
classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet';
css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}';
break;
case 'timeless':
classes += ' mw-ui-icon-copy';
css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}';
}
if (css) {
mw.loader.addStyleTag(css);
dependencies.push('oojs-ui.styles.icons-editing-advanced');
}
let handler = function (e) {
e.preventDefault();
e.stopPropagation();
let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace(
/[\[\]{|}]/g,
s => '&#' + s.codePointAt(0) + ';'
) : '')).replace(/_/g, ' ');
let $input = $('<input>').attr({
type: 'text',
readonly: '',
style: 'position:fixed;top:-100%'
}).val(text).appendTo(document.body);
$input[0].select();
let copied;
try {
copied = document.execCommand('copy');
} catch (e) {}
$input.remove();
if (copied) {
mw.notify(`Copied "${text}"`);
} else {
mw.notify('Copy failed', { type: 'error' });
}
};
let addButton = (block, id) => {
let $button = $('<a>').attr({
class: classes + (id ? ' mw-selflink-fragment' : ''),
href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''),
role: 'button'
}).text('copy').on('click', handler);
if (mw.config.get('skin') === 'minerva') {
$button.attr('title', 'Copy').wrapInner('<span>')
.prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert'));
let wrapper = block.querySelector('.mw-editsection');
if (wrapper) {
$button.prependTo(wrapper);
} else {
$button.appendTo(block);
}
} else {
let editSection = block.querySelector('.mw-editsection');
if (editSection) {
$button.appendTo(editSection);
} else {
$('<span>').addClass('mw-editsection')
.append($button).appendTo(block);
}
}
};
if (['view', 'purge'].includes(mw.config.get('wgAction'))) {
['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => {
let state = mw.loader.getState(m);
if (state && state !== 'registered') {
dependencies.push(m);
}
});
}
$.when($.ready, mw.loader.using(dependencies)).then(() => {
if (mw.config.get('wgNamespaceNumber') >= 0) {
addButton(document.getElementById('firstHeading'));
}
mw.hook('wikipage.content').add($content => {
$content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () {
addButton(this.parentElement, this.id);
});
$content.find(
':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]'
).each(function () {
addButton(this, this.id);
});
});
});
}());
mw.loader.using([
'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage'
], function ipaInput() {
if (!mw.libs.ve.isVisualAvailable &&
!['edit', 'submit'].includes(mw.config.get('wgAction'))
) {
return;
}
mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`);
let clicked;
let openDialog = () => {
if (clicked) {
if (window.ipaInputDialog) {
window.ipaInputDialog.open();
}
return;
}
clicked = true;
mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript');
mw.loader.using([
'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets',
'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core',
'oojs-ui.styles.icons-editing-advanced'
]);
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
ipainput: {
label: 'IPAInput',
type: 'button',
oouiIcon: 'schwa',
action: { type: 'callback', execute: openDialog }
}
}
});
});
mw.hook('ve.loadModules').add(addPlugin => {
addPlugin(() => {
ve.ui.IpaInputCommand = function VeUiIpaInputCommand() {
ve.ui.IpaInputCommand.super.call(this, 'ipaInput');
};
OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command);
ve.ui.IpaInputCommand.prototype.execute = () => {
openDialog();
return true;
};
ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand());
ve.ui.IpaInputTool = function VeUiIpaInputTool() {
ve.ui.IpaInputTool.super.apply(this, arguments);
};
OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool);
ve.ui.IpaInputTool.static.name = 'ipaInput';
ve.ui.IpaInputTool.static.group = 'insert';
ve.ui.IpaInputTool.static.icon = 'schwa';
ve.ui.IpaInputTool.static.title = 'IPA';
ve.ui.IpaInputTool.static.commandName = 'ipaInput';
ve.ui.toolFactory.register(ve.ui.IpaInputTool);
});
});
mw.requestIdleCallback(() => {
let expiry = mw.storage.get('_EXPIRY_ipainput-cache');
if (!expiry) return;
$.get(
'//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata'
).then(response => {
if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) {
mw.storage.remove('ipainput-cache');
}
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
(function wiktIpa() {
mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`);
let clicked, dialog, input, $result;
let openDialog = async context => {
if (clicked) {
if (dialog) {
let selection = context.$textarea.textSelection('getSelection');
if (selection) {
input.setValue(selection);
}
if ($result) {
$result.prev().addBack().remove();
$result = null;
}
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
}
return;
}
clicked = true;
await mw.loader.using([
'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi',
'mediawiki.util'
]);
let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({
action: 'query',
generator: 'search',
gsrsearch: 'deepcat:Pronunciation_templates_by_language',
gsrnamespace: 10,
gsrlimit: 'max',
gsrsort: 'none',
formatversion: 2
});
let winMan = new OO.ui.WindowManager();
dialog = new OO.ui.MessageDialog();
winMan.addWindows([dialog]);
let items = response.query.pages
.map(p => p.title.slice(9))
.sort(Intl.Collator('en-u-kn-true').compare)
.map(s => new OO.ui.MenuOptionWidget({ label: s }));
let dropdown = new OO.ui.DropdownWidget({
$overlay: dialog.$overlay,
menu: { items }
});
let $doc = $('<p>');
dropdown.getMenu().on('choose', mw.util.debounce(async item => {
let title = 'Template:' + item.getLabel();
let $link = $('<a>').attr({
href: '//en.wiktionary.org/wiki/' + title,
target: '_blank',
title: title
}).text('documentation');
$doc.empty().append('Loading ', $link, '...');
try {
let data = await $.get(
'//en.wiktionary.org/api/rest_v1/page/html/' +
encodeURIComponent(title + '/documentation')
);
let text = $($.parseHTML(data)).find('p').first().text()
.replace(/\. .*/, '.');
$doc.text(text + ' (').append($link.text('read more'), ')');
dialog.updateSize();
} catch {
$doc.empty().append('Failed to load ', $link);
}
}, 100)).selectItem(items[0]);
input = new OO.ui.TextInputWidget({
autocomplete: false,
value: context.$textarea.textSelection('getSelection') ||
mw.config.get('wgTitle')
});
let button = new OO.ui.ButtonWidget({
disabled: !input.getValue(),
label: 'Get',
flags: ['primary', 'progressive']
}).on('click', async () => {
button.setDisabled(true);
let template = dropdown.getMenu().findSelectedItem().getLabel();
let text = input.getValue();
try {
let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', {
wikitext: `{{${template}|1=${text}}}`,
body_only: true
});
if ($result) {
$result.children().remove();
} else {
$result = $('<div>').text('Result:')
.insertAfter(fieldset.$element)
.before('<hr>');
}
$result.append($.parseHTML(data))
.find('.mw-collapsible').makeCollapsible().end()
.find('[id], [about]').removeAttr('id about').end()
.find('a').attr('target', '_blank')
.filter('[href^="./"]').attr('href', (_, href) => (
'//en.wiktionary.org/wiki' + href.slice(1)
));
dialog.updateSize();
} catch {} finally {
button.setDisabled();
}
});
input.on('change', value => {
button.setDisabled(!value);
}).connect(button, { enter: ['emit', 'click'] });
let fieldset = new OO.ui.FieldsetLayout({
items: [
new OO.ui.FieldLayout(dropdown, {
label: 'Template:',
align: 'top'
}),
new OO.ui.FieldLayout(input, {
label: 'Input:',
align: 'top'
}),
new OO.ui.FieldLayout(button)
]
});
dropdown.$element.after($doc);
dialog.text.$element.append(fieldset.$element/*.on('keydown', e => {
e.stopPropagation();
})*/);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
wiktipa: {
label: 'WiktIPA',
type: 'button',
oouiIcon: 'wiktionary',
action: { type: 'callback', execute: openDialog }
}
}
});
});
}());
window.scripttesterSkipWarning = true;
mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() {
let get = () => new Set(mw.storage.getObject('scripttester'));
if (mw.storage.get('scripttester')) {
let unloading;
window.addEventListener('beforeunload', () => {
unloading = true;
});
get().forEach(async s => {
let isCss = /\.css$/i.test(s);
let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, {
action: 'raw',
ctype: isCss ? 'text/css' : 'text/javascript'
});
if (isCss) {
mw.loader.load(url, 'text/css');
return;
}
try {
await mw.loader.getScript(url);
} catch (e) {
if (unloading) {
console.warn(e);
return;
}
mw.notify('Failed to load temporarily installed ' + s, { type: 'error' });
}
});
} else if (!window.scripttesterSkipWarning) {
await mw.loader.using('oojs-ui-windows');
if (await OO.ui.confirm(
'You take full responsibility for any consequences arising from using ScriptTester.'
)) {
mw.storage.setObject('scripttester', []);
}
}
await $.ready;
if (!document.getElementById('p-tb')) return;
let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}');
let linksShown = mw.config.get('wgNamespaceNumber') > 0 &&
mw.config.get('wgAction') === 'view';
let updateLinks = (s, unins) => {
if (!linksShown) return;
$(`.scripttester-link[data-scripttester="${s}"]`)
.toggleClass('scripttester-installed', !unins);
};
let dialog, multiselect, addButton, removeButton, clearButton;
let openDialog = () => {
if (!dialog) {
dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] });
let winMan = new OO.ui.WindowManager();
winMan.addWindows([dialog]);
multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => {
removeButton.setDisabled(!multiselect.findSelectedItems().length);
});
addButton = new OO.ui.ButtonWidget({
label: 'Add'
}).on('click', async () => {
dialog.toggle(false);
let s = (await OO.ui.prompt('Add a script', {
textInput: { placeholder: 'Script page name or URL' }
})).trim();
if (!s) return;
if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) {
await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`);
dialog.toggle(true);
updateDialog();
return;
}
mw.storage.setObject('scripttester', [...get().add(s)]);
updateLinks(s);
});
removeButton = new OO.ui.ButtonWidget({
label: 'Remove'
}).on('click', () => {
let set = get();
multiselect.findSelectedItems().forEach(item => {
let s = item.getLabel();
set.delete(s);
updateLinks(s, true);
});
mw.storage.setObject('scripttester', [...set]);
updateDialog();
});
clearButton = new OO.ui.ButtonWidget({
label: 'Clear',
flags: 'destructive'
}).on('click', async () => {
dialog.toggle(false);
if (!(await OO.ui.confirm('Uninstall all scripts?'))) {
dialog.toggle(true);
return;
}
mw.storage.setObject('scripttester', []);
if (linksShown) {
$('.scripttester-installed').removeClass('scripttester-installed');
}
dialog.toggle(true);
updateDialog();
});
dialog.text.$element.append(
multiselect.$element,
new OO.ui.ButtonGroupWidget({
items: [addButton, removeButton]
}).$element,
clearButton.$element
);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
}
updateDialog();
dialog.open({
message: 'Temporarily installed scripts:',
actions: [{ label: 'Done', flags: ['safe', 'close'] }]
});
};
let updateDialog = () => {
let set = get();
multiselect.clearItems().addItems(
[...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s }))
);
removeButton.setDisabled(true);
clearButton.toggle(set.size);
dialog.updateSize();
updatePortlet(set.size);
};
let updatePortlet = count => {
$(portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = `Temporarily installed scripts (${count})`;
return false;
}
});
};
let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`)
.firstElementChild;
portletLink.addEventListener('click', e => {
e.preventDefault();
mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog);
});
window.addEventListener('storage', e => {
if (e.key === 'scripttester') {
updatePortlet(get().size);
}
});
if (!linksShown) return;
css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}';
let linkHandler = function () {
let s = this.dataset.scripttester;
let unins = this.classList.contains('scripttester-installed');
let set = get();
set[unins ? 'delete' : 'add'](s);
let success = mw.storage.setObject('scripttester', [...set]);
if (success) {
mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, {
tag: 'scripttester'
});
updateLinks(s, unins);
updatePortlet(set.size);
} else {
mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, {
tag: 'scripttester',
type: 'error'
});
}
};
if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) &&
['javascript', 'css'].includes(mw.config.get('wgPageContentModel'))
) {
let s = mw.config.get('wgPageName').replaceAll('_', ' ');
$('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
).appendTo(document.getElementById('firstHeading'));
return;
}
mw.hook('wikipage.content').add($content => {
let set = get();
let ns = mw.config.get('wgFormattedNamespaces');
let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`);
$content.find('a:not(.external, .new)').after(function () {
let s = this.title;
if (!s || !re.test(s)) return;
return $('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
);
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.on('keydown', async e => {
if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return;
e.preventDefault();
let context = $textarea.data('wikiEditorContext');
context.api.openDialog(context, 'search-and-replace');
await mw.loader.using('jquery.textSelection');
let tb = document.getElementById('wikieditor-toolbar-replace-search');
let sel = $textarea.textSelection('getSelection');
if (sel) {
tb.value = sel;
}
tb.focus();
});
$(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => {
$textarea[0].focus();
});
});
mw.config.get('wgNamespaceNumber') &&
mw.config.get('wgAction') !== 'history' &&
(function catChangeHighlighter() {
let run;
mw.hook('wikipage.content').add($content => {
$content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () {
let text = this.querySelector('.comment').textContent;
if (text.includes(' added ')) {
this.classList.add('catchangehighlighter-addition');
} else if (text.includes(' removed ')) {
this.classList.add('catchangehighlighter-removal');
}
if (run) return;
run = true;
mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}');
});
});
}());
(mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' ||
[-1, 14].includes(mw.config.get('wgNamespaceNumber'))) &&
(function diffFontSwitcher() {
mw.loader.addStyleTag('.diff-lineno{cursor:pointer}');
$(document.body).on('click keydown', '.diff-lineno', function (e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
this.closest('.diff').classList.toggle('difffontswitcher-enabled');
});
mw.hook('wikipage.diff').add($diff => {
$diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' });
});
}());
mw.trackSubscribe('resourceloader.exception', (topic, data) => {
mw.notify(data.exception, {
autoHide: false,
title: `Exception in ${data.source} in module ${data.module}`,
type: 'warn'
});
});
mw.config.get('skin') === 'vector-2022' &&
$(document).one('click', '.mw-interlanguage-selector', async () => {
await mw.loader.using('ext.uls.mediawiki');
$.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow';
mw.uls.getFrequentLanguageList = () => [];
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's');
e873kzwjdbqk8nssqqc0x778nd1m8m5
747595
747594
2026-06-19T06:12:28Z
Nardog
40946
747595
javascript
text/javascript
/* globals ve */
// window.dn?.disable?.();
window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff';
(mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') &&
mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() {
let isHist = mw.config.get('wgAction') === 'history';
let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`;
let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch';
let diffs = [], count = 0, expanded = new WeakSet();
window.dn = diffs;
let sanitize = href => {
let url = new URL(href, location.href);
let newParams = new URLSearchParams(), hasId;
['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => {
if (url.searchParams.has(k)) {
let v = url.searchParams.get(k);
newParams.set(k, v);
hasId = hasId || v > 0;
}
});
if (!hasId && url.searchParams.has('title')) {
return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`;
}
return String(newParams);
};
let getDiff = comp => {
if (typeof comp === 'string') {
let sanitized = sanitize(comp);
return diffs.find(diff => (
diff.queries.has(comp) || diff.queries.has(sanitized)
));
}
return diffs.find(diff => diff.$diff.is(comp));
};
let containers = [];
window.dn._c = containers;
class Diff {
constructor(href, $link) {
this.aborter = new AbortController();
this.queries = new Set();
this.setLink(href, $link);
diffs.push(this);
}
setLink(href, $link) {
if (this.href) {
if ($link.is(this.$link)) {
if (this.aborter) {
this.aborter.abort();
} else if (this.isVisible()) {
this.close();
} else {
this.$anchor = this.getAnchor();
this.append();
}
return;
}
if ($link.is(this.$outerLink) && this.isVisible()) {
this.close();
return;
}
if (this.getAnchor($link).is(this.$anchor)) {
this.markLink(false);
} else {
this.close();
}
}
this.href = href;
this.queries.add(href);
let sanitized = sanitize(href);
if (sanitized) {
this.queries.add(sanitized);
}
this.$link = $link;
this.isSwitch = $link.is(switchSelector);
if (!this.isSwitch) {
this.$outerLink = $link;
}
this.$anchor = this.getAnchor();
if (this.aborter) {
this.markLink();
} else {
this.append();
}
}
append(response) {
if (response) {
delete this.aborter;
this.findDiff(response);
this.setQueries();
this.polishDiff();
}
let $container = this.getContainer(true);
if (!$container[0].isConnected) {
if (this.$anchor.is('tr')) {
let cols = this.$anchor.children().get()
.reduce((acc, cell) => acc + cell.colSpan, 0);
$('<tr>').addClass('diffnow-row').append(
$('<td>').attr('colspan', cols).append($container)
).insertAfter(this.$anchor);
} else if (this.$anchor.is('div')) {
this.$anchor.after($container);
} else {
this.$anchor.append($container);
}
}
this.attached = true;
filterContexts(this.$diff);
window.addEventListener('resize', onResize);
if (!this.$link.hasClass('diffnow-link-loaded')) {
mw.requestIdleCallback(() => {
this.markLinks();
this.markSeen();
});
}
if ($container[0].getBoundingClientRect().top < 0) {
$container[0].scrollIntoView();
}
this.markLink(true);
if (response) {
mw.hook('wikipage.content').fire($container);
}
}
findDiff(response) {
if (typeof response !== 'string') throw '';
let $diff = $($.parseHTML(response))
.filter('.diff[data-mw-interface]');
if (!$diff.length) {
$diff = $diff.end().find('.diff[data-mw-interface]');
if (!$diff.length) throw '';
}
this.$diff = $($diff[0]);
}
setQueries() {
let newPerma = this.$diff[0].querySelector(
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (newPerma) {
this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search));
this.newTitle = newPerma.title;
}
let oldPerma = this.$diff[0].querySelector(
'#mw-diff-otitle1 > strong > a, #differences-prevlink'
);
if (oldPerma) {
this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search));
this.oldTitle = oldPerma.title;
}
let isSamePage = !oldPerma || this.newTitle === this.oldTitle;
this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi');
if (this.newId) {
if (this.newId === this.oldId) {
throw 'nonfatal';
}
if (this.oldId) {
this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`);
}
this.isLast = !this.$diff[0].querySelector('#differences-nextlink');
if (this.isSingle) {
this.queries.add(`diff=prev&oldid=${this.newId}`);
if (this.isLast && this.oldId) {
this.queries.add(`diff=0&oldid=${this.oldId}`);
this.queries.add(`diff=cur&oldid=${this.oldId}`);
}
}
}
if (this.oldId && this.isSingle) {
this.queries.add(`diff=next&oldid=${this.oldId}`);
}
this.queries.forEach(q => {
let other = getDiff(q);
if (other && other !== this) {
other.setLink(this.href, this.$link);
throw 'nonfatal';
}
});
if (this.oldId) {
diffs.forEach(diff => {
if (diff.isLast && diff.newId === this.oldId) {
diff.markNotLast(this);
}
});
}
}
async polishDiff() {
mw.hook('wikipage.diff').fire(this.$diff);
let prevLink = this.$diff[0].querySelector('#differences-prevlink');
let nextLink = this.$diff[0].querySelector('#differences-nextlink');
$([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => (
href.replace('&diffonly=1', '').replace('&expand-url=1', '')
));
[['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => {
if (link && !mw.messages.exists(key)) {
mw.messages.set(key, link.textContent);
}
});
if (!nextLink && this.isLast) {
this.$diff.find('#mw-diff-ntitle4').empty().append(
$('<a>').attr({
class: 'diffnow-checknext diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'next',
oldid: this.newId
}),
title: this.newTitle
}).text('Check for newer edit')
);
}
this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right')
.attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`);
this.$diff.find('a[name^="movedpara"]')
.attr('name', (_, name) => `diffnow-${count}-${name}`);
count++;
this.$diff.find('[id]').addClass(function () {
return 'diffnow-' + this.id;
}).removeAttr('id');
if (this.$diff[0].querySelector('.mw-thanks-thank-link')) {
mw.loader.load('ext.thanks.corethank');
mw.config.set('thanks-confirmation-required', true);
}
if (!this.isSingle) {
let keys = ['nextdiff', 'previousdiff']
.filter(s => !mw.messages.exists(s));
if (keys.length) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(keys);
}
this.$diff.find('.diff-multi').append(
$('<div>').append(
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multinext diffnow-switch',
href: mw.util.getUrl(this.oldTitle, {
diff: 'next',
oldid: this.oldId
}),
title: this.oldTitle
}).text(mw.msg('nextdiff'))
),
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multiprev diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'prev',
oldid: this.newId
}),
title: this.newTitle
}).text(mw.msg('previousdiff'))
)
)
);
}
}
getAnchor($link) {
let isSwitch;
if ($link) {
isSwitch = $link.is(switchSelector);
} else {
$link = this.$link;
isSwitch = this.isSwitch;
}
if (isSwitch) {
return getDiff($link.closest('.diff')).$anchor;
}
return $link.closest('li, tr, .mw-history-compareselectedversions');
}
getContainer(create) {
let $container = this.$anchor.is('tr')
? this.$anchor.next('.diffnow-row').find('> td > .diffnow')
: this.$anchor.is('div')
? this.$anchor.next('.diffnow')
: this.$anchor.children('.diffnow');
if (create) {
if ($container.length) {
this.attachDiff($container);
} else {
$container = this.createContainter();
}
}
return $container;
}
attachDiff($container) {
let $oldDiff = $container.children('.diff');
if (!$oldDiff.is(this.$diff)) {
if ($oldDiff.length) {
getDiff($oldDiff).detachDiff();
}
$container.children('.diffnow-tools-top').after(this.$diff);
}
$container.find('.diffnow-difflink').attr('href', this.href);
}
createContainter() {
let $container = containers.pop();
if ($container) {
this.attachDiff($container);
return $container;
}
return $('<div>').addClass('diffnow').append(
$('<div>').addClass('diffnow-tools diffnow-tools-top').append(
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-collapse',
title: 'Hide this diff'
})
),
this.$diff,
$('<div>').addClass('diffnow-tools diffnow-tools-bottom').append(
$('<button>').attr({
class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse',
title: 'Scroll to top'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand',
title: 'Scroll to bottom'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-close',
title: 'Hide this diff'
}),
$('<a>').attr({
class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive',
href: this.href,
target: '_blank',
title: 'Open diff page'
})
)
)
.on('click', '.diffnow-close', this.collapse)
.on('click', '.diffnow-scrollup', this.scrollUp)
.on('click', '.diffnow-scrolldown', this.scrollDown)
.on(
'click keydown',
'.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker',
this.toggleContext
);
}
isVisible() {
return !!this.$diff?.[0].offsetParent;
}
markLink(visible = this.isVisible()) {
if (this.isSwitch) {
this.getContainer().toggleClass('diffnow-switching', !!this.aborter);
if (!this.$outerLink) return;
}
this.$outerLink
.toggleClass('diffnow-link-loading', !!this.aborter)
.toggleClass('diffnow-link-loaded', !this.aborter)
.toggleClass('diffnow-link-open', !this.isSwitch && visible);
}
markLinks() {
$(selector).filter((_, link) => {
let href = link.getAttribute('href');
return this.queries.has(href) || this.queries.has(sanitize(href));
}).addClass('diffnow-link-loaded');
if (!isHist) return;
$('.mw-history-compareselectedversions-button').toggleClass(
'diffnow-link-loaded',
!!getDiff(getHistHref())
);
}
markSeen() {
if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) {
this.$anchor.nextAll().addBack()
.removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched');
return;
}
let $li = this.$anchor.closest('li, table');
let $unseen = $li.filter('.mw-changeslist-watchedunseen')
.add($li.find('.mw-changeslist-watchedunseen'));
if (!$unseen.length) return;
$unseen.removeClass('mw-changeslist-watchedunseen')
.addClass('mw-changeslist-watchedseen');
$li.filter('.mw-changeslist-line-watched')
.add($li.find('.mw-changeslist-line-watched'))
.removeClass('mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-line-not-watched');
}
async markNotLast(newDiff) {
this.isLast = false;
this.queries = new Set([...this.queries].filter(q => (
!/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q)
)));
this.$diff.find(
'.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted'
).first().text(
newDiff.$diff.find(
'#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted'
).first().text()
);
this.$diff.find('.diff-ntitle .mw-diff-edit a')
.attr('href', (_, href) => href + '&oldid=' + this.newId);
if (!mw.messages.exists('nextdiff')) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(['nextdiff']);
}
this.$diff.find('.diffnow-checknext')
.attr('class', 'diffnow-differences-nextlink')
.text(mw.msg('nextdiff'));
}
detachDiff() {
this.$diff?.detach();
this.markLink(false);
}
close(adjustFocus) {
this.detachDiff();
let $container = this.getContainer();
if ($container.length) {
let $row = $container.closest('.diffnow-row');
containers.push($container.detach());
$row.remove();
}
if (!adjustFocus) return;
setTimeout(() => {
this.$anchor.find('a[href]').last().each(function () {
this.focus();
this.blur();
});
});
}
collapse(e) {
e.preventDefault();
let $container = $(e.delegateTarget);
let diff = getDiff($container.children('.diff'));
if (diff.$link[0].getBoundingClientRect().top < 0) {
diff.$anchor[0].scrollIntoView();
$container.fadeOut('fast', () => {
diff.close(true);
setTimeout(() => {
diff.$anchor[0].scrollIntoView();
$container.removeAttr('style');
});
});
} else {
diff.close(true);
}
}
scrollUp(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().top;
let ch = document.documentElement.clientHeight, buffer = ch / 2;
y -= y + 5 > buffer ? ch : buffer;
window.scrollBy({ top: y, behavior: 'smooth' });
}
scrollDown(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().bottom;
let buffer = document.documentElement.clientHeight / 2;
if (y - 5 > buffer) {
y -= buffer;
}
window.scrollBy({ top: y, behavior: 'smooth' });
}
toggleContext(e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
let $row = $(e.target.closest('tr'));
if ($row.hasClass('diffnow-context-expanded')) {
$row.removeClass('diffnow-context-expanded')
.addClass('diffnow-context-collapsed')
.children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
expanded.delete($row[0]);
} else {
$row.removeClass('diffnow-context-collapsed')
.addClass('diffnow-context-expanded')
.children('.diff-context').removeAttr('tabindex role title')
.siblings('.diff-marker').attr('title', 'Collapse');
expanded.add($row[0]);
}
}
destroy() {
diffs.splice(diffs.indexOf(this), 1);
this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open');
this.getContainer().removeClass('diffnow-switching');
}
}
let filterContexts = $diff => {
$diff.find('.diff-context.diff-side-deleted > div').each(function () {
let $row = $(this.closest('tr'))
.removeClass('diffnow-context-expanded');
if (this.scrollHeight > this.clientHeight) {
if (expanded.has($row[0])) {
$row.addClass('diffnow-context-expanded')
.children('.diff-marker').attr({
tabindex: 0,
role: 'button',
title: 'Collapse'
});
} else {
$row.addClass('diffnow-context-collapsed').children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
}
} else {
$row.removeClass('diffnow-context-collapsed')
.children().removeAttr('tabindex role title');
}
});
};
let onResize = mw.util.debounce(() => {
filterContexts($('.diffnow > .diff'));
}, 250);
let notif;
let showError = async (href, msg) => {
notif = await mw.notify([
document.createTextNode(msg || `Couldn't load the diff`),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' });
};
let getHistHref = () => {
let formData = new FormData(document.getElementById('mw-history-compare'));
return mw.util.getUrl(null, {
diff: formData.get('diff'),
oldid: formData.get('oldid')
});
};
$(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(selector) && !this.matches(switchSelector)
) {
return;
}
e.preventDefault();
let $link = $(this);
let isCompare = $link.hasClass('mw-history-compareselectedversions-button');
let href = isCompare ? getHistHref() : this.pathname + this.search;
let diff = getDiff(href);
try {
if (diff) {
diff.setLink(href, $link);
return;
}
if (!isCompare && this.origin !== location.origin) {
throw '';
}
diff = new Diff(href, $link);
let url = new URL(href, location.href);
url.searchParams.set('diffonly', 1);
url.searchParams.set('action', 'render');
let promise = fetch(url, { signal: diff.aborter.signal });
mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']);
if (notif) {
notif.close();
notif = null;
}
diff.append(await (await promise).text());
} catch (error) {
if (diff && !diff.attached) {
diff.destroy();
}
if (error.name === 'AbortError') {
notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' });
} else if (error !== 'nonfatal') {
showError(href, error);
console.error(error);
}
}
});
let css = mw.loader.addStyleTag(`${selector} {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
background-position: right;
background-repeat: no-repeat;
background-size: 10px 10px;
padding-right: 12px;
}
.mw-history-compareselectedversions-button {
background-position: right 6px center;
background-size: 14px 14px;
padding-right: 24px !important;
}
.skin-timeless .mw-history-compareselectedversions-button {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg);
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important;
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important;
}
.diffnow-link-loading {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important;
}
.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important;
}
.diffnow-link-open, .diffnow-context-expanded > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important;
}
.diffnow {
background: var(--background-color-base, #fff);
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 4px;
position: relative;
}
.mw-history-compareselectedversions + .diffnow {
margin-top: 0.3em;
}
.diffnow-tools {
display: flex;
position: sticky;
background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65));
z-index: 1;
}
.diffnow-tools-top {
top: 0;
border-radius: 4px;
}
.diffnow-tools-bottom {
bottom: 0;
}
.diffnow-tools > .diffnow-button {
cursor: pointer;
height: 24px;
padding: 0;
box-sizing: content-box;
background-position: center;
background-repeat: no-repeat;
background-size: 16px 16px;
background-color: var(--background-color-transparent, transparent);
flex-grow: 1;
}
.diffnow-tools > .diffnow-button:hover {
background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027));
}
.diffnow-tools > .diffnow-button:active {
background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082));
}
.diffnow-tools-top > .diffnow-button {
border: none;
border-radius: 3px 3px 0 0;
}
.diffnow-tools-bottom > .diffnow-button {
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 99px;
margin: 4px;
height: 20px;
}
.diffnow-switching > .diff {
transition: opacity 200ms;
opacity: 0.4;
}
.diffnow-checknext, .diffnow-checknext:visited {
color: var(--color-subtle, #54595d);
}
.diffnow :not(.diffnow-context-expanded) > .diff-context > div {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.diffnow-context-collapsed > td,
.diffnow-context-expanded > .diff-marker {
cursor: pointer !important;
background-position: center;
background-repeat: no-repeat;
background-size: 12px 12px;
}
.diffnow-context-collapsed > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
}
.diffnow-context-collapsed > .diff-context a {
pointer-events: none;
}
.diffnow .diff-multi > div {
display: flex;
justify-content: space-around;
}
.diffnow > .diff td div {
word-break: break-word;
}
.diffnow .mw-diff-inline-changed ins,
.diffnow .mw-diff-inline-changed del {
white-space: pre-wrap;
}
.diffnow-row .diffnow {
border: none;
}
.diffnow-row > td {
padding: 0 !important;
}
td.mw-changeslist-line-inner {
width: 100%;
}
.mw-enhanced-rc .diffnow > .diff td {
padding: 0.33em 0.5em;
}
.cdx-table__table-wrapper:has(.diffnow-row) {
overflow-x: visible;
}
span.mw-history-histlinks-current,
span.mw-history-histlinks-previous {
padding-right: 12px;
}
.client-js .diffnow .mw-anonuserlink {
padding-right: 0;
}`);
mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']);
diffs._disable = () => {
$(document.body).off('.diffnow');
css.remove();
};
if (isHist) {
$(document.body).on('change.diffnow', '#mw-history-compare', function () {
let $buttons = $('.mw-history-compareselectedversions-button');
let diff = getDiff(getHistHref());
if (diff) {
$buttons.addClass('diffnow-link-loaded');
if ($buttons.is(diff.$link) && diff.isVisible()) {
diff.$link.addClass('diffnow-link-open');
} else {
$buttons.removeClass('diffnow-link-open');
}
} else {
$buttons.removeClass('diffnow-link-loaded diffnow-link-open');
}
});
}
let added, tempLoaded, ipInfoLoaded;
mw.hook('wikipage.content').add(async () => {
await new Promise(mw.requestIdleCallback);
if (!document.querySelector(selector)) return;
let modules = ['mediawiki.diff', 'mediawiki.diff.styles'];
let cspn = mw.config.get('wgCanonicalSpecialPageName');
let loadTemp = !tempLoaded &&
Number(mw.user.options.get('checkuser-temporary-account-enable')) &&
!['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn);
if (loadTemp) {
modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles');
}
if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) {
modules.push('ext.checkUser.userInfoCard');
}
let loadIpInfo;
if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) {
modules.push('ext.ipInfo', 'ext.ipInfo.styles');
loadIpInfo = !ipInfoLoaded &&
['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn);
}
let promise = mw.loader.using(modules);
if (loadTemp || loadIpInfo) {
tempLoaded = loadTemp;
ipInfoLoaded = loadIpInfo;
await promise;
// https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js
let makeRequire = (moduleObj, basePath) => moduleName => {
let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/);
if (!relParts) {
return mw.loader.require(moduleName);
}
let baseDirParts = basePath.split('/');
baseDirParts.pop();
let prefixes = relParts[1].split('/');
prefixes.pop();
let prefix;
while ((prefix = prefixes.pop())) {
if (prefix === '..') {
baseDirParts.pop();
}
}
let fileName = baseDirParts.join('/');
if (fileName) {
fileName += '/';
}
fileName += relParts[2];
if (Object.hasOwn(moduleObj.packageExports, fileName)) {
return moduleObj.packageExports[fileName];
}
let scriptFiles = moduleObj.script.files;
if (!Object.hasOwn(scriptFiles, fileName)) {
throw Error('Cannot require undefined file ' + fileName);
}
let result;
let fileContent = scriptFiles[fileName];
if (typeof fileContent === 'function') {
let moduleParam = { exports: {} };
fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports);
result = moduleParam.exports;
} else {
result = fileContent;
}
moduleObj.packageExports[fileName] = result;
return result;
};
if (loadTemp) {
try {
let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts'];
makeRequire(pack, pack.script.main)('./initOnHook.js')();
} catch {}
}
if (loadIpInfo) {
try {
let pack = mw.loader.moduleRegistry['ext.ipInfo'];
makeRequire(pack, pack.script.main)('./popup/init.js')();
} catch {}
}
}
if (added || !document.getElementById('p-cactions')) return;
added = true;
let callback = (records, observer) => {
if (records[0].target.classList.contains('diffnow-link-loaded')) {
observer.takeRecords();
observer.disconnect();
clickFirst();
}
};
let clickFirst = () => {
let link = document.querySelector(selector);
if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) {
return;
}
new MutationObserver(callback).observe(link, { attributeFilter: ['class'] });
link.click();
};
mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => {
e.preventDefault();
clickFirst();
});
});
});
// window.smpg?._disable?.();
mw.loader.using('mediawiki.util', async function smoothPager() {
let action = mw.config.get('wgAction');
let isHist = action === 'history';
let isPerma = action === 'view' &&
['oldid', 'diff'].some(s => mw.util.getParamValue(s));
let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber');
let isFile = ns === 6;
let isCat = ns === 14;
let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName');
if (!(isHist || isPerma || isFile || isCat || cspn)) return;
let isSearch = cspn === 'Search';
let isWl = cspn === 'Watchlist';
let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked';
if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) {
return;
}
let isContribs = cspn === 'Contributions' || cspn === 'IPContributions';
let o = {
useRender: isCat || isWl || isRc,
selector: isPerma ? '#bodyContent' :
isFile ? '#mw-imagepage-section-filehistory' :
isCat ? '.mw-category-generated' :
'#mw-content-text',
outerSelectors: [],
linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' :
isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' :
isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' :
isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' :
`#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`,
canPost: isSearch || [
'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox'
].includes(cspn),
paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ ||
isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/,
reruns: [
'mediawiki.action.history',
'mediawiki.special.search',
'ext.advancedSearch.init',
'mediawiki.special.watchlist',
'mediawiki.special.watchlistedit',
'mediawiki.pager.codex',
'mediawiki.misc-authed-curate',
'mediawiki.misc-authed-ooui',
'mediawiki.misc-authed-pref',
'mediawiki.special.unwatchedPages',
'ext.thanks.corethank',
'ext.flaggedRevs.review',
'ext.gadget.watchlist-notice-core'
],
pages: []
};
if (isContribs) {
o.reruns.push('ext.ipInfo');
}
if (!o.useRender) {
o.outerSelectors.push('#firstHeading', '.mw-indicators');
if (!isPerma && !isFile) {
o.outerSelectors.push('#mw-content-subtitle');
}
}
o.formSelector = isHist && '#mw-history-searchform' ||
isSearch && '#search, #powersearch, #searchform' ||
cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`;
if (o.formSelector) {
o.formSelector += ', .cdx-table-pager__limit-form';
}
window.smpg = o;
let getHref = () => location.pathname + location.search;
let getKey = (href, isPost) => {
if (o.paramRe) {
let params = new URLSearchParams();
new URL(href, location.href).searchParams.forEach((v, k) => {
if (o.paramRe.test(k)) {
params.set(k, v);
}
});
params.sort();
return String(params);
}
if (isPost) {
return href + '??' + Date.now();
}
return href;
};
class Page {
constructor(href, key) {
this.href = href || getHref();
this.key = key || getKey(this.href);
this.keys = new Set().add(this.key);
o.pages.push(this);
}
init($response) {
if ($response) {
if (isWl || isRc) {
this.$cont = $(document.querySelector(o.selector).cloneNode())
.removeClass('smoothpager-switching')
.append($response);
} else {
let $cont = $response.filter(o.selector).not('script');
if (!$cont.length) {
$cont = $response.find(o.selector).not('script');
if (!$cont.length) {
throw 'Content not found';
}
}
$cont.find('script').remove();
this.$cont = $($cont[0]);
}
this.attached = 0;
} else {
if (this.$cont) return;
this.$cont = $(document.querySelector(o.selector));
this.attached = 1;
}
this.getConfigAndModules($response);
this.getOuterEls($response);
this.getDocTitle($response);
this.getRev($response);
}
getConfigAndModules($response) {
if (o.useRender) return;
if (!$response) {
this.config = Object.assign({}, window.RLCONF);
}
let $scripts = $response
? $response.filter('script').remove()
: $('head > script, body > script');
$scripts.map(function () {
return this.textContent.match(/\bmw\.config\.set\({.+}\);/g);
}).each((_, s) => {
let obj;
do {
try {
obj = JSON.parse(s.slice(14, -2));
} catch {
let i = s.slice(0, -3).lastIndexOf('});');
if (i === -1) return;
s = s.slice(0, i + 3);
}
} while (!obj);
this.config = Object.assign(this.config || {}, obj);
});
if (!$response) return;
let match = $scripts.first().text().replaceAll('\n', '')
.match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/);
if (match) {
try {
this.config = Object.assign(this.config || {}, JSON.parse(match[1]));
} catch {}
this.modules = [];
try {
this.modules.push(...Object.keys(JSON.parse(match[2])));
} catch {}
try {
this.modules.push(...JSON.parse(match[3]));
} catch {}
}
this.redirect();
}
setConfig() {
if (!this.config) return;
mw.config.set(this.config);
if (!o.cur.config) return;
Object.entries(o.cur.config).forEach(([k, v]) => {
if (!Object.hasOwn(this.config, k) &&
JSON.stringify(mw.config.get(k)) === JSON.stringify(v)
) {
delete mw.config.values[k];
}
});
}
getOuterEls($response) {
this.outerEls = o.outerSelectors.map(selector => (
$response ? $response.find(selector)[0] : document.querySelector(selector)
)).map(el => el && !this.$cont[0].contains(el) && el);
}
setOuterEls() {
o.outerSelectors.forEach((selector, i) => {
let outer = document.querySelector(selector);
if (!outer) return;
$(outer).before(this.outerEls[i] || outer.cloneNode()).detach();
});
}
getDocTitle($response) {
if (o.useRender) return;
if ($response) {
let $title = $response.filter('title');
if ($title.length) {
this.docTitle = $title.text();
}
} else {
this.docTitle = document.title;
}
}
setDocTitle() {
if (this.docTitle) {
document.title = this.docTitle;
} else if (this.outerEls[0] && o.cur.outerEls?.[0]) {
document.title = document.title.replace(
o.cur.outerEls[0].textContent.trim(),
this.outerEls[0].textContent.trim()
);
}
}
getRev($response) {
if (!isPerma) return;
let params = new URLSearchParams(this.key);
if (params.has('diff')) {
if ($response) {
let dir = params.get('diff') === 'next' ? 'prev' : 'next';
let id = this.config?.[
dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId'
];
if (!id) {
id = this.findParam(
'oldid',
dir === 'prev'
? '#mw-diff-ntitle1 > strong > a, #differences-prevlink'
: '#mw-diff-otitle1 > strong > a, #differences-nextlink'
);
}
if (id) {
this.rev = dir === 'prev' ? id : params.get('oldid');
params.set('diff', dir);
params.set('oldid', id);
this.keys.add(String(params));
}
} else {
this.rev = mw.config.get('wgDiffNewId');
let pn = this.findParam(
'title',
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (pn === mw.config.get('wgPageName') &&
!this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi')
) {
params.set('diff', 'prev');
params.set('oldid', this.rev);
this.keys.add(String(params));
let oldId = mw.config.get('wgDiffOldId');
if (oldId) {
params.set('diff', 'next');
params.set('oldid', oldId);
this.keys.add(String(params));
}
}
}
} else {
if ($response) {
if (params.has('direction')) {
let id = this.config?.wgRevisionId;
if (!id) {
id = this.findParam(
'oldid',
'#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink',
$response
);
}
if (id) {
this.rev = id;
this.keys.add('oldid=' + id);
o.cur.keys.add(`direction=${
params.get('direction') === 'next' ? 'prev' : 'next'
}&oldid=${id}`);
}
} else {
this.rev = params.get('oldid');
}
} else {
this.rev = mw.config.get('wgRevisionId');
if (params.has('direction')) {
this.keys.add('oldid=' + this.rev);
}
}
}
}
findParam(param, query, $range = this.$cont) {
let search = $range.find(query).prop('search');
return search && mw.util.getParamValue(param, search);
}
updateLinks() {
if (this.rev) {
$('#ca-edit > a').attr('href', mw.util.getUrl(null, {
action: 'edit',
oldid: this.rev
}));
$('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink')
.attr('href', mw.util.getUrl(null, { oldid: this.rev }));
}
$('#ca-nstab-special > a').attr('href', this.href);
$('.printfooter > a').attr('href', location.href).text(location.href);
$('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () {
let url = new URL(location.href);
url.searchParams.set(
'mobileaction',
mw.util.getParamValue('mobileaction', this.search)
);
return '//' + this.host + url.pathname + url.search;
});
$('#t-urlshortener > a').attr('href', function () {
let params = new URLSearchParams(this.search);
params.set('url', location.href);
return this.pathname + '?' + params;
});
}
redirect() {
if (this.config.wgAction !== mw.config.get('wgAction') ||
this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '')
) {
location.href = this.href;
throw 'redirect';
}
}
replaceContent(isPopState, isRefresh) {
let oldCont = document.querySelector(o.selector);
if (this.$cont.is(oldCont)) {
throw 'Attempt to replace content with itself';
}
if (!isPopState && !isRefresh) {
this.pushState();
}
$(oldCont).before(this.$cont).detach();
console.log(this.key, o);
this.setOuterEls();
this.setDocTitle();
this.setConfig();
if (isSearch && this.attached) {
let input = this.$cont[0].querySelector('#searchText > input');
if (input) {
input.value = input.defaultValue;
}
}
o.cur = this;
this.loadModules(isPopState);
this.updateLinks();
}
pushState() {
history.pushState({ _smpg: this.key }, '', this.href);
history.replaceState({ _smpg: this.key }, '', this.href);
}
async loadModules(isPopState) {
o.pending = true;
try {
await mw.loader.using(this.modules || []);
} catch {} finally {
o.pending = false;
if (!this.attached) {
this.fireHooks();
this.rerunModules();
}
if (!isPopState) {
this.scroll();
}
this.attached++;
}
}
fireHooks() {
mw.hook('wikipage.content').fire(this.$cont);
this.$cont.find('.diff[data-mw-interface]').each(function () {
mw.hook('wikipage.diff').fire($(this));
});
this.$cont.find('.catlinks[data-mw-interface]').each(function () {
mw.hook('wikipage.categories').fire($(this));
});
mw.hook('htmlform.enhance').fire(this.$cont);
}
rerunModules() {
o.reruns.forEach(m => {
let pack = mw.loader.moduleRegistry[m];
if (!pack || pack.state !== 'ready') return;
if (typeof pack.script === 'function') {
pack.script($, $, mw.loader.require, pack.module);
return;
}
delete mw.loader.moduleRegistry[m];
mw.loader.implement(
m + '@' + pack.version, pack.script, pack.style,
pack.messages, pack.templates, pack.deprecationWarning
);
});
if ((isHist || isContribs || isRc) && window.Twinkle) {
window.Twinkle.rollback();
}
}
scroll() {
let form = o.formSelector && this.$cont[0].querySelector(o.formSelector);
if (form) {
let y = form.getBoundingClientRect().bottom;
if (y < 0) {
window.scrollBy(0, y);
}
} else if (this.$cont[0].getBoundingClientRect().top < 0) {
this.$cont[0].scrollIntoView();
}
}
}
o.cur = new Page();
let getContent = async (href, state, options) => {
if (o.pending) return;
o.aborter?.abort();
let key = state?._smpg || getKey(href, !!options);
let isRefresh = key === o.cur.key;
if (state && isRefresh) return;
let oldCont = document.querySelector(o.selector);
if (!oldCont) {
notify(href, 'No element to replace', 'error');
return;
}
let page = o.pages.find(p => p.keys.has(key));
if ((state || !isRefresh) && page) {
page.href = href;
page.replaceContent(!!state, isRefresh);
return;
}
oldCont.classList.add('smoothpager-switching');
let $throbber = $('<div>').addClass('smoothpager-throbber')
.appendTo(document.body);
if (!isRefresh && o.pages.length === 1) {
o.cur.init();
}
o.aborter = new AbortController();
let url = href;
if (o.useRender) {
url = new URL(href, location.href);
url.searchParams.set('action', 'render');
}
let promise = fetch(url, Object.assign({
signal: o.aborter.signal
}, options));
if (notif) {
notif.close();
notif = null;
}
try {
let response = await (await promise).text();
if (page) {
page.href = href;
} else {
page = new Page(href, key);
}
page.init($($.parseHTML(response, !o.useRender)));
page.replaceContent(!!state, isRefresh);
} catch (e) {
if (e.name === 'AbortError') {
if (state && o.cur) {
o.cur.pushState();
}
} else if (e === 'redirect') {
notify(href, 'Redirecting...');
} else {
notify(href, e || `Couldn't load the page`, 'error');
console.error(e);
}
} finally {
o.aborter = null;
oldCont.classList.remove('smoothpager-switching');
$throbber.remove();
}
};
let notif;
let notify = async (href, msg, type) => {
notif = await mw.notify([
document.createTextNode(msg),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], {
autoHideSeconds: 'long',
tag: 'smoothpager',
type: type
});
};
let onClick = function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(o.linkSelector) || this.origin !== location.origin
) {
return;
}
e.preventDefault();
getContent(this.pathname + this.search);
};
let onKeyDown = e => {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
e.target.closest(':read-write')
) {
return;
}
switch (e.which) {
case 27:
o.aborter?.abort();
break;
case 110:
case 190:
e.preventDefault();
getContent(getHref());
}
};
let onPopState = e => {
let state = e.originalEvent.state;
if (state && !state._smpg) return;
history.replaceState(state, '', location.href);
getContent(getHref(), state || {});
};
let onSubmit = e => {
if (e.originalEvent && (
e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted
) || !o.canPost && e.target.method !== 'get' ||
!e.target.matches(o.formSelector)
) {
return;
}
let path = e.target.getAttribute('action');
let isScript = path === mw.config.get('wgScript');
let comps = [mw.config.get('wgPageName')];
if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) {
comps.push(comps[0].replace(/\/.*/, ''));
}
comps.push((comps[1] || comps[0]) + '/');
if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return;
let formData = new FormData(e.target);
if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) {
return;
}
e.preventDefault();
e.stopPropagation();
if (isSearch && e.target.id !== 'searchform') {
formData.set('search', OO.ui.infuse($('#searchText')).getValue());
} else if (e.target.method === 'post') {
let submitter = e.originalEvent?.submitter;
if (submitter?.name) {
formData.append(submitter.name, submitter.value);
}
getContent(path, null, {
method: 'POST',
headers: { 'Content-Type': e.target.enctype },
body: e.target.enctype === 'multipart/form-data'
? formData
: new URLSearchParams(formData)
});
return;
}
getContent(path + '?' + new URLSearchParams(formData));
};
let setPortlet = text => {
if (!o.portletLink) return;
$(o.portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = text;
return false;
}
});
};
o._enable = () => {
o.enabled = true;
let $body = $(document.body).on('click', 'a', onClick);
if (o.formSelector) {
$body.on('submit', onSubmit);
}
$body.parent().on('keydown', onKeyDown);
$(window).on('popstate', onPopState);
if (o.css) {
o.css.disabled = false;
}
if (isPerma) {
mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable);
}
setPortlet('Disable SmoothPager');
};
o._disable = () => {
o.enabled = false;
$(document.body).off('click', onClick).off('submit', onSubmit)
.parent().off('keydown', onKeyDown);
$(window).off('popstate', onPopState);
o.css.disabled = true;
mw.trackUnsubscribe(o._disable);
setPortlet('Enable SmoothPager');
};
o._enable();
o.css = mw.loader.addStyleTag(`${o.linkSelector},
.cdx-table__table__sort-button {
color: #008064 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):visited {
color: #006400 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):active {
color: #faa700 !important;
}
.cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon {
background-color: #14866d;
}
.smoothpager-switching {
opacity: 0.75;
}
.smoothpager-throbber {
width: 20%;
height: 0.5vh;
position: fixed;
top: 0;
left: 0;
background-color: var(--background-color-progressive, #36c);
transform: translate(-100%);
animation: smoothpager-throbber 1s infinite linear;
}
@keyframes smoothpager-throbber {
to {
transform: translate(700%);
}
}
@media (prefers-reduced-motion: reduce) {
.smoothpager-throbber {
animation: smoothpager-throbber 1s infinite steps(10,end) !important;
width: 40%;
}
}${o.formSelector ? `
:is(${o.formSelector}) input[type="submit"],
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: var(--color-inverted, #fff);
background-color: #14866d;
border-color: #14866d;
}
:is(${o.formSelector}) input[type="submit"]:hover,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-color: #00af89;
border-color: #00af89;
}
:is(${o.formSelector}) input[type="submit"]:focus,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
border-color: #14866d;
}
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff;
}
:is(${o.formSelector}) input[type="submit"]:active,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active {
background-color: #0e725a;
border-color: #0e725a;
box-shadow: none;
}` : ''}`);
await $.ready;
if (!document.getElementById('p-cactions')) return;
o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild;
o.portletLink.addEventListener('click', e => {
e.preventDefault();
o[o.enabled ? '_disable' : '_enable']();
});
});
window.smartdiffTemplates = [
{
names: ['T', 'Tl'],
namespace: 10,
forceNs: true,
end: 1
},
{
names: ['Tlx'],
namespace: 10,
end: 1
},
{
names: ['U'],
prefix: 'Special:Contributions/',
end: 1
},
{
names: ['Re', 'Reply to', 'Ping'],
prefix: 'Special:Contributions/'
},
{
names: ['About'],
start: 3,
skipEven: true
},
{
names: ['For'],
start: 2
},
{
names: ['Other uses', 'Otheruses'],
end: 1
},
{
names: ['Section link', 'Slink'],
end: 1
},
{
names: ['Redirect'],
skipEven: true,
noRedirectEnd: 1
},
{
names: ['Shortcut'],
noRedirectStart: 1
},
{
names: ['Tracked', 'Phab'],
prefix: 'phab:',
end: 1
},
{
names: [
'Distinguish',
'Main', 'Main article',
'Further',
'See also', 'Seealso'
]
},
{
names: ['Ll'],
end: 1
}
];
mw.loader.using([
'mediawiki.util', 'mediawiki.Title', 'mediawiki.api'
], function smartDiff() {
mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}');
class SmartDiff {
constructor($diff) {
this.$diff = $diff;
this.isSpecial = mw.config.get('wgNamespaceNumber') === -1;
this.isView = mw.config.get('wgAction') === 'view' &&
new URLSearchParams(location.search).get('diffonly') !== '1';
this.magicWords = [
'!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:',
'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME',
'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1',
'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN',
'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK',
'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:',
'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME',
'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:',
'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2',
'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1',
'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME',
'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:',
'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER',
'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES',
'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS',
'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:',
'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:',
'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:',
'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP',
'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR',
'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE',
'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:',
'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:',
'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:',
'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:',
'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:',
'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:'
];
if (window.smartdiffMagicWords) {
this.magicWords.push(...window.smartdiffMagicWords);
}
try {
this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages;
} catch (e) {}
if (!this.subNs) {
this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces'))
.map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns));
}
this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?<(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!>).*?>)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?<(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?>(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g;
this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:<|$))/g;
// https://commons.wikimedia.org/wiki/Special:MediaStatistics
this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi;
this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g;
if (window.smartdiffTemplates) {
this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g;
this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/;
this.templates = window.smartdiffTemplates;
}
this.side = 'old';
$diff.find('.diff-deletedline > div').get().forEach(this.processDiv);
this.side = 'new';
$diff.find('.diff-addedline > div').get().forEach(this.processDiv);
let $contexts = $diff.find('.diff-context > div');
$contexts.each((i, div) => {
if (i % 2) {
this.side = 'new';
if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) {
this.processDiv(div);
} else {
$contexts.eq(i).replaceWith($contexts.eq(i - 1).clone());
}
} else {
this.side = 'old';
this.propUsed = false;
this.processDiv(div);
}
});
this.links = {};
$diff.find('.smartdiff-link:not(.external)').each((i, link) => {
let title = link.title;
if (!title) return;
if (!this.links.hasOwnProperty(title)) {
this.links[title] = [];
}
this.links[title].push(link);
});
this.query(Object.keys(this.links).slice(0, 500));
if (this.hasError) {
mw.notify('SmartDiff error', { type: 'warn' });
}
}
processDiv = div => {
if (div.querySelector('a[href]')) return;
let origHtml = div.innerHTML;
let newHtml = origHtml.replace(this.urlRe, this.urlRep)
.replace(this.galleryRe, this.galleryRep)
.replace(this.re, this.rep).replace(this.headRe, this.headRep);
if (this.tempRe) {
newHtml = newHtml.replace(this.tempRe, this.tempRep);
}
if (newHtml === origHtml) return;
newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, '');
let $newDiv = $('<div>').html(newHtml);
if (this.detectErrors($newDiv, newHtml, origHtml, div)) return;
div.textContent = '';
$newDiv.contents().appendTo(div);
};
rep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s), isTemp;
if (t) {
if ($1.includes('invoke')) {
t = mw.Title.makeTitle(828, s);
} else if (s[0] === '/') {
if (this.subNs.includes(this.getProp('ns'))) {
t = mw.Title.newFromText(
this.getProp() + s.replace(/\/+$/, '')
);
} else if ($1[0] === '{') {
t.namespace = 10;
}
} else if ($1[0] === '{') {
if (s[0] === '#') {
return $0;
}
if ($1.includes('int')) {
t = mw.Title.makeTitle(8, s);
} else if (!t.namespace && s[0] !== ':') {
if (!$1.includes('msg') && !$1.includes('raw')) {
let match = s.match(/^[^:]+(?::(?=.)|$)/);
if (match && this.magicWords.includes(match[0])) {
return $0;
}
}
t.namespace = 10;
isTemp = true;
}
} else if ((this.isSpecial || !this.isView) && s[0] === '#') {
t.title = this.getProp();
}
} else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) {
let chunks = s.split('/');
let levelCount = chunks.findIndex(v => v !== '..');
let sup = this.getProp().split('/').slice(0, -levelCount).join('/');
if (sup) {
let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, '');
t = mw.Title.newFromText(sub ? sup + '/' + sub : sup);
}
}
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView || s[0] !== '#') {
attrs.title = t.toText();
}
if (isTemp && this.tempRe) {
let name = t.getMainText();
let idx = this.templates.findIndex(temp => temp.names.includes(name));
if (idx !== -1) {
attrs['data-smartdiff-temp'] = idx;
}
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
stripTags(s, decode, pre = '', post = '') {
let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g);
s = $($.parseHTML(s.replace(/&/g, '&'))).text();
if (decode) {
try {
s = decodeURIComponent(s);
} catch (e) {}
}
if (tags) {
if (tags[0][1] === '/') {
pre += tags[0];
mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid;
}
let lastTag = tags.pop();
if (lastTag[1] !== '/') {
mid += `</${lastTag.slice(1, 4)}>`;
post = lastTag + post;
}
}
return [s, pre, mid, post];
}
headRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1')
.replace(/''(.+?)''/g, '$1')
.replace(/^_+|_+$/g, '');
let t = mw.Title.newFromText(
`${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}`
);
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView) {
attrs.title = t.toText();
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
galleryRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s, 6);
if (t && t.namespace !== 6) {
t = mw.Title.makeTitle(6, s);
}
if (!t) {
return $0;
}
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(),
title: t.toText()
}).html(mid)[0].outerHTML + post;
};
urlRep = ($0, $1, $2, $3) => {
let main = $2, trail;
if (!$1) {
if (!$3) {
return $0;
}
let re = main.includes('(')
? /[!,.:;?](?:<[^>]*>)?$/
: /[!),.:;?](?:<[^>]*>)?$/;
let match = main.match(re);
if (match &&
!/&(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main)
) {
trail = match[0];
main = main.slice(0, -trail.length);
}
}
let [url, pre, mid, post] = this.stripTags(main);
if ($1) {
pre = $1 + pre;
} else if (trail) {
post += trail;
}
return pre + $('<a>').attr({
class: 'smartdiff-link external',
href: url,
rel: 'nofollow'
}).html(mid)[0].outerHTML + post;
};
tempRep = ($0, $1, $2, $3) => {
if ($3.includes('<a class="smartdiff-link')) {
return $0;
}
let temp = this.templates[$2];
return $1 + $3.split(this.tempSubRe).map((os, i) => {
if (!os || i % 2) {
return os;
}
let j = i / 2;
if (j < temp.start || j > temp.end ||
temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0
) {
return os;
}
let [s, pre, mid, post] = this.stripTags(os, true);
if (temp.prefix) {
s = temp.prefix + s;
}
if (temp.suffix) {
s += temp.suffix;
}
let t = temp.forceNs
? mw.Title.makeTitle(temp.namespace, s)
: mw.Title.newFromText(s, temp.namespace);
if (!t) {
return os;
}
let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) &&
{ redirect: 'no' };
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(params),
title: t.toText()
}).html(mid)[0].outerHTML + post;
}).join('');
};
getProp(n = 'pn', side = this.side) {
this.propUsed = true;
if (this[side]) {
if (this[side][n]) {
return this[side][n];
}
} else {
this[side] = {};
let link = this.$diff[0].querySelector(
side === 'old'
? '#mw-diff-otitle1 a, #differences-prevlink'
: '#mw-diff-ntitle1 a, #differences-nextlink'
);
if (link) {
let pn = mw.util.getParamValue('title', link.search);
this[side].pn = pn;
this[side].ns = mw.Title.newFromText(pn).namespace;
return this[side][n];
}
}
if (this[n]) {
return this[n];
}
if (this.isSpecial) {
this.pn = '';
this.ns = 0;
} else {
this.pn = mw.config.get('wgPageName');
this.ns = mw.config.get('wgNamespaceNumber');
}
return this[n];
}
query(titles) {
if (!titles.length) return;
new mw.Api().post({
action: 'query',
titles: titles.slice(0, 50),
iwurl: 1,
prop: 'info',
inprop: 'linkclasses',
inlinkcontext: this.getProp(),
formatversion: 2
}, {
headers: { 'Promise-Non-Write-API-Action': 1 }
}).then(response => {
let query = response && response.query;
if (!query) return;
let data = {};
(query.pages || []).forEach(page => {
let obj = { classes: page.linkclasses || [] };
if (page.missing && !page.known) {
obj.classes.push('new');
obj.params = { action: 'edit', redlink: 1 };
}
data[page.title] = obj;
});
(query.interwiki || []).forEach(interwiki => {
data[interwiki.title] = {
classes: ['extiw'],
url: interwiki.url
};
});
(query.normalized || []).forEach(entry => {
if (!data.hasOwnProperty(entry.to)) return;
let obj = data[entry.to];
obj.canonical = entry.to;
if (!obj.url) {
obj.url = mw.util.getUrl(entry.to, obj.params);
}
data[entry.from] = obj;
});
Object.entries(data).forEach(([title, obj]) => {
if (!this.links.hasOwnProperty(title)) return;
let $links = $(this.links[title]).addClass(obj.classes)
.attr('title', obj.canonical);
if (obj.url) {
$links.attr('href', function () {
return obj.url + this.hash;
});
}
});
this.query(titles.slice(50));
});
}
detectErrors($newDiv, newHtml, origHtml, div) {
let comp = $newDiv.html();
if (comp !== newHtml) {
console.warn(
'SmartDiff syntax error at:\n',
div,
`\nNew HTML:\n${newHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
let $comp = $newDiv.clone();
$comp.find('.smartdiff-link').contents().unwrap();
comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, '');
if (comp !== origHtml) {
console.warn(
'SmartDiff mutation error at:\n',
div,
`\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
}
}
mw.hook('wikipage.diff').add($diff => {
new SmartDiff($diff);
});
});
(function copySectLink() {
let dependencies = ['mediawiki.util'];
let classes = 'copysectlink';
let css;
switch (mw.config.get('skin')) {
case 'minerva':
classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet';
css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}';
break;
case 'timeless':
classes += ' mw-ui-icon-copy';
css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}';
}
if (css) {
mw.loader.addStyleTag(css);
dependencies.push('oojs-ui.styles.icons-editing-advanced');
}
let handler = function (e) {
e.preventDefault();
e.stopPropagation();
let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace(
/[\[\]{|}]/g,
s => '&#' + s.codePointAt(0) + ';'
) : '')).replace(/_/g, ' ');
let $input = $('<input>').attr({
type: 'text',
readonly: '',
style: 'position:fixed;top:-100%'
}).val(text).appendTo(document.body);
$input[0].select();
let copied;
try {
copied = document.execCommand('copy');
} catch (e) {}
$input.remove();
if (copied) {
mw.notify(`Copied "${text}"`);
} else {
mw.notify('Copy failed', { type: 'error' });
}
};
let addButton = (block, id) => {
let $button = $('<a>').attr({
class: classes + (id ? ' mw-selflink-fragment' : ''),
href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''),
role: 'button'
}).text('copy').on('click', handler);
let isMinerva = mw.config.get('skin') === 'minerva';
if (isMinerva) {
$button.attr('title', 'Copy').wrapInner('<span>')
.prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert'));
}
let wrapper = block.querySelector('.mw-editsection');
if (wrapper) {
$button[isMinerva ? 'prependTo' : 'appendTo'](wrapper);
} else {
$('<span>').addClass('mw-editsection')
.append($button).appendTo(block);
}
};
if (['view', 'purge'].includes(mw.config.get('wgAction'))) {
['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => {
let state = mw.loader.getState(m);
if (state && state !== 'registered') {
dependencies.push(m);
}
});
}
$.when($.ready, mw.loader.using(dependencies)).then(() => {
if (mw.config.get('wgNamespaceNumber') >= 0) {
addButton(document.getElementById('firstHeading'));
}
mw.hook('wikipage.content').add($content => {
$content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () {
addButton(this.parentElement, this.id);
});
$content.find(
':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]'
).each(function () {
addButton(this, this.id);
});
});
});
}());
mw.loader.using([
'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage'
], function ipaInput() {
if (!mw.libs.ve.isVisualAvailable &&
!['edit', 'submit'].includes(mw.config.get('wgAction'))
) {
return;
}
mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`);
let clicked;
let openDialog = () => {
if (clicked) {
if (window.ipaInputDialog) {
window.ipaInputDialog.open();
}
return;
}
clicked = true;
mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript');
mw.loader.using([
'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets',
'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core',
'oojs-ui.styles.icons-editing-advanced'
]);
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
ipainput: {
label: 'IPAInput',
type: 'button',
oouiIcon: 'schwa',
action: { type: 'callback', execute: openDialog }
}
}
});
});
mw.hook('ve.loadModules').add(addPlugin => {
addPlugin(() => {
ve.ui.IpaInputCommand = function VeUiIpaInputCommand() {
ve.ui.IpaInputCommand.super.call(this, 'ipaInput');
};
OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command);
ve.ui.IpaInputCommand.prototype.execute = () => {
openDialog();
return true;
};
ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand());
ve.ui.IpaInputTool = function VeUiIpaInputTool() {
ve.ui.IpaInputTool.super.apply(this, arguments);
};
OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool);
ve.ui.IpaInputTool.static.name = 'ipaInput';
ve.ui.IpaInputTool.static.group = 'insert';
ve.ui.IpaInputTool.static.icon = 'schwa';
ve.ui.IpaInputTool.static.title = 'IPA';
ve.ui.IpaInputTool.static.commandName = 'ipaInput';
ve.ui.toolFactory.register(ve.ui.IpaInputTool);
});
});
mw.requestIdleCallback(() => {
let expiry = mw.storage.get('_EXPIRY_ipainput-cache');
if (!expiry) return;
$.get(
'//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata'
).then(response => {
if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) {
mw.storage.remove('ipainput-cache');
}
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
(function wiktIpa() {
mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`);
let clicked, dialog, input, $result;
let openDialog = async context => {
if (clicked) {
if (dialog) {
let selection = context.$textarea.textSelection('getSelection');
if (selection) {
input.setValue(selection);
}
if ($result) {
$result.prev().addBack().remove();
$result = null;
}
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
}
return;
}
clicked = true;
await mw.loader.using([
'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi',
'mediawiki.util'
]);
let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({
action: 'query',
generator: 'search',
gsrsearch: 'deepcat:Pronunciation_templates_by_language',
gsrnamespace: 10,
gsrlimit: 'max',
gsrsort: 'none',
formatversion: 2
});
let winMan = new OO.ui.WindowManager();
dialog = new OO.ui.MessageDialog();
winMan.addWindows([dialog]);
let items = response.query.pages
.map(p => p.title.slice(9))
.sort(Intl.Collator('en-u-kn-true').compare)
.map(s => new OO.ui.MenuOptionWidget({ label: s }));
let dropdown = new OO.ui.DropdownWidget({
$overlay: dialog.$overlay,
menu: { items }
});
let $doc = $('<p>');
dropdown.getMenu().on('choose', mw.util.debounce(async item => {
let title = 'Template:' + item.getLabel();
let $link = $('<a>').attr({
href: '//en.wiktionary.org/wiki/' + title,
target: '_blank',
title: title
}).text('documentation');
$doc.empty().append('Loading ', $link, '...');
try {
let data = await $.get(
'//en.wiktionary.org/api/rest_v1/page/html/' +
encodeURIComponent(title + '/documentation')
);
let text = $($.parseHTML(data)).find('p').first().text()
.replace(/\. .*/, '.');
$doc.text(text + ' (').append($link.text('read more'), ')');
dialog.updateSize();
} catch {
$doc.empty().append('Failed to load ', $link);
}
}, 100)).selectItem(items[0]);
input = new OO.ui.TextInputWidget({
autocomplete: false,
value: context.$textarea.textSelection('getSelection') ||
mw.config.get('wgTitle')
});
let button = new OO.ui.ButtonWidget({
disabled: !input.getValue(),
label: 'Get',
flags: ['primary', 'progressive']
}).on('click', async () => {
button.setDisabled(true);
let template = dropdown.getMenu().findSelectedItem().getLabel();
let text = input.getValue();
try {
let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', {
wikitext: `{{${template}|1=${text}}}`,
body_only: true
});
if ($result) {
$result.children().remove();
} else {
$result = $('<div>').text('Result:')
.insertAfter(fieldset.$element)
.before('<hr>');
}
$result.append($.parseHTML(data))
.find('.mw-collapsible').makeCollapsible().end()
.find('[id], [about]').removeAttr('id about').end()
.find('a').attr('target', '_blank')
.filter('[href^="./"]').attr('href', (_, href) => (
'//en.wiktionary.org/wiki' + href.slice(1)
));
dialog.updateSize();
} catch {} finally {
button.setDisabled();
}
});
input.on('change', value => {
button.setDisabled(!value);
}).connect(button, { enter: ['emit', 'click'] });
let fieldset = new OO.ui.FieldsetLayout({
items: [
new OO.ui.FieldLayout(dropdown, {
label: 'Template:',
align: 'top'
}),
new OO.ui.FieldLayout(input, {
label: 'Input:',
align: 'top'
}),
new OO.ui.FieldLayout(button)
]
});
dropdown.$element.after($doc);
dialog.text.$element.append(fieldset.$element/*.on('keydown', e => {
e.stopPropagation();
})*/);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
wiktipa: {
label: 'WiktIPA',
type: 'button',
oouiIcon: 'wiktionary',
action: { type: 'callback', execute: openDialog }
}
}
});
});
}());
window.scripttesterSkipWarning = true;
mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() {
let get = () => new Set(mw.storage.getObject('scripttester'));
if (mw.storage.get('scripttester')) {
let unloading;
window.addEventListener('beforeunload', () => {
unloading = true;
});
get().forEach(async s => {
let isCss = /\.css$/i.test(s);
let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, {
action: 'raw',
ctype: isCss ? 'text/css' : 'text/javascript'
});
if (isCss) {
mw.loader.load(url, 'text/css');
return;
}
try {
await mw.loader.getScript(url);
} catch (e) {
if (unloading) {
console.warn(e);
return;
}
mw.notify('Failed to load temporarily installed ' + s, { type: 'error' });
}
});
} else if (!window.scripttesterSkipWarning) {
await mw.loader.using('oojs-ui-windows');
if (await OO.ui.confirm(
'You take full responsibility for any consequences arising from using ScriptTester.'
)) {
mw.storage.setObject('scripttester', []);
}
}
await $.ready;
if (!document.getElementById('p-tb')) return;
let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}');
let linksShown = mw.config.get('wgNamespaceNumber') > 0 &&
mw.config.get('wgAction') === 'view';
let updateLinks = (s, unins) => {
if (!linksShown) return;
$(`.scripttester-link[data-scripttester="${s}"]`)
.toggleClass('scripttester-installed', !unins);
};
let dialog, multiselect, addButton, removeButton, clearButton;
let openDialog = () => {
if (!dialog) {
dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] });
let winMan = new OO.ui.WindowManager();
winMan.addWindows([dialog]);
multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => {
removeButton.setDisabled(!multiselect.findSelectedItems().length);
});
addButton = new OO.ui.ButtonWidget({
label: 'Add'
}).on('click', async () => {
dialog.toggle(false);
let s = (await OO.ui.prompt('Add a script', {
textInput: { placeholder: 'Script page name or URL' }
})).trim();
if (!s) return;
if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) {
await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`);
dialog.toggle(true);
updateDialog();
return;
}
mw.storage.setObject('scripttester', [...get().add(s)]);
updateLinks(s);
});
removeButton = new OO.ui.ButtonWidget({
label: 'Remove'
}).on('click', () => {
let set = get();
multiselect.findSelectedItems().forEach(item => {
let s = item.getLabel();
set.delete(s);
updateLinks(s, true);
});
mw.storage.setObject('scripttester', [...set]);
updateDialog();
});
clearButton = new OO.ui.ButtonWidget({
label: 'Clear',
flags: 'destructive'
}).on('click', async () => {
dialog.toggle(false);
if (!(await OO.ui.confirm('Uninstall all scripts?'))) {
dialog.toggle(true);
return;
}
mw.storage.setObject('scripttester', []);
if (linksShown) {
$('.scripttester-installed').removeClass('scripttester-installed');
}
dialog.toggle(true);
updateDialog();
});
dialog.text.$element.append(
multiselect.$element,
new OO.ui.ButtonGroupWidget({
items: [addButton, removeButton]
}).$element,
clearButton.$element
);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
}
updateDialog();
dialog.open({
message: 'Temporarily installed scripts:',
actions: [{ label: 'Done', flags: ['safe', 'close'] }]
});
};
let updateDialog = () => {
let set = get();
multiselect.clearItems().addItems(
[...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s }))
);
removeButton.setDisabled(true);
clearButton.toggle(set.size);
dialog.updateSize();
updatePortlet(set.size);
};
let updatePortlet = count => {
$(portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = `Temporarily installed scripts (${count})`;
return false;
}
});
};
let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`)
.firstElementChild;
portletLink.addEventListener('click', e => {
e.preventDefault();
mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog);
});
window.addEventListener('storage', e => {
if (e.key === 'scripttester') {
updatePortlet(get().size);
}
});
if (!linksShown) return;
css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}';
let linkHandler = function () {
let s = this.dataset.scripttester;
let unins = this.classList.contains('scripttester-installed');
let set = get();
set[unins ? 'delete' : 'add'](s);
let success = mw.storage.setObject('scripttester', [...set]);
if (success) {
mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, {
tag: 'scripttester'
});
updateLinks(s, unins);
updatePortlet(set.size);
} else {
mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, {
tag: 'scripttester',
type: 'error'
});
}
};
if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) &&
['javascript', 'css'].includes(mw.config.get('wgPageContentModel'))
) {
let s = mw.config.get('wgPageName').replaceAll('_', ' ');
$('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
).appendTo(document.getElementById('firstHeading'));
return;
}
mw.hook('wikipage.content').add($content => {
let set = get();
let ns = mw.config.get('wgFormattedNamespaces');
let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`);
$content.find('a:not(.external, .new)').after(function () {
let s = this.title;
if (!s || !re.test(s)) return;
return $('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
);
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.on('keydown', async e => {
if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return;
e.preventDefault();
let context = $textarea.data('wikiEditorContext');
context.api.openDialog(context, 'search-and-replace');
await mw.loader.using('jquery.textSelection');
let tb = document.getElementById('wikieditor-toolbar-replace-search');
let sel = $textarea.textSelection('getSelection');
if (sel) {
tb.value = sel;
}
tb.focus();
});
$(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => {
$textarea[0].focus();
});
});
mw.config.get('wgNamespaceNumber') &&
mw.config.get('wgAction') !== 'history' &&
(function catChangeHighlighter() {
let run;
mw.hook('wikipage.content').add($content => {
$content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () {
let text = this.querySelector('.comment').textContent;
if (text.includes(' added ')) {
this.classList.add('catchangehighlighter-addition');
} else if (text.includes(' removed ')) {
this.classList.add('catchangehighlighter-removal');
}
if (run) return;
run = true;
mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}');
});
});
}());
(mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' ||
[-1, 14].includes(mw.config.get('wgNamespaceNumber'))) &&
(function diffFontSwitcher() {
mw.loader.addStyleTag('.diff-lineno{cursor:pointer}');
$(document.body).on('click keydown', '.diff-lineno', function (e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
this.closest('.diff').classList.toggle('difffontswitcher-enabled');
});
mw.hook('wikipage.diff').add($diff => {
$diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' });
});
}());
mw.trackSubscribe('resourceloader.exception', (topic, data) => {
mw.notify(data.exception, {
autoHide: false,
title: `Exception in ${data.source} in module ${data.module}`,
type: 'warn'
});
});
mw.config.get('skin') === 'vector-2022' &&
$(document).one('click', '.mw-interlanguage-selector', async () => {
await mw.loader.using('ext.uls.mediawiki');
$.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow';
mw.uls.getFrequentLanguageList = () => [];
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's');
t1duj8wyhbbjd4ewe1e9u739mcja4wd
747596
747595
2026-06-19T06:15:26Z
Nardog
40946
747596
javascript
text/javascript
/* globals ve */
// window.dn?.disable?.();
window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff';
(mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') &&
mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() {
let isHist = mw.config.get('wgAction') === 'history';
let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`;
let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch';
let diffs = [], count = 0, expanded = new WeakSet();
window.dn = diffs;
let sanitize = href => {
let url = new URL(href, location.href);
let newParams = new URLSearchParams(), hasId;
['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => {
if (url.searchParams.has(k)) {
let v = url.searchParams.get(k);
newParams.set(k, v);
hasId = hasId || v > 0;
}
});
if (!hasId && url.searchParams.has('title')) {
return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`;
}
return String(newParams);
};
let getDiff = comp => {
if (typeof comp === 'string') {
let sanitized = sanitize(comp);
return diffs.find(diff => (
diff.queries.has(comp) || diff.queries.has(sanitized)
));
}
return diffs.find(diff => diff.$diff.is(comp));
};
let containers = [];
window.dn._c = containers;
class Diff {
constructor(href, $link) {
this.aborter = new AbortController();
this.queries = new Set();
this.setLink(href, $link);
diffs.push(this);
}
setLink(href, $link) {
if (this.href) {
if ($link.is(this.$link)) {
if (this.aborter) {
this.aborter.abort();
} else if (this.isVisible()) {
this.close();
} else {
this.$anchor = this.getAnchor();
this.append();
}
return;
}
if ($link.is(this.$outerLink) && this.isVisible()) {
this.close();
return;
}
if (this.getAnchor($link).is(this.$anchor)) {
this.markLink(false);
} else {
this.close();
}
}
this.href = href;
this.queries.add(href);
let sanitized = sanitize(href);
if (sanitized) {
this.queries.add(sanitized);
}
this.$link = $link;
this.isSwitch = $link.is(switchSelector);
if (!this.isSwitch) {
this.$outerLink = $link;
}
this.$anchor = this.getAnchor();
if (this.aborter) {
this.markLink();
} else {
this.append();
}
}
append(response) {
if (response) {
delete this.aborter;
this.findDiff(response);
this.setQueries();
this.polishDiff();
}
let $container = this.getContainer(true);
if (!$container[0].isConnected) {
if (this.$anchor.is('tr')) {
let cols = this.$anchor.children().get()
.reduce((acc, cell) => acc + cell.colSpan, 0);
$('<tr>').addClass('diffnow-row').append(
$('<td>').attr('colspan', cols).append($container)
).insertAfter(this.$anchor);
} else if (this.$anchor.is('div')) {
this.$anchor.after($container);
} else {
this.$anchor.append($container);
}
}
this.attached = true;
filterContexts(this.$diff);
window.addEventListener('resize', onResize);
if (!this.$link.hasClass('diffnow-link-loaded')) {
mw.requestIdleCallback(() => {
this.markLinks();
this.markSeen();
});
}
if ($container[0].getBoundingClientRect().top < 0) {
$container[0].scrollIntoView();
}
this.markLink(true);
if (response) {
mw.hook('wikipage.content').fire($container);
}
}
findDiff(response) {
if (typeof response !== 'string') throw '';
let $diff = $($.parseHTML(response))
.filter('.diff[data-mw-interface]');
if (!$diff.length) {
$diff = $diff.end().find('.diff[data-mw-interface]');
if (!$diff.length) throw '';
}
this.$diff = $($diff[0]);
}
setQueries() {
let newPerma = this.$diff[0].querySelector(
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (newPerma) {
this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search));
this.newTitle = newPerma.title;
}
let oldPerma = this.$diff[0].querySelector(
'#mw-diff-otitle1 > strong > a, #differences-prevlink'
);
if (oldPerma) {
this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search));
this.oldTitle = oldPerma.title;
}
let isSamePage = !oldPerma || this.newTitle === this.oldTitle;
this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi');
if (this.newId) {
if (this.newId === this.oldId) {
throw 'nonfatal';
}
if (this.oldId) {
this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`);
}
this.isLast = !this.$diff[0].querySelector('#differences-nextlink');
if (this.isSingle) {
this.queries.add(`diff=prev&oldid=${this.newId}`);
if (this.isLast && this.oldId) {
this.queries.add(`diff=0&oldid=${this.oldId}`);
this.queries.add(`diff=cur&oldid=${this.oldId}`);
}
}
}
if (this.oldId && this.isSingle) {
this.queries.add(`diff=next&oldid=${this.oldId}`);
}
this.queries.forEach(q => {
let other = getDiff(q);
if (other && other !== this) {
other.setLink(this.href, this.$link);
throw 'nonfatal';
}
});
if (this.oldId) {
diffs.forEach(diff => {
if (diff.isLast && diff.newId === this.oldId) {
diff.markNotLast(this);
}
});
}
}
async polishDiff() {
mw.hook('wikipage.diff').fire(this.$diff);
let prevLink = this.$diff[0].querySelector('#differences-prevlink');
let nextLink = this.$diff[0].querySelector('#differences-nextlink');
$([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => (
href.replace('&diffonly=1', '').replace('&expand-url=1', '')
));
[['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => {
if (link && !mw.messages.exists(key)) {
mw.messages.set(key, link.textContent);
}
});
if (!nextLink && this.isLast) {
this.$diff.find('#mw-diff-ntitle4').empty().append(
$('<a>').attr({
class: 'diffnow-checknext diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'next',
oldid: this.newId
}),
title: this.newTitle
}).text('Check for newer edit')
);
}
this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right')
.attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`);
this.$diff.find('a[name^="movedpara"]')
.attr('name', (_, name) => `diffnow-${count}-${name}`);
count++;
this.$diff.find('[id]').addClass(function () {
return 'diffnow-' + this.id;
}).removeAttr('id');
if (this.$diff[0].querySelector('.mw-thanks-thank-link')) {
mw.loader.load('ext.thanks.corethank');
mw.config.set('thanks-confirmation-required', true);
}
if (!this.isSingle) {
let keys = ['nextdiff', 'previousdiff']
.filter(s => !mw.messages.exists(s));
if (keys.length) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(keys);
}
this.$diff.find('.diff-multi').append(
$('<div>').append(
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multinext diffnow-switch',
href: mw.util.getUrl(this.oldTitle, {
diff: 'next',
oldid: this.oldId
}),
title: this.oldTitle
}).text(mw.msg('nextdiff'))
),
$('<div>').append(
$('<a>').attr({
class: 'diffnow-multiprev diffnow-switch',
href: mw.util.getUrl(this.newTitle, {
diff: 'prev',
oldid: this.newId
}),
title: this.newTitle
}).text(mw.msg('previousdiff'))
)
)
);
}
}
getAnchor($link) {
let isSwitch;
if ($link) {
isSwitch = $link.is(switchSelector);
} else {
$link = this.$link;
isSwitch = this.isSwitch;
}
if (isSwitch) {
return getDiff($link.closest('.diff')).$anchor;
}
return $link.closest('li, tr, .mw-history-compareselectedversions');
}
getContainer(create) {
let $container = this.$anchor.is('tr')
? this.$anchor.next('.diffnow-row').find('> td > .diffnow')
: this.$anchor.is('div')
? this.$anchor.next('.diffnow')
: this.$anchor.children('.diffnow');
if (create) {
if ($container.length) {
this.attachDiff($container);
} else {
$container = this.createContainter();
}
}
return $container;
}
attachDiff($container) {
let $oldDiff = $container.children('.diff');
if (!$oldDiff.is(this.$diff)) {
if ($oldDiff.length) {
getDiff($oldDiff).detachDiff();
}
$container.children('.diffnow-tools-top').after(this.$diff);
}
$container.find('.diffnow-difflink').attr('href', this.href);
}
createContainter() {
let $container = containers.pop();
if ($container) {
this.attachDiff($container);
return $container;
}
return $('<div>').addClass('diffnow').append(
$('<div>').addClass('diffnow-tools diffnow-tools-top').append(
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-collapse',
title: 'Hide this diff'
})
),
this.$diff,
$('<div>').addClass('diffnow-tools diffnow-tools-bottom').append(
$('<button>').attr({
class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse',
title: 'Scroll to top'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand',
title: 'Scroll to bottom'
}),
$('<button>').attr({
class: 'diffnow-button diffnow-close oo-ui-icon-close',
title: 'Hide this diff'
}),
$('<a>').attr({
class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive',
href: this.href,
target: '_blank',
title: 'Open diff page'
})
)
)
.on('click', '.diffnow-close', this.collapse)
.on('click', '.diffnow-scrollup', this.scrollUp)
.on('click', '.diffnow-scrolldown', this.scrollDown)
.on(
'click keydown',
'.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker',
this.toggleContext
);
}
isVisible() {
return !!this.$diff?.[0].offsetParent;
}
markLink(visible = this.isVisible()) {
if (this.isSwitch) {
this.getContainer().toggleClass('diffnow-switching', !!this.aborter);
if (!this.$outerLink) return;
}
this.$outerLink
.toggleClass('diffnow-link-loading', !!this.aborter)
.toggleClass('diffnow-link-loaded', !this.aborter)
.toggleClass('diffnow-link-open', !this.isSwitch && visible);
}
markLinks() {
$(selector).filter((_, link) => {
let href = link.getAttribute('href');
return this.queries.has(href) || this.queries.has(sanitize(href));
}).addClass('diffnow-link-loaded');
if (!isHist) return;
$('.mw-history-compareselectedversions-button').toggleClass(
'diffnow-link-loaded',
!!getDiff(getHistHref())
);
}
markSeen() {
if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) {
this.$anchor.nextAll().addBack()
.removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched');
return;
}
let $li = this.$anchor.closest('li, table');
let $unseen = $li.filter('.mw-changeslist-watchedunseen')
.add($li.find('.mw-changeslist-watchedunseen'));
if (!$unseen.length) return;
$unseen.removeClass('mw-changeslist-watchedunseen')
.addClass('mw-changeslist-watchedseen');
$li.filter('.mw-changeslist-line-watched')
.add($li.find('.mw-changeslist-line-watched'))
.removeClass('mw-changeslist-line-watched mw-enhanced-watched')
.addClass('mw-changeslist-line-not-watched');
}
async markNotLast(newDiff) {
this.isLast = false;
this.queries = new Set([...this.queries].filter(q => (
!/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q)
)));
this.$diff.find(
'.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted'
).first().text(
newDiff.$diff.find(
'#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted'
).first().text()
);
this.$diff.find('.diff-ntitle .mw-diff-edit a')
.attr('href', (_, href) => href + '&oldid=' + this.newId);
if (!mw.messages.exists('nextdiff')) {
await mw.loader.using('mediawiki.api');
await new mw.Api().loadMessagesIfMissing(['nextdiff']);
}
this.$diff.find('.diffnow-checknext')
.attr('class', 'diffnow-differences-nextlink')
.text(mw.msg('nextdiff'));
}
detachDiff() {
this.$diff?.detach();
this.markLink(false);
}
close(adjustFocus) {
this.detachDiff();
let $container = this.getContainer();
if ($container.length) {
let $row = $container.closest('.diffnow-row');
containers.push($container.detach());
$row.remove();
}
if (!adjustFocus) return;
setTimeout(() => {
this.$anchor.find('a[href]').last().each(function () {
this.focus();
this.blur();
});
});
}
collapse(e) {
e.preventDefault();
let $container = $(e.delegateTarget);
let diff = getDiff($container.children('.diff'));
if (diff.$link[0].getBoundingClientRect().top < 0) {
diff.$anchor[0].scrollIntoView();
$container.fadeOut('fast', () => {
diff.close(true);
setTimeout(() => {
diff.$anchor[0].scrollIntoView();
$container.removeAttr('style');
});
});
} else {
diff.close(true);
}
}
scrollUp(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().top;
let ch = document.documentElement.clientHeight, buffer = ch / 2;
y -= y + 5 > buffer ? ch : buffer;
window.scrollBy({ top: y, behavior: 'smooth' });
}
scrollDown(e) {
e.preventDefault();
let y = e.delegateTarget.getBoundingClientRect().bottom;
let buffer = document.documentElement.clientHeight / 2;
if (y - 5 > buffer) {
y -= buffer;
}
window.scrollBy({ top: y, behavior: 'smooth' });
}
toggleContext(e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
let $row = $(e.target.closest('tr'));
if ($row.hasClass('diffnow-context-expanded')) {
$row.removeClass('diffnow-context-expanded')
.addClass('diffnow-context-collapsed')
.children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
expanded.delete($row[0]);
} else {
$row.removeClass('diffnow-context-collapsed')
.addClass('diffnow-context-expanded')
.children('.diff-context').removeAttr('tabindex role title')
.siblings('.diff-marker').attr('title', 'Collapse');
expanded.add($row[0]);
}
}
destroy() {
diffs.splice(diffs.indexOf(this), 1);
this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open');
this.getContainer().removeClass('diffnow-switching');
}
}
let filterContexts = $diff => {
$diff.find('.diff-context.diff-side-deleted > div').each(function () {
let $row = $(this.closest('tr'))
.removeClass('diffnow-context-expanded');
if (this.scrollHeight > this.clientHeight) {
if (expanded.has($row[0])) {
$row.addClass('diffnow-context-expanded')
.children('.diff-marker').attr({
tabindex: 0,
role: 'button',
title: 'Collapse'
});
} else {
$row.addClass('diffnow-context-collapsed').children().attr({
tabindex: 0,
role: 'button',
title: 'Expand'
});
}
} else {
$row.removeClass('diffnow-context-collapsed')
.children().removeAttr('tabindex role title');
}
});
};
let onResize = mw.util.debounce(() => {
filterContexts($('.diffnow > .diff'));
}, 250);
let notif;
let showError = async (href, msg) => {
notif = await mw.notify([
document.createTextNode(msg || `Couldn't load the diff`),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' });
};
let getHistHref = () => {
let formData = new FormData(document.getElementById('mw-history-compare'));
return mw.util.getUrl(null, {
diff: formData.get('diff'),
oldid: formData.get('oldid')
});
};
$(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(selector) && !this.matches(switchSelector)
) {
return;
}
e.preventDefault();
let $link = $(this);
let isCompare = $link.hasClass('mw-history-compareselectedversions-button');
let href = isCompare ? getHistHref() : this.pathname + this.search;
let diff = getDiff(href);
try {
if (diff) {
diff.setLink(href, $link);
return;
}
if (!isCompare && this.origin !== location.origin) {
throw '';
}
diff = new Diff(href, $link);
let url = new URL(href, location.href);
url.searchParams.set('diffonly', 1);
url.searchParams.set('action', 'render');
let promise = fetch(url, { signal: diff.aborter.signal });
mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']);
if (notif) {
notif.close();
notif = null;
}
diff.append(await (await promise).text());
} catch (error) {
if (diff && !diff.attached) {
diff.destroy();
}
if (error.name === 'AbortError') {
notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' });
} else if (error !== 'nonfatal') {
showError(href, error);
console.error(error);
}
}
});
let css = mw.loader.addStyleTag(`${selector} {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
background-position: right;
background-repeat: no-repeat;
background-size: 10px 10px;
padding-right: 12px;
}
.mw-history-compareselectedversions-button {
background-position: right 6px center;
background-size: 14px 14px;
padding-right: 24px !important;
}
.skin-timeless .mw-history-compareselectedversions-button {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg);
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important;
}
.skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important;
}
.diffnow-link-loading {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important;
}
.diffnow-link-loaded {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important;
}
.diffnow-link-open, .diffnow-context-expanded > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important;
}
.diffnow {
background: var(--background-color-base, #fff);
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 4px;
position: relative;
}
.mw-history-compareselectedversions + .diffnow {
margin-top: 0.3em;
}
.diffnow-tools {
display: flex;
position: sticky;
background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65));
z-index: 1;
}
.diffnow-tools-top {
top: 0;
border-radius: 4px;
}
.diffnow-tools-bottom {
bottom: 0;
}
.diffnow-tools > .diffnow-button {
cursor: pointer;
height: 24px;
padding: 0;
box-sizing: content-box;
background-position: center;
background-repeat: no-repeat;
background-size: 16px 16px;
background-color: var(--background-color-transparent, transparent);
flex-grow: 1;
}
.diffnow-tools > .diffnow-button:hover {
background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027));
}
.diffnow-tools > .diffnow-button:active {
background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082));
}
.diffnow-tools-top > .diffnow-button {
border: none;
border-radius: 3px 3px 0 0;
}
.diffnow-tools-bottom > .diffnow-button {
border: var(--border-base, 1px solid #a2a9b1);
border-radius: 99px;
margin: 4px;
height: 20px;
}
.diffnow-switching > .diff {
transition: opacity 200ms;
opacity: 0.4;
}
.diffnow-checknext, .diffnow-checknext:visited {
color: var(--color-subtle, #54595d);
}
.diffnow :not(.diffnow-context-expanded) > .diff-context > div {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.diffnow-context-collapsed > td,
.diffnow-context-expanded > .diff-marker {
cursor: pointer !important;
background-position: center;
background-repeat: no-repeat;
background-size: 12px 12px;
}
.diffnow-context-collapsed > .diff-marker {
background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg);
}
.diffnow-context-collapsed > .diff-context a {
pointer-events: none;
}
.diffnow .diff-multi > div {
display: flex;
justify-content: space-around;
}
.diffnow > .diff td div {
word-break: break-word;
}
.diffnow .mw-diff-inline-changed ins,
.diffnow .mw-diff-inline-changed del {
white-space: pre-wrap;
}
.diffnow-row .diffnow {
border: none;
}
.diffnow-row > td {
padding: 0 !important;
}
td.mw-changeslist-line-inner {
width: 100%;
}
.mw-enhanced-rc .diffnow > .diff td {
padding: 0.33em 0.5em;
}
.cdx-table__table-wrapper:has(.diffnow-row) {
overflow-x: visible;
}
span.mw-history-histlinks-current,
span.mw-history-histlinks-previous {
padding-right: 12px;
}
.client-js .diffnow .mw-anonuserlink {
padding-right: 0;
}`);
mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']);
diffs._disable = () => {
$(document.body).off('.diffnow');
css.remove();
};
if (isHist) {
$(document.body).on('change.diffnow', '#mw-history-compare', function () {
let $buttons = $('.mw-history-compareselectedversions-button');
let diff = getDiff(getHistHref());
if (diff) {
$buttons.addClass('diffnow-link-loaded');
if ($buttons.is(diff.$link) && diff.isVisible()) {
diff.$link.addClass('diffnow-link-open');
} else {
$buttons.removeClass('diffnow-link-open');
}
} else {
$buttons.removeClass('diffnow-link-loaded diffnow-link-open');
}
});
}
let added, tempLoaded, ipInfoLoaded;
mw.hook('wikipage.content').add(async () => {
await new Promise(mw.requestIdleCallback);
if (!document.querySelector(selector)) return;
let modules = ['mediawiki.diff', 'mediawiki.diff.styles'];
let cspn = mw.config.get('wgCanonicalSpecialPageName');
let loadTemp = !tempLoaded &&
Number(mw.user.options.get('checkuser-temporary-account-enable')) &&
!['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn);
if (loadTemp) {
modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles');
}
if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) {
modules.push('ext.checkUser.userInfoCard');
}
let loadIpInfo;
if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) {
modules.push('ext.ipInfo', 'ext.ipInfo.styles');
loadIpInfo = !ipInfoLoaded &&
['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn);
}
let promise = mw.loader.using(modules);
if (loadTemp || loadIpInfo) {
tempLoaded = loadTemp;
ipInfoLoaded = loadIpInfo;
await promise;
// https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js
let makeRequire = (moduleObj, basePath) => moduleName => {
let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/);
if (!relParts) {
return mw.loader.require(moduleName);
}
let baseDirParts = basePath.split('/');
baseDirParts.pop();
let prefixes = relParts[1].split('/');
prefixes.pop();
let prefix;
while ((prefix = prefixes.pop())) {
if (prefix === '..') {
baseDirParts.pop();
}
}
let fileName = baseDirParts.join('/');
if (fileName) {
fileName += '/';
}
fileName += relParts[2];
if (Object.hasOwn(moduleObj.packageExports, fileName)) {
return moduleObj.packageExports[fileName];
}
let scriptFiles = moduleObj.script.files;
if (!Object.hasOwn(scriptFiles, fileName)) {
throw Error('Cannot require undefined file ' + fileName);
}
let result;
let fileContent = scriptFiles[fileName];
if (typeof fileContent === 'function') {
let moduleParam = { exports: {} };
fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports);
result = moduleParam.exports;
} else {
result = fileContent;
}
moduleObj.packageExports[fileName] = result;
return result;
};
if (loadTemp) {
try {
let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts'];
makeRequire(pack, pack.script.main)('./initOnHook.js')();
} catch {}
}
if (loadIpInfo) {
try {
let pack = mw.loader.moduleRegistry['ext.ipInfo'];
makeRequire(pack, pack.script.main)('./popup/init.js')();
} catch {}
}
}
if (added || !document.getElementById('p-cactions')) return;
added = true;
let callback = (records, observer) => {
if (records[0].target.classList.contains('diffnow-link-loaded')) {
observer.takeRecords();
observer.disconnect();
clickFirst();
}
};
let clickFirst = () => {
let link = document.querySelector(selector);
if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) {
return;
}
new MutationObserver(callback).observe(link, { attributeFilter: ['class'] });
link.click();
};
mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => {
e.preventDefault();
clickFirst();
});
});
});
// window.smpg?._disable?.();
mw.loader.using('mediawiki.util', async function smoothPager() {
let action = mw.config.get('wgAction');
let isHist = action === 'history';
let isPerma = action === 'view' &&
['oldid', 'diff'].some(s => mw.util.getParamValue(s));
let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber');
let isFile = ns === 6;
let isCat = ns === 14;
let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName');
if (!(isHist || isPerma || isFile || isCat || cspn)) return;
let isSearch = cspn === 'Search';
let isWl = cspn === 'Watchlist';
let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked';
if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) {
return;
}
let isContribs = cspn === 'Contributions' || cspn === 'IPContributions';
let o = {
useRender: isCat || isWl || isRc,
selector: isPerma ? '#bodyContent' :
isFile ? '#mw-imagepage-section-filehistory' :
isCat ? '.mw-category-generated' :
'#mw-content-text',
outerSelectors: [],
linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' :
isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' :
isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' :
isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' :
`#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`,
canPost: isSearch || [
'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox'
].includes(cspn),
paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ ||
isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/,
reruns: [
'mediawiki.action.history',
'mediawiki.special.search',
'ext.advancedSearch.init',
'mediawiki.special.watchlist',
'mediawiki.special.watchlistedit',
'mediawiki.pager.codex',
'mediawiki.misc-authed-curate',
'mediawiki.misc-authed-ooui',
'mediawiki.misc-authed-pref',
'mediawiki.special.unwatchedPages',
'ext.thanks.corethank',
'ext.flaggedRevs.review',
'ext.gadget.watchlist-notice-core'
],
pages: []
};
if (isContribs) {
o.reruns.push('ext.ipInfo');
}
if (!o.useRender) {
o.outerSelectors.push('#firstHeading', '.mw-indicators');
if (!isPerma && !isFile) {
o.outerSelectors.push('#mw-content-subtitle');
}
}
o.formSelector = isHist && '#mw-history-searchform' ||
isSearch && '#search, #powersearch, #searchform' ||
cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`;
if (o.formSelector) {
o.formSelector += ', .cdx-table-pager__limit-form';
}
window.smpg = o;
let getHref = () => location.pathname + location.search;
let getKey = (href, isPost) => {
if (o.paramRe) {
let params = new URLSearchParams();
new URL(href, location.href).searchParams.forEach((v, k) => {
if (o.paramRe.test(k)) {
params.set(k, v);
}
});
params.sort();
return String(params);
}
if (isPost) {
return href + '??' + Date.now();
}
return href;
};
class Page {
constructor(href, key) {
this.href = href || getHref();
this.key = key || getKey(this.href);
this.keys = new Set().add(this.key);
o.pages.push(this);
}
init($response) {
if ($response) {
if (isWl || isRc) {
this.$cont = $(document.querySelector(o.selector).cloneNode())
.removeClass('smoothpager-switching')
.append($response);
} else {
let $cont = $response.filter(o.selector).not('script');
if (!$cont.length) {
$cont = $response.find(o.selector).not('script');
if (!$cont.length) {
throw 'Content not found';
}
}
$cont.find('script').remove();
this.$cont = $($cont[0]);
}
this.attached = 0;
} else {
if (this.$cont) return;
this.$cont = $(document.querySelector(o.selector));
this.attached = 1;
}
this.getConfigAndModules($response);
this.getOuterEls($response);
this.getDocTitle($response);
this.getRev($response);
}
getConfigAndModules($response) {
if (o.useRender) return;
if (!$response) {
this.config = Object.assign({}, window.RLCONF);
}
let $scripts = $response
? $response.filter('script').remove()
: $('head > script, body > script');
$scripts.map(function () {
return this.textContent.match(/\bmw\.config\.set\({.+}\);/g);
}).each((_, s) => {
let obj;
do {
try {
obj = JSON.parse(s.slice(14, -2));
} catch {
let i = s.slice(0, -3).lastIndexOf('});');
if (i === -1) return;
s = s.slice(0, i + 3);
}
} while (!obj);
this.config = Object.assign(this.config || {}, obj);
});
if (!$response) return;
let match = $scripts.first().text().replaceAll('\n', '')
.match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/);
if (match) {
try {
this.config = Object.assign(this.config || {}, JSON.parse(match[1]));
} catch {}
this.modules = [];
try {
this.modules.push(...Object.keys(JSON.parse(match[2])));
} catch {}
try {
this.modules.push(...JSON.parse(match[3]));
} catch {}
}
this.redirect();
}
setConfig() {
if (!this.config) return;
mw.config.set(this.config);
if (!o.cur.config) return;
Object.entries(o.cur.config).forEach(([k, v]) => {
if (!Object.hasOwn(this.config, k) &&
JSON.stringify(mw.config.get(k)) === JSON.stringify(v)
) {
delete mw.config.values[k];
}
});
}
getOuterEls($response) {
this.outerEls = o.outerSelectors.map(selector => (
$response ? $response.find(selector)[0] : document.querySelector(selector)
)).map(el => el && !this.$cont[0].contains(el) && el);
}
setOuterEls() {
o.outerSelectors.forEach((selector, i) => {
let outer = document.querySelector(selector);
if (!outer) return;
$(outer).before(this.outerEls[i] || outer.cloneNode()).detach();
});
}
getDocTitle($response) {
if (o.useRender) return;
if ($response) {
let $title = $response.filter('title');
if ($title.length) {
this.docTitle = $title.text();
}
} else {
this.docTitle = document.title;
}
}
setDocTitle() {
if (this.docTitle) {
document.title = this.docTitle;
} else if (this.outerEls[0] && o.cur.outerEls?.[0]) {
document.title = document.title.replace(
o.cur.outerEls[0].textContent.trim(),
this.outerEls[0].textContent.trim()
);
}
}
getRev($response) {
if (!isPerma) return;
let params = new URLSearchParams(this.key);
if (params.has('diff')) {
if ($response) {
let dir = params.get('diff') === 'next' ? 'prev' : 'next';
let id = this.config?.[
dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId'
];
if (!id) {
id = this.findParam(
'oldid',
dir === 'prev'
? '#mw-diff-ntitle1 > strong > a, #differences-prevlink'
: '#mw-diff-otitle1 > strong > a, #differences-nextlink'
);
}
if (id) {
this.rev = dir === 'prev' ? id : params.get('oldid');
params.set('diff', dir);
params.set('oldid', id);
this.keys.add(String(params));
}
} else {
this.rev = mw.config.get('wgDiffNewId');
let pn = this.findParam(
'title',
'#mw-diff-ntitle1 > strong > a, #differences-nextlink'
);
if (pn === mw.config.get('wgPageName') &&
!this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi')
) {
params.set('diff', 'prev');
params.set('oldid', this.rev);
this.keys.add(String(params));
let oldId = mw.config.get('wgDiffOldId');
if (oldId) {
params.set('diff', 'next');
params.set('oldid', oldId);
this.keys.add(String(params));
}
}
}
} else {
if ($response) {
if (params.has('direction')) {
let id = this.config?.wgRevisionId;
if (!id) {
id = this.findParam(
'oldid',
'#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink',
$response
);
}
if (id) {
this.rev = id;
this.keys.add('oldid=' + id);
o.cur.keys.add(`direction=${
params.get('direction') === 'next' ? 'prev' : 'next'
}&oldid=${id}`);
}
} else {
this.rev = params.get('oldid');
}
} else {
this.rev = mw.config.get('wgRevisionId');
if (params.has('direction')) {
this.keys.add('oldid=' + this.rev);
}
}
}
}
findParam(param, query, $range = this.$cont) {
let search = $range.find(query).prop('search');
return search && mw.util.getParamValue(param, search);
}
updateLinks() {
if (this.rev) {
$('#ca-edit > a').attr('href', mw.util.getUrl(null, {
action: 'edit',
oldid: this.rev
}));
$('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink')
.attr('href', mw.util.getUrl(null, { oldid: this.rev }));
}
$('#ca-nstab-special > a').attr('href', this.href);
$('.printfooter > a').attr('href', location.href).text(location.href);
$('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () {
let url = new URL(location.href);
url.searchParams.set(
'mobileaction',
mw.util.getParamValue('mobileaction', this.search)
);
return '//' + this.host + url.pathname + url.search;
});
$('#t-urlshortener > a').attr('href', function () {
let params = new URLSearchParams(this.search);
params.set('url', location.href);
return this.pathname + '?' + params;
});
}
redirect() {
if (this.config.wgAction !== mw.config.get('wgAction') ||
this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '')
) {
location.href = this.href;
throw 'redirect';
}
}
replaceContent(isPopState, isRefresh) {
let oldCont = document.querySelector(o.selector);
if (this.$cont.is(oldCont)) {
throw 'Attempt to replace content with itself';
}
if (!isPopState && !isRefresh) {
this.pushState();
}
$(oldCont).before(this.$cont).detach();
console.log(this.key, o);
this.setOuterEls();
this.setDocTitle();
this.setConfig();
if (isSearch && this.attached) {
let input = this.$cont[0].querySelector('#searchText > input');
if (input) {
input.value = input.defaultValue;
}
}
o.cur = this;
this.loadModules(isPopState);
this.updateLinks();
}
pushState() {
history.pushState({ _smpg: this.key }, '', this.href);
history.replaceState({ _smpg: this.key }, '', this.href);
}
async loadModules(isPopState) {
o.pending = true;
try {
await mw.loader.using(this.modules || []);
} catch {} finally {
o.pending = false;
if (!this.attached) {
this.fireHooks();
this.rerunModules();
}
if (!isPopState) {
this.scroll();
}
this.attached++;
}
}
fireHooks() {
mw.hook('wikipage.content').fire(this.$cont);
this.$cont.find('.diff[data-mw-interface]').each(function () {
mw.hook('wikipage.diff').fire($(this));
});
this.$cont.find('.catlinks[data-mw-interface]').each(function () {
mw.hook('wikipage.categories').fire($(this));
});
mw.hook('htmlform.enhance').fire(this.$cont);
}
rerunModules() {
o.reruns.forEach(m => {
let pack = mw.loader.moduleRegistry[m];
if (!pack || pack.state !== 'ready') return;
if (typeof pack.script === 'function') {
pack.script($, $, mw.loader.require, pack.module);
return;
}
delete mw.loader.moduleRegistry[m];
mw.loader.implement(
m + '@' + pack.version, pack.script, pack.style,
pack.messages, pack.templates, pack.deprecationWarning
);
});
if ((isHist || isContribs || isRc) && window.Twinkle) {
window.Twinkle.rollback();
}
}
scroll() {
let form = o.formSelector && this.$cont[0].querySelector(o.formSelector);
if (form) {
let y = form.getBoundingClientRect().bottom;
if (y < 0) {
window.scrollBy(0, y);
}
} else if (this.$cont[0].getBoundingClientRect().top < 0) {
this.$cont[0].scrollIntoView();
}
}
}
o.cur = new Page();
let getContent = async (href, state, options) => {
if (o.pending) return;
o.aborter?.abort();
let key = state?._smpg || getKey(href, !!options);
let isRefresh = key === o.cur.key;
if (state && isRefresh) return;
let oldCont = document.querySelector(o.selector);
if (!oldCont) {
notify(href, 'No element to replace', 'error');
return;
}
let page = o.pages.find(p => p.keys.has(key));
if ((state || !isRefresh) && page) {
page.href = href;
page.replaceContent(!!state, isRefresh);
return;
}
oldCont.classList.add('smoothpager-switching');
let $throbber = $('<div>').addClass('smoothpager-throbber')
.appendTo(document.body);
if (!isRefresh && o.pages.length === 1) {
o.cur.init();
}
o.aborter = new AbortController();
let url = href;
if (o.useRender) {
url = new URL(href, location.href);
url.searchParams.set('action', 'render');
}
let promise = fetch(url, Object.assign({
signal: o.aborter.signal
}, options));
if (notif) {
notif.close();
notif = null;
}
try {
let response = await (await promise).text();
if (page) {
page.href = href;
} else {
page = new Page(href, key);
}
page.init($($.parseHTML(response, !o.useRender)));
page.replaceContent(!!state, isRefresh);
} catch (e) {
if (e.name === 'AbortError') {
if (state && o.cur) {
o.cur.pushState();
}
} else if (e === 'redirect') {
notify(href, 'Redirecting...');
} else {
notify(href, e || `Couldn't load the page`, 'error');
console.error(e);
}
} finally {
o.aborter = null;
oldCont.classList.remove('smoothpager-switching');
$throbber.remove();
}
};
let notif;
let notify = async (href, msg, type) => {
notif = await mw.notify([
document.createTextNode(msg),
$('<p>').append(
$('<a>').attr({
href: href,
target: '_blank'
}).text('Open it in a new tab')
)[0]
], {
autoHideSeconds: 'long',
tag: 'smoothpager',
type: type
});
};
let onClick = function (e) {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
!this.matches(o.linkSelector) || this.origin !== location.origin
) {
return;
}
e.preventDefault();
getContent(this.pathname + this.search);
};
let onKeyDown = e => {
if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey ||
e.target.closest(':read-write')
) {
return;
}
switch (e.which) {
case 27:
o.aborter?.abort();
break;
case 110:
case 190:
e.preventDefault();
getContent(getHref());
}
};
let onPopState = e => {
let state = e.originalEvent.state;
if (state && !state._smpg) return;
history.replaceState(state, '', location.href);
getContent(getHref(), state || {});
};
let onSubmit = e => {
if (e.originalEvent && (
e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted
) || !o.canPost && e.target.method !== 'get' ||
!e.target.matches(o.formSelector)
) {
return;
}
let path = e.target.getAttribute('action');
let isScript = path === mw.config.get('wgScript');
let comps = [mw.config.get('wgPageName')];
if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) {
comps.push(comps[0].replace(/\/.*/, ''));
}
comps.push((comps[1] || comps[0]) + '/');
if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return;
let formData = new FormData(e.target);
if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) {
return;
}
e.preventDefault();
e.stopPropagation();
if (isSearch && e.target.id !== 'searchform') {
formData.set('search', OO.ui.infuse($('#searchText')).getValue());
} else if (e.target.method === 'post') {
let submitter = e.originalEvent?.submitter;
if (submitter?.name) {
formData.append(submitter.name, submitter.value);
}
getContent(path, null, {
method: 'POST',
headers: { 'Content-Type': e.target.enctype },
body: e.target.enctype === 'multipart/form-data'
? formData
: new URLSearchParams(formData)
});
return;
}
getContent(path + '?' + new URLSearchParams(formData));
};
let setPortlet = text => {
if (!o.portletLink) return;
$(o.portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = text;
return false;
}
});
};
o._enable = () => {
o.enabled = true;
let $body = $(document.body).on('click', 'a', onClick);
if (o.formSelector) {
$body.on('submit', onSubmit);
}
$body.parent().on('keydown', onKeyDown);
$(window).on('popstate', onPopState);
if (o.css) {
o.css.disabled = false;
}
if (isPerma) {
mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable);
}
setPortlet('Disable SmoothPager');
};
o._disable = () => {
o.enabled = false;
$(document.body).off('click', onClick).off('submit', onSubmit)
.parent().off('keydown', onKeyDown);
$(window).off('popstate', onPopState);
o.css.disabled = true;
mw.trackUnsubscribe(o._disable);
setPortlet('Enable SmoothPager');
};
o._enable();
o.css = mw.loader.addStyleTag(`${o.linkSelector},
.cdx-table__table__sort-button {
color: #008064 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):visited {
color: #006400 !important;
}
:is(${o.linkSelector}, .cdx-table__table__sort-button):active {
color: #faa700 !important;
}
.cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon {
background-color: #14866d;
}
.smoothpager-switching {
opacity: 0.75;
}
.smoothpager-throbber {
width: 20%;
height: 0.5vh;
position: fixed;
top: 0;
left: 0;
background-color: var(--background-color-progressive, #36c);
transform: translate(-100%);
animation: smoothpager-throbber 1s infinite linear;
}
@keyframes smoothpager-throbber {
to {
transform: translate(700%);
}
}
@media (prefers-reduced-motion: reduce) {
.smoothpager-throbber {
animation: smoothpager-throbber 1s infinite steps(10,end) !important;
width: 40%;
}
}${o.formSelector ? `
:is(${o.formSelector}) input[type="submit"],
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: var(--color-inverted, #fff);
background-color: #14866d;
border-color: #14866d;
}
:is(${o.formSelector}) input[type="submit"]:hover,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-color: #00af89;
border-color: #00af89;
}
:is(${o.formSelector}) input[type="submit"]:focus,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
border-color: #14866d;
}
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff;
}
:is(${o.formSelector}) input[type="submit"]:active,
:is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active {
background-color: #0e725a;
border-color: #0e725a;
box-shadow: none;
}` : ''}`);
await $.ready;
if (!document.getElementById('p-cactions')) return;
o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild;
o.portletLink.addEventListener('click', e => {
e.preventDefault();
o[o.enabled ? '_disable' : '_enable']();
});
});
window.smartdiffTemplates = [
{
names: ['T', 'Tl'],
namespace: 10,
forceNs: true,
end: 1
},
{
names: ['Tlx'],
namespace: 10,
end: 1
},
{
names: ['U'],
prefix: 'Special:Contributions/',
end: 1
},
{
names: ['Re', 'Reply to', 'Ping'],
prefix: 'Special:Contributions/'
},
{
names: ['About'],
start: 3,
skipEven: true
},
{
names: ['For'],
start: 2
},
{
names: ['Other uses', 'Otheruses'],
end: 1
},
{
names: ['Section link', 'Slink'],
end: 1
},
{
names: ['Redirect'],
skipEven: true,
noRedirectEnd: 1
},
{
names: ['Shortcut'],
noRedirectStart: 1
},
{
names: ['Tracked', 'Phab'],
prefix: 'phab:',
end: 1
},
{
names: [
'Distinguish',
'Main', 'Main article',
'Further',
'See also', 'Seealso'
]
},
{
names: ['Ll'],
end: 1
}
];
mw.loader.using([
'mediawiki.util', 'mediawiki.Title', 'mediawiki.api'
], function smartDiff() {
mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}');
class SmartDiff {
constructor($diff) {
this.$diff = $diff;
this.isSpecial = mw.config.get('wgNamespaceNumber') === -1;
this.isView = mw.config.get('wgAction') === 'view' &&
new URLSearchParams(location.search).get('diffonly') !== '1';
this.magicWords = [
'!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:',
'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME',
'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1',
'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN',
'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK',
'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:',
'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME',
'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:',
'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2',
'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1',
'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME',
'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:',
'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER',
'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES',
'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS',
'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:',
'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:',
'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:',
'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP',
'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR',
'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE',
'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:',
'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:',
'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:',
'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:',
'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:',
'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:'
];
if (window.smartdiffMagicWords) {
this.magicWords.push(...window.smartdiffMagicWords);
}
try {
this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages;
} catch (e) {}
if (!this.subNs) {
this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces'))
.map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns));
}
this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?<(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!>).*?>)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?<(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?>(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g;
this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:<|$))/g;
// https://commons.wikimedia.org/wiki/Special:MediaStatistics
this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi;
this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g;
if (window.smartdiffTemplates) {
this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g;
this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/;
this.templates = window.smartdiffTemplates;
}
this.side = 'old';
$diff.find('.diff-deletedline > div').get().forEach(this.processDiv);
this.side = 'new';
$diff.find('.diff-addedline > div').get().forEach(this.processDiv);
let $contexts = $diff.find('.diff-context > div');
$contexts.each((i, div) => {
if (i % 2) {
this.side = 'new';
if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) {
this.processDiv(div);
} else {
$contexts.eq(i).replaceWith($contexts.eq(i - 1).clone());
}
} else {
this.side = 'old';
this.propUsed = false;
this.processDiv(div);
}
});
this.links = {};
$diff.find('.smartdiff-link:not(.external)').each((i, link) => {
let title = link.title;
if (!title) return;
if (!this.links.hasOwnProperty(title)) {
this.links[title] = [];
}
this.links[title].push(link);
});
this.query(Object.keys(this.links).slice(0, 500));
if (this.hasError) {
mw.notify('SmartDiff error', { type: 'warn' });
}
}
processDiv = div => {
if (div.querySelector('a[href]')) return;
let origHtml = div.innerHTML;
let newHtml = origHtml.replace(this.urlRe, this.urlRep)
.replace(this.galleryRe, this.galleryRep)
.replace(this.re, this.rep).replace(this.headRe, this.headRep);
if (this.tempRe) {
newHtml = newHtml.replace(this.tempRe, this.tempRep);
}
if (newHtml === origHtml) return;
newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, '');
let $newDiv = $('<div>').html(newHtml);
if (this.detectErrors($newDiv, newHtml, origHtml, div)) return;
div.textContent = '';
$newDiv.contents().appendTo(div);
};
rep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s), isTemp;
if (t) {
if ($1.includes('invoke')) {
t = mw.Title.makeTitle(828, s);
} else if (s[0] === '/') {
if (this.subNs.includes(this.getProp('ns'))) {
t = mw.Title.newFromText(
this.getProp() + s.replace(/\/+$/, '')
);
} else if ($1[0] === '{') {
t.namespace = 10;
}
} else if ($1[0] === '{') {
if (s[0] === '#') {
return $0;
}
if ($1.includes('int')) {
t = mw.Title.makeTitle(8, s);
} else if (!t.namespace && s[0] !== ':') {
if (!$1.includes('msg') && !$1.includes('raw')) {
let match = s.match(/^[^:]+(?::(?=.)|$)/);
if (match && this.magicWords.includes(match[0])) {
return $0;
}
}
t.namespace = 10;
isTemp = true;
}
} else if ((this.isSpecial || !this.isView) && s[0] === '#') {
t.title = this.getProp();
}
} else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) {
let chunks = s.split('/');
let levelCount = chunks.findIndex(v => v !== '..');
let sup = this.getProp().split('/').slice(0, -levelCount).join('/');
if (sup) {
let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, '');
t = mw.Title.newFromText(sub ? sup + '/' + sub : sup);
}
}
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView || s[0] !== '#') {
attrs.title = t.toText();
}
if (isTemp && this.tempRe) {
let name = t.getMainText();
let idx = this.templates.findIndex(temp => temp.names.includes(name));
if (idx !== -1) {
attrs['data-smartdiff-temp'] = idx;
}
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
stripTags(s, decode, pre = '', post = '') {
let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g);
s = $($.parseHTML(s.replace(/&/g, '&'))).text();
if (decode) {
try {
s = decodeURIComponent(s);
} catch (e) {}
}
if (tags) {
if (tags[0][1] === '/') {
pre += tags[0];
mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid;
}
let lastTag = tags.pop();
if (lastTag[1] !== '/') {
mid += `</${lastTag.slice(1, 4)}>`;
post = lastTag + post;
}
}
return [s, pre, mid, post];
}
headRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1')
.replace(/''(.+?)''/g, '$1')
.replace(/^_+|_+$/g, '');
let t = mw.Title.newFromText(
`${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}`
);
if (!t) {
return $0;
}
let attrs = {
class: 'smartdiff-link',
href: t.getUrl()
};
if (this.isSpecial || !this.isView) {
attrs.title = t.toText();
}
return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post;
};
galleryRep = ($0, $1, $2) => {
if ($0.includes('<a class="smartdiff-link')) {
return $0;
}
let [s, pre, mid, post] = this.stripTags($2, true, $1);
let t = mw.Title.newFromText(s, 6);
if (t && t.namespace !== 6) {
t = mw.Title.makeTitle(6, s);
}
if (!t) {
return $0;
}
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(),
title: t.toText()
}).html(mid)[0].outerHTML + post;
};
urlRep = ($0, $1, $2, $3) => {
let main = $2, trail;
if (!$1) {
if (!$3) {
return $0;
}
let re = main.includes('(')
? /[!,.:;?](?:<[^>]*>)?$/
: /[!),.:;?](?:<[^>]*>)?$/;
let match = main.match(re);
if (match &&
!/&(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main)
) {
trail = match[0];
main = main.slice(0, -trail.length);
}
}
let [url, pre, mid, post] = this.stripTags(main);
if ($1) {
pre = $1 + pre;
} else if (trail) {
post += trail;
}
return pre + $('<a>').attr({
class: 'smartdiff-link external',
href: url,
rel: 'nofollow'
}).html(mid)[0].outerHTML + post;
};
tempRep = ($0, $1, $2, $3) => {
if ($3.includes('<a class="smartdiff-link')) {
return $0;
}
let temp = this.templates[$2];
return $1 + $3.split(this.tempSubRe).map((os, i) => {
if (!os || i % 2) {
return os;
}
let j = i / 2;
if (j < temp.start || j > temp.end ||
temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0
) {
return os;
}
let [s, pre, mid, post] = this.stripTags(os, true);
if (temp.prefix) {
s = temp.prefix + s;
}
if (temp.suffix) {
s += temp.suffix;
}
let t = temp.forceNs
? mw.Title.makeTitle(temp.namespace, s)
: mw.Title.newFromText(s, temp.namespace);
if (!t) {
return os;
}
let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) &&
{ redirect: 'no' };
return pre + $('<a>').attr({
class: 'smartdiff-link',
href: t.getUrl(params),
title: t.toText()
}).html(mid)[0].outerHTML + post;
}).join('');
};
getProp(n = 'pn', side = this.side) {
this.propUsed = true;
if (this[side]) {
if (this[side][n]) {
return this[side][n];
}
} else {
this[side] = {};
let link = this.$diff[0].querySelector(
side === 'old'
? '#mw-diff-otitle1 a, #differences-prevlink'
: '#mw-diff-ntitle1 a, #differences-nextlink'
);
if (link) {
let pn = mw.util.getParamValue('title', link.search);
this[side].pn = pn;
this[side].ns = mw.Title.newFromText(pn).namespace;
return this[side][n];
}
}
if (this[n]) {
return this[n];
}
if (this.isSpecial) {
this.pn = '';
this.ns = 0;
} else {
this.pn = mw.config.get('wgPageName');
this.ns = mw.config.get('wgNamespaceNumber');
}
return this[n];
}
query(titles) {
if (!titles.length) return;
new mw.Api().post({
action: 'query',
titles: titles.slice(0, 50),
iwurl: 1,
prop: 'info',
inprop: 'linkclasses',
inlinkcontext: this.getProp(),
formatversion: 2
}, {
headers: { 'Promise-Non-Write-API-Action': 1 }
}).then(response => {
let query = response && response.query;
if (!query) return;
let data = {};
(query.pages || []).forEach(page => {
let obj = { classes: page.linkclasses || [] };
if (page.missing && !page.known) {
obj.classes.push('new');
obj.params = { action: 'edit', redlink: 1 };
}
data[page.title] = obj;
});
(query.interwiki || []).forEach(interwiki => {
data[interwiki.title] = {
classes: ['extiw'],
url: interwiki.url
};
});
(query.normalized || []).forEach(entry => {
if (!data.hasOwnProperty(entry.to)) return;
let obj = data[entry.to];
obj.canonical = entry.to;
if (!obj.url) {
obj.url = mw.util.getUrl(entry.to, obj.params);
}
data[entry.from] = obj;
});
Object.entries(data).forEach(([title, obj]) => {
if (!this.links.hasOwnProperty(title)) return;
let $links = $(this.links[title]).addClass(obj.classes)
.attr('title', obj.canonical);
if (obj.url) {
$links.attr('href', function () {
return obj.url + this.hash;
});
}
});
this.query(titles.slice(50));
});
}
detectErrors($newDiv, newHtml, origHtml, div) {
let comp = $newDiv.html();
if (comp !== newHtml) {
console.warn(
'SmartDiff syntax error at:\n',
div,
`\nNew HTML:\n${newHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
let $comp = $newDiv.clone();
$comp.find('.smartdiff-link').contents().unwrap();
comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, '');
if (comp !== origHtml) {
console.warn(
'SmartDiff mutation error at:\n',
div,
`\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}`
);
this.hasError = true;
return true;
}
}
}
mw.hook('wikipage.diff').add($diff => {
new SmartDiff($diff);
});
});
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/CopySectLink.js&action=raw&ctype=text/javascript', 's');
mw.loader.using([
'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage'
], function ipaInput() {
if (!mw.libs.ve.isVisualAvailable &&
!['edit', 'submit'].includes(mw.config.get('wgAction'))
) {
return;
}
mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`);
let clicked;
let openDialog = () => {
if (clicked) {
if (window.ipaInputDialog) {
window.ipaInputDialog.open();
}
return;
}
clicked = true;
mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript');
mw.loader.using([
'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets',
'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core',
'oojs-ui.styles.icons-editing-advanced'
]);
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
ipainput: {
label: 'IPAInput',
type: 'button',
oouiIcon: 'schwa',
action: { type: 'callback', execute: openDialog }
}
}
});
});
mw.hook('ve.loadModules').add(addPlugin => {
addPlugin(() => {
ve.ui.IpaInputCommand = function VeUiIpaInputCommand() {
ve.ui.IpaInputCommand.super.call(this, 'ipaInput');
};
OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command);
ve.ui.IpaInputCommand.prototype.execute = () => {
openDialog();
return true;
};
ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand());
ve.ui.IpaInputTool = function VeUiIpaInputTool() {
ve.ui.IpaInputTool.super.apply(this, arguments);
};
OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool);
ve.ui.IpaInputTool.static.name = 'ipaInput';
ve.ui.IpaInputTool.static.group = 'insert';
ve.ui.IpaInputTool.static.icon = 'schwa';
ve.ui.IpaInputTool.static.title = 'IPA';
ve.ui.IpaInputTool.static.commandName = 'ipaInput';
ve.ui.toolFactory.register(ve.ui.IpaInputTool);
});
});
mw.requestIdleCallback(() => {
let expiry = mw.storage.get('_EXPIRY_ipainput-cache');
if (!expiry) return;
$.get(
'//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata'
).then(response => {
if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) {
mw.storage.remove('ipainput-cache');
}
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
(function wiktIpa() {
mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`);
let clicked, dialog, input, $result;
let openDialog = async context => {
if (clicked) {
if (dialog) {
let selection = context.$textarea.textSelection('getSelection');
if (selection) {
input.setValue(selection);
}
if ($result) {
$result.prev().addBack().remove();
$result = null;
}
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
}
return;
}
clicked = true;
await mw.loader.using([
'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi',
'mediawiki.util'
]);
let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({
action: 'query',
generator: 'search',
gsrsearch: 'deepcat:Pronunciation_templates_by_language',
gsrnamespace: 10,
gsrlimit: 'max',
gsrsort: 'none',
formatversion: 2
});
let winMan = new OO.ui.WindowManager();
dialog = new OO.ui.MessageDialog();
winMan.addWindows([dialog]);
let items = response.query.pages
.map(p => p.title.slice(9))
.sort(Intl.Collator('en-u-kn-true').compare)
.map(s => new OO.ui.MenuOptionWidget({ label: s }));
let dropdown = new OO.ui.DropdownWidget({
$overlay: dialog.$overlay,
menu: { items }
});
let $doc = $('<p>');
dropdown.getMenu().on('choose', mw.util.debounce(async item => {
let title = 'Template:' + item.getLabel();
let $link = $('<a>').attr({
href: '//en.wiktionary.org/wiki/' + title,
target: '_blank',
title: title
}).text('documentation');
$doc.empty().append('Loading ', $link, '...');
try {
let data = await $.get(
'//en.wiktionary.org/api/rest_v1/page/html/' +
encodeURIComponent(title + '/documentation')
);
let text = $($.parseHTML(data)).find('p').first().text()
.replace(/\. .*/, '.');
$doc.text(text + ' (').append($link.text('read more'), ')');
dialog.updateSize();
} catch {
$doc.empty().append('Failed to load ', $link);
}
}, 100)).selectItem(items[0]);
input = new OO.ui.TextInputWidget({
autocomplete: false,
value: context.$textarea.textSelection('getSelection') ||
mw.config.get('wgTitle')
});
let button = new OO.ui.ButtonWidget({
disabled: !input.getValue(),
label: 'Get',
flags: ['primary', 'progressive']
}).on('click', async () => {
button.setDisabled(true);
let template = dropdown.getMenu().findSelectedItem().getLabel();
let text = input.getValue();
try {
let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', {
wikitext: `{{${template}|1=${text}}}`,
body_only: true
});
if ($result) {
$result.children().remove();
} else {
$result = $('<div>').text('Result:')
.insertAfter(fieldset.$element)
.before('<hr>');
}
$result.append($.parseHTML(data))
.find('.mw-collapsible').makeCollapsible().end()
.find('[id], [about]').removeAttr('id about').end()
.find('a').attr('target', '_blank')
.filter('[href^="./"]').attr('href', (_, href) => (
'//en.wiktionary.org/wiki' + href.slice(1)
));
dialog.updateSize();
} catch {} finally {
button.setDisabled();
}
});
input.on('change', value => {
button.setDisabled(!value);
}).connect(button, { enter: ['emit', 'click'] });
let fieldset = new OO.ui.FieldsetLayout({
items: [
new OO.ui.FieldLayout(dropdown, {
label: 'Template:',
align: 'top'
}),
new OO.ui.FieldLayout(input, {
label: 'Input:',
align: 'top'
}),
new OO.ui.FieldLayout(button)
]
});
dropdown.$element.after($doc);
dialog.text.$element.append(fieldset.$element/*.on('keydown', e => {
e.stopPropagation();
})*/);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
dialog.open({
actions: [{ label: 'Close', flags: ['safe', 'close'] }]
});
};
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.wikiEditor('addToToolbar', {
section: 'main',
group: 'insert',
tools: {
wiktipa: {
label: 'WiktIPA',
type: 'button',
oouiIcon: 'wiktionary',
action: { type: 'callback', execute: openDialog }
}
}
});
});
}());
window.scripttesterSkipWarning = true;
mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() {
let get = () => new Set(mw.storage.getObject('scripttester'));
if (mw.storage.get('scripttester')) {
let unloading;
window.addEventListener('beforeunload', () => {
unloading = true;
});
get().forEach(async s => {
let isCss = /\.css$/i.test(s);
let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, {
action: 'raw',
ctype: isCss ? 'text/css' : 'text/javascript'
});
if (isCss) {
mw.loader.load(url, 'text/css');
return;
}
try {
await mw.loader.getScript(url);
} catch (e) {
if (unloading) {
console.warn(e);
return;
}
mw.notify('Failed to load temporarily installed ' + s, { type: 'error' });
}
});
} else if (!window.scripttesterSkipWarning) {
await mw.loader.using('oojs-ui-windows');
if (await OO.ui.confirm(
'You take full responsibility for any consequences arising from using ScriptTester.'
)) {
mw.storage.setObject('scripttester', []);
}
}
await $.ready;
if (!document.getElementById('p-tb')) return;
let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}');
let linksShown = mw.config.get('wgNamespaceNumber') > 0 &&
mw.config.get('wgAction') === 'view';
let updateLinks = (s, unins) => {
if (!linksShown) return;
$(`.scripttester-link[data-scripttester="${s}"]`)
.toggleClass('scripttester-installed', !unins);
};
let dialog, multiselect, addButton, removeButton, clearButton;
let openDialog = () => {
if (!dialog) {
dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] });
let winMan = new OO.ui.WindowManager();
winMan.addWindows([dialog]);
multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => {
removeButton.setDisabled(!multiselect.findSelectedItems().length);
});
addButton = new OO.ui.ButtonWidget({
label: 'Add'
}).on('click', async () => {
dialog.toggle(false);
let s = (await OO.ui.prompt('Add a script', {
textInput: { placeholder: 'Script page name or URL' }
})).trim();
if (!s) return;
if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) {
await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`);
dialog.toggle(true);
updateDialog();
return;
}
mw.storage.setObject('scripttester', [...get().add(s)]);
updateLinks(s);
});
removeButton = new OO.ui.ButtonWidget({
label: 'Remove'
}).on('click', () => {
let set = get();
multiselect.findSelectedItems().forEach(item => {
let s = item.getLabel();
set.delete(s);
updateLinks(s, true);
});
mw.storage.setObject('scripttester', [...set]);
updateDialog();
});
clearButton = new OO.ui.ButtonWidget({
label: 'Clear',
flags: 'destructive'
}).on('click', async () => {
dialog.toggle(false);
if (!(await OO.ui.confirm('Uninstall all scripts?'))) {
dialog.toggle(true);
return;
}
mw.storage.setObject('scripttester', []);
if (linksShown) {
$('.scripttester-installed').removeClass('scripttester-installed');
}
dialog.toggle(true);
updateDialog();
});
dialog.text.$element.append(
multiselect.$element,
new OO.ui.ButtonGroupWidget({
items: [addButton, removeButton]
}).$element,
clearButton.$element
);
winMan.$element.appendTo(OO.ui.getTeleportTarget());
}
updateDialog();
dialog.open({
message: 'Temporarily installed scripts:',
actions: [{ label: 'Done', flags: ['safe', 'close'] }]
});
};
let updateDialog = () => {
let set = get();
multiselect.clearItems().addItems(
[...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s }))
);
removeButton.setDisabled(true);
clearButton.toggle(set.size);
dialog.updateSize();
updatePortlet(set.size);
};
let updatePortlet = count => {
$(portletLink).find('*').addBack().contents().each(function () {
if (this.nodeType === 3 && this.textContent.trim()) {
this.textContent = `Temporarily installed scripts (${count})`;
return false;
}
});
};
let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`)
.firstElementChild;
portletLink.addEventListener('click', e => {
e.preventDefault();
mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog);
});
window.addEventListener('storage', e => {
if (e.key === 'scripttester') {
updatePortlet(get().size);
}
});
if (!linksShown) return;
css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}';
let linkHandler = function () {
let s = this.dataset.scripttester;
let unins = this.classList.contains('scripttester-installed');
let set = get();
set[unins ? 'delete' : 'add'](s);
let success = mw.storage.setObject('scripttester', [...set]);
if (success) {
mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, {
tag: 'scripttester'
});
updateLinks(s, unins);
updatePortlet(set.size);
} else {
mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, {
tag: 'scripttester',
type: 'error'
});
}
};
if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) &&
['javascript', 'css'].includes(mw.config.get('wgPageContentModel'))
) {
let s = mw.config.get('wgPageName').replaceAll('_', ' ');
$('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
).appendTo(document.getElementById('firstHeading'));
return;
}
mw.hook('wikipage.content').add($content => {
let set = get();
let ns = mw.config.get('wgFormattedNamespaces');
let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`);
$content.find('a:not(.external, .new)').after(function () {
let s = this.title;
if (!s || !re.test(s)) return;
return $('<span>').addClass('scripttester').append(
$('<a>').attr({
class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''),
tabindex: 0,
role: 'button',
'data-scripttester': s
}).text('\u200e').on('click', linkHandler)
);
});
});
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.hook('wikiEditor.toolbarReady').add($textarea => {
$textarea.on('keydown', async e => {
if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return;
e.preventDefault();
let context = $textarea.data('wikiEditorContext');
context.api.openDialog(context, 'search-and-replace');
await mw.loader.using('jquery.textSelection');
let tb = document.getElementById('wikieditor-toolbar-replace-search');
let sel = $textarea.textSelection('getSelection');
if (sel) {
tb.value = sel;
}
tb.focus();
});
$(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => {
$textarea[0].focus();
});
});
mw.config.get('wgNamespaceNumber') &&
mw.config.get('wgAction') !== 'history' &&
(function catChangeHighlighter() {
let run;
mw.hook('wikipage.content').add($content => {
$content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () {
let text = this.querySelector('.comment').textContent;
if (text.includes(' added ')) {
this.classList.add('catchangehighlighter-addition');
} else if (text.includes(' removed ')) {
this.classList.add('catchangehighlighter-removal');
}
if (run) return;
run = true;
mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}');
});
});
}());
(mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' ||
[-1, 14].includes(mw.config.get('wgNamespaceNumber'))) &&
(function diffFontSwitcher() {
mw.loader.addStyleTag('.diff-lineno{cursor:pointer}');
$(document.body).on('click keydown', '.diff-lineno', function (e) {
if (e.type === 'keydown' && (
e.which !== 13 && e.which !== 32 ||
e.ctrlKey || e.shiftKey || e.metaKey || e.altKey
)) {
return;
}
e.preventDefault();
this.closest('.diff').classList.toggle('difffontswitcher-enabled');
});
mw.hook('wikipage.diff').add($diff => {
$diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' });
});
}());
mw.trackSubscribe('resourceloader.exception', (topic, data) => {
mw.notify(data.exception, {
autoHide: false,
title: `Exception in ${data.source} in module ${data.module}`,
type: 'warn'
});
});
mw.config.get('skin') === 'vector-2022' &&
$(document).one('click', '.mw-interlanguage-selector', async () => {
await mw.loader.using('ext.uls.mediawiki');
$.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow';
mw.uls.getFrequentLanguageList = () => [];
});
['edit', 'submit'].includes(mw.config.get('wgAction')) &&
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's');
b7jxiis4fhriinz59ioipvoe2jjntch
🌀︎
0
116353
747579
745197
2026-06-18T21:53:53Z
User97104
72884
747579
wikitext
text/x-wiki
U+1F300 CYCLONE with U+FE0E VARIATION SELECTOR-15
[[Category:Emoji]]
testtest
Ice cream <s><u>'''''CY'''''</u></s>clone
tur6jjgkkxz3jcfgi7lxheqtw3e8bf2
User talk:MAzevedo (WMF)
3
127165
747411
728936
2026-06-18T14:29:09Z
MAzevedo (WMF)
52939
/* Testing links */ new section
747411
wikitext
text/x-wiki
== Testing API on iOS ==
This is a test from the new editor! [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:59, 4 July 2022 (UTC)
:This is a reply [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:01, 4 July 2022 (UTC)
:Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:57, 5 July 2022 (UTC)
:Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 13:57, 6 July 2022 (UTC)
:Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:29, 6 July 2022 (UTC)
:Test from app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:30, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:33, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:32, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:19, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:23, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:24, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:25, 6 July 2022 (UTC)
::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:25, 6 July 2022 (UTC)
::Test from the iOS app zzzzzzz [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:27, 6 July 2022 (UTC)
:New test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:16, 27 February 2026 (UTC)
== title topic ==
topic topic [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:34, 6 July 2022 (UTC)
:testing talk pages on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:45, 13 September 2022 (UTC)
::Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 13:26, 18 October 2022 (UTC)
:::Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 21:03, 31 October 2022 (UTC)
== Topic testing 50 ==
Topic body testing 50 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:36, 6 July 2022 (UTC)
:Testing on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:56, 13 September 2022 (UTC)
::Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:13, 1 November 2022 (UTC)
== Topic testing 36 ==
Topic body testing 36 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:38, 6 July 2022 (UTC)
:Something [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:59, 1 August 2022 (UTC)
== Topic testing 89 ==
Topic body testing 89 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:39, 6 July 2022 (UTC)
== New test ==
One more test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:35, 18 July 2022 (UTC)
== New test ==
One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:37, 18 July 2022 (UTC)
== New test ==
One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:40, 18 July 2022 (UTC)
== New test ==
One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:42, 18 July 2022 (UTC)
:checking [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:47, 18 July 2022 (UTC)
== New test ==
Some comment here [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:52, 1 August 2022 (UTC)
== Test ==
Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:50, 13 September 2022 (UTC)
== Another test ==
Testing on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:57, 13 September 2022 (UTC)
== Test ==
Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:07, 13 September 2022 (UTC)
== Tttttestttt ==
Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:08, 13 September 2022 (UTC)
== One more ==
Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:10, 13 September 2022 (UTC)
== One more try ==
Again [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:13, 13 September 2022 (UTC)
:Testing some more [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:23, 10 October 2022 (UTC)
== Hi! ==
Thanks for the great new build! [[User:Bagelpigeon|Bagelpigeon]] ([[User talk:Bagelpigeon|talk]]) 18:44, 13 September 2022 (UTC)
== Testing talk pages ==
This is a test for the new iOS talk pages [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:57, 10 October 2022 (UTC)
:Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC)
::Re-testing
:: [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC)
:::Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC)
::::Test test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC)
== New test ==
Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:06, 18 October 2022 (UTC)
== One more test ==
testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:38, 3 November 2022 (UTC)
:Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:40, 3 November 2022 (UTC)
== test ==
Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:47, 3 November 2022 (UTC)
== testing ==
[[Bird2]] [[Kat]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:16, 30 November 2022 (UTC)
== Oiiiii oioioioi==
[[File:Flower and bud of yellow chamomile (Anthemis tinctoria).jpg | thumb | 220x124px | right | alt= Yellow flower |
Yellow flower]]
Hello [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:33, 1 December 2022 (UTC)
== Test ==
[[File:Flower and bud of yellow chamomile (Anthemis tinctoria).jpg | thumb | 220x124px | right]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:42, 1 December 2022 (UTC)
== Test ==
‘’’Test’’’
‘’Test’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:28, 1 December 2022 (UTC)
:''test '' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:29, 1 December 2022 (UTC)
::‘’test’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:33, 1 December 2022 (UTC)
:::‘’’test’’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:34, 1 December 2022 (UTC)
::::‘’oi’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:37, 1 December 2022 (UTC)
:::::''Oiiii'' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:39, 1 December 2022 (UTC)
== Tests ==
'''Ola'''
''Tchau'' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:40, 1 December 2022 (UTC)
== Test edit link ==
[[Kat|Kitty]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:43, 5 December 2022 (UTC)
:[[Flower|It was a test]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 21:08, 5 December 2022 (UTC)
== Test ==
Test [[User:Marinaazev|Marinaazev]] ([[User talk:Marinaazev|talk]]) 14:08, 3 January 2023 (UTC)
:Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 12:36, 13 July 2023 (UTC)
== Test ==
Text [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:43, 25 July 2023 (UTC)
== Test ==
https://thankyou.wikipedia.org/wiki/Thank_You/en?country=US&featureEndowment=1 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:06, 25 September 2023 (UTC)
== Test 2 ==
https://donate.wikimedia.org/ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:11, 25 September 2023 (UTC)
== Link ==
https://donate.wikimedia.org/w/index.php?title=Special:LandingPage&country=BR&uselang=en&utm_medium=spontaneous&utm_source=fr-redir&utm_campaign=spontaneous
Updates
[[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:18, 25 September 2023 (UTC)
:Test link en.wikipedia.org [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:48, 31 January 2024 (UTC)
== Test topic ==
Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:40, 11 July 2024 (UTC)
:Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:40, 11 July 2024 (UTC)
== Another test ==
Test test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:41, 11 July 2024 (UTC)
:Another reply [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:42, 11 July 2024 (UTC)
== Test ==
New test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:17, 27 February 2026 (UTC)
== Testando ==
Mais testes [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:11, 27 February 2026 (UTC)
== One more ==
Oioioi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:13, 27 February 2026 (UTC)
== Test test test ==
Yay [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:27, 27 February 2026 (UTC)
== Testing links ==
https://en.wikipedia.org/wiki/History_of_the_People%27s_Republic_of_China
[[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:29, 18 June 2026 (UTC)
huocuj8te77dcvbiiups3vekavc4ask
MediaWiki:GrowthMentors.json
8
127601
747599
739017
2026-06-19T10:14:22Z
Maintenance script
22788
Config changed by maintenance script:
747599
json
application/json
{
"Mentors": {
"49911": {
"message": null,
"weight": 2,
"username": "About672599"
},
"44042": {
"message": null,
"weight": 2,
"username": "Aseleste"
},
"50263": {
"message": "Testing",
"weight": 0,
"username": "DreZhsh"
},
"30874": {
"message": "Testing",
"weight": 2,
"username": "Elli"
},
"27425": {
"message": "Hello and welcome! I'll be happy to help you!",
"weight": 0,
"username": "Etonkovidova (WMF)"
},
"51711": {
"message": "Test",
"weight": 2,
"username": "GOnyeahialam (WMF)"
},
"752": {
"message": "I will be happy to explore together all these new features!",
"weight": 1,
"username": "Geraki"
},
"1": {
"message": "Sup?",
"weight": 2,
"username": "Jon Harald Søby"
},
"39901": {
"message": "Welcome to Wikipedia! I love editing about music, but you can ask me anything.",
"weight": 2,
"username": "MMiller (WMF)"
},
"43912": {
"message": "test222222222222222",
"weight": 2,
"username": "Martin Urbanec (WMF)"
},
"43610": {
"message": "Test",
"weight": 4,
"username": "Paloi Sciurala"
},
"39808": {
"message": "Testing",
"weight": 2,
"username": "Nemoralis"
},
"50179": {
"message": "Uh-huh?",
"weight": 2,
"username": "NguoiDungKhongDinhDanh"
},
"48882": {
"message": "Hi, Welcome to Wikipedia!",
"weight": 2,
"username": "OTichonova (WMF)"
},
"34206": {
"message": "Ask me about design stuff",
"weight": 2,
"username": "RHo (WMF)"
},
"51965": {
"message": "Test wew",
"weight": 0,
"username": "SGimeno (WMF)"
},
"29210": {
"message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.啊啊啊",
"weight": 1,
"username": "Stang",
"awayTimestamp": "9999-12-30T22:36:04Z"
},
"12061": {
"message": "Blah blah blah",
"weight": 2,
"username": "Suffusion of Yellow"
},
"50053": {
"message": "Wikipedia:Requests/Help desk/Mentors to become a mentor. \u003Cimg src=1 onerror=\"alert()\"\u003E\u003C/img\u003E",
"weight": 2,
"username": "Sungodtemple"
},
"21799": {
"message": "test porpoise",
"weight": 2,
"username": "Tamzin"
},
"51768": {
"message": "Heh, hey!",
"weight": 2,
"username": "Vasmar1"
},
"1639": {
"message": null,
"weight": 2,
"username": "Wargo"
},
"29926": {
"message": "This experienced user knows you're new and can help you with editing.",
"weight": 1,
"username": "Zilant17"
},
"52081": {
"message": "testing the mentor features",
"weight": 4,
"username": "Zippybonzo"
},
"48247": {
"message": null,
"weight": 0,
"username": "Asartea"
},
"40269": {
"message": "test test test ",
"weight": 2,
"username": "KHarlan (WMF)"
},
"51514": {
"message": null,
"weight": 0,
"username": "Mentor dashboard usability test"
},
"49608": {
"message": null,
"weight": 0,
"username": "SixthGrave"
},
"20771": {
"message": null,
"weight": 0,
"username": "Tacsipacsi"
},
"46860": {
"message": null,
"weight": 0,
"username": "Valcio",
"awayTimestamp": "2268-03-04T20:22:52Z"
},
"101": {
"message": null,
"weight": 0,
"username": "Xaosflux"
},
"21990": {
"message": null,
"weight": 0,
"username": "Xiplus"
},
"44996": {
"message": "Yaaaay!",
"weight": 2,
"username": "Yahya"
},
"28192": {
"message": "test",
"weight": 2,
"username": "Abbe98"
},
"29752": {
"message": "Hello testers! ",
"weight": 2,
"username": "Trizek (WMF)"
},
"16495": {
"message": "Ffgg",
"weight": 2,
"username": "Iluvatar"
},
"3312": {
"message": "123",
"weight": 2,
"username": "Iniquity"
},
"49609": {
"message": "I will be happy to help!",
"weight": 4,
"username": "Neriah"
},
"53741": {
"message": "Hi",
"weight": 2,
"username": "Syunsyunminmin"
},
"45556": {
"message": "Hello, how can I help you today?",
"weight": 2,
"username": "Dyolf77 (WMF)"
},
"51538": {
"message": null,
"weight": 2,
"username": "Kylemaverick"
},
"37377": {
"message": "I am testing this feature 🙃",
"weight": 2,
"username": "Ата"
},
"28876": {
"message": "test",
"weight": 2,
"username": "Roan Kattouw (WMF)"
},
"52574": {
"message": "kjhjkh",
"weight": 2,
"username": "BMartinezCalvo (WMF)"
},
"43722": {
"message": null,
"weight": 2,
"username": "Ameisenigel"
},
"54146": {
"message": null,
"weight": 2,
"username": "Chqaz"
},
"54035": {
"message": "Hello testers, I'll be happy to help you!",
"weight": 0,
"username": "KStoller-WMF"
},
"61446": {
"message": "(just testing things, nevermind)",
"weight": 0,
"username": "MGrosse-WMF"
},
"31153": {
"message": "test",
"weight": 2,
"username": "Jack who built the house"
},
"46247": {
"message": "Hello! ",
"weight": 2,
"username": "Vincatest9"
},
"19016": {
"message": "Test wiki",
"weight": 2,
"username": "Jdlrobson"
},
"50416": {
"message": "Hello! I'm a test mentor. 123",
"weight": 1,
"username": "Zilant1b"
},
"34459": {
"message": null,
"weight": 0,
"username": "Jon Harald Søby (WMNO)"
},
"53420": {
"message": null,
"weight": 0,
"username": "JFernandez-WMF"
},
"24817": {
"message": "Test mentoring",
"weight": 0,
"username": "MusikAnimal"
},
"60101": {
"message": "Hi!",
"weight": 4,
"username": "Sunny Cryolite"
},
"55545": {
"message": "This experienced user knows you're new and can help you with editing.",
"weight": 4,
"username": "Martin Urbanec (public)"
},
"29017": {
"message": null,
"weight": 2,
"username": "Martin Urbanec"
},
"61465": {
"message": "Hi! I'm a WMF staff member and would like to help you with your contributions to Wikipedia!",
"weight": 2,
"username": "SPerry-WMF"
},
"34390": {
"message": "jhgnhg",
"weight": 2,
"username": "Samwalton9 (WMF)"
},
"70274": {
"message": null,
"weight": 2,
"username": "Vinca11sep01"
},
"43668": {
"message": "test",
"weight": 2,
"username": "Luky001"
},
"71432": {
"message": "mentor schmentor",
"weight": 0,
"username": "Dot.py"
},
"72171": {
"message": "Hello, and welcome! I'm SimpleObjects-9ei, and you can test stuff here. Have any questions? Just ask me.",
"weight": 4,
"username": "SimpleObjects-9ei"
}
}
}
m9xxtbpwhgheb2nv95lqy3fbsazyqu0
Crew rest compartment
0
155453
747583
746016
2026-06-18T21:56:20Z
User97104
72884
Replaced content with " [[Category:Aircraft cabin components]]"
747583
wikitext
text/x-wiki
[[Category:Aircraft cabin components]]
6ljjyipgepmf5u0eh8acaghoaosqtbz
User:Borhan/test.js
2
159779
747428
745305
2026-06-18T14:51:30Z
Borhan
54019
747428
javascript
text/javascript
mw.loader.load('//bn.wikipedia.org/w/index.php?title=ব্যবহারকারী:ARI/বিন্যাস.js&action=raw&ctype=text/javascript');
ec42krd17dz0h2x8l2mdp646ad5adrm
747439
747428
2026-06-18T14:56:45Z
Borhan
54019
+
747439
javascript
text/javascript
// <nowiki>
window.alignerDebug = false;
window.alignerDefaultSearches = [
"{{infobox",
"{{speciesbox",
"{{taxobox",
'{{automatic taxobox',
];
window.alignerExtraSearches = [];
let portletAdded = false;
mw.loader.using(['mediawiki.util'], function () {
if (mw.config.get('wgAction') !== 'edit' && mw.config.get('wgAction') !== 'submit') {
return;
}
setUpPortlet();
} );
mw.hook( 've.newTarget' ).add( ( target ) => {
target.on( 'surfaceReady', () => {
if ( target.surface.getMode() === 'source' ) {
setUpPortlet();
}
} )
} );
function setUpPortlet() {
if ( portletAdded ) {
return;
}
portletAdded = true;
mw.util.addPortletLink('p-cactions', 'javascript:void(0);', 'Align template params', 'us-taavi-align');
$('#us-taavi-align').click(function () {
const splitParam = string => {
const split = string.split('=');
if (split.length <= 2) {
return split;
}
let first = split.shift();
return [first, split.join('=')];
};
const splitIntoParams = string => {
if (string.startsWith('{{') && string.endsWith('}}')) {
if (!string.includes('|')) {
return [string];
}
const results = splitIntoParams(string.slice(2, -2));
return ['{{' + results[0]].concat(splitIntoParams(string.slice(2, -2)).slice(1), ['}}']);
}
const params = [];
let temp = '';
let open = 0;
for (let i = 0; i < string.length; i++) {
const char = string[i];
temp += char;
if (char === '{' || char === '[') {
open += 1;
} else if (char === '}' || char === ']') {
open -= 1;
} else if (char === '|' && open === 0 && temp.trim() !== '|') {
params.push(temp.slice(0, -1).trim());
temp = '|';
}
}
params.push(temp);
return params;
};
const debug = string => {
if (window.alignerDebug) {
mw.notify(string);
}
};
const useWikEd = window.wikEd && window.wikEd.useWikEd;
if (useWikEd) {
window.wikEd.UpdateTextarea();
}
const editBox = $('#wpTextbox1');
if (!editBox) {
mw.notify('Edit box not found');
return;
}
const text = editBox.textSelection('getContents');
if (!text || text.length === 0) {
mw.notify('Edit box value not found');
return;
}
const searches = window.alignerDefaultSearches.concat(window.alignerExtraSearches || []);
let count = 0;
const processInfobox = template => {
if (template === '') {
mw.notify('Infobox not found');
return;
}
if (open !== 0) {
console.error({ open });
mw.notify('Template was not properly closed');
return;
}
let maxLength = 0;
const origTemplate = String(template);
const lines = template.split("\n");
const newLines = [];
for (let lineNumber in lines) {
const paramsInLine = splitIntoParams(lines[lineNumber].trim());
console.log({
line: lines[lineNumber].trim(),
paramsInLine,
});
for (let paramNumber in paramsInLine) {
let line = paramsInLine[paramNumber].trim();
if (!line.startsWith('|') || line.split('=').length !== 2) {
newLines.push(line);
continue;
}
let [firstPart, lastPart] = splitParam(line);
firstPart = firstPart.slice(1).trim();
if (firstPart.length > maxLength) {
maxLength = firstPart.length;
}
newLines.push('| ' + firstPart + '=' + lastPart);
}
}
let output = '';
maxLength += 2; // to include '| '
for (let lineNumber in newLines) {
let line = newLines[lineNumber];
const parts = splitParam(line);
if (parts.length < 2) {
output += line += "\n";
continue;
}
let firstPart = parts[0].trim();
console.log({ firstPart, maxLength });
while (firstPart.length < maxLength) {
firstPart += ' ';
}
output += firstPart + ' = ' + parts[1].trim() + "\n";
}
if (output.endsWith("\n")) {
output = output.slice(0, -1);
}
editBox.textSelection('setContents', editBox.textSelection('getContents').replace(origTemplate, output));
if (useWikEd) {
wikEd.UpdateFrame();
}
};
let template = '';
let open = 0;
for (let i = 0; i < text.length; i++) {
let foo = false;
for (let searchIndex in searches) {
const search = searches[searchIndex];
const searchLength = search.length;
if (text.length - i > searchLength) {
if ((text.slice(i, i + searchLength).toLowerCase() === search) || (text.slice(i, i + searchLength).toLowerCase() === search.replace(" ", "_"))) {
open += 1;
template += text[i];
foo = true;
}
}
}
if (open >= 1 && !foo) {
template += text[i];
if (text[i] == '{') {
open += 1;
} else if (text[i] == '}') {
open -= 1;
if (open === 0) {
count += 1;
processInfobox(template);
template = '';
}
}
}
}
mw.notify('Successfully aligned ' + String(count) + ' templates. Remember to preview before saving and report any issues at [[User talk:Taavi]].');
});
}
// </nowiki>
agmbi2kxy0sdtobetk1nteuq2jth3ua
747440
747439
2026-06-18T14:59:47Z
Borhan
54019
747440
javascript
text/javascript
$('#us-taavi-align').click(function () {
const splitParam = string => {
const split = string.split('=');
if (split.length <= 2) {
return split;
}
let first = split.shift();
return [first, split.join('=')];
};
const splitIntoParams = string => {
if (string.startsWith('{{') && string.endsWith('}}')) {
if (!string.includes('|')) {
return [string];
}
const results = splitIntoParams(string.slice(2, -2));
return ['{{' + results[0]].concat(splitIntoParams(string.slice(2, -2)).slice(1), ['}}']);
}
const params = [];
let temp = '';
let open = 0;
for (let i = 0; i < string.length; i++) {
const char = string[i];
temp += char;
if (char === '{' || char === '[') {
open += 1;
} else if (char === '}' || char === ']') {
open -= 1;
} else if (char === '|' && open === 0 && temp.trim() !== '|') {
params.push(temp.slice(0, -1).trim());
temp = '|';
}
}
params.push(temp);
return params;
};
const debug = string => {
if (window.alignerDebug) {
mw.notify(string);
}
};
const useWikEd = window.wikEd && window.wikEd.useWikEd;
if (useWikEd) {
window.wikEd.UpdateTextarea();
}
const editBox = $('#wpTextbox1');
if (!editBox) {
mw.notify('Edit box not found');
return;
}
const text = editBox.textSelection('getContents');
if (!text || text.length === 0) {
mw.notify('Edit box value not found');
return;
}
const searches = window.alignerDefaultSearches.concat(window.alignerExtraSearches || []);
let count = 0;
const processInfobox = template => {
if (template === '') {
mw.notify('Infobox not found');
return;
}
if (open !== 0) {
console.error({ open });
mw.notify('Template was not properly closed');
return;
}
let maxLength = 0;
const origTemplate = String(template);
const lines = template.split("\n");
const newLines = [];
for (let lineNumber in lines) {
const paramsInLine = splitIntoParams(lines[lineNumber].trim());
console.log({
line: lines[lineNumber].trim(),
paramsInLine,
});
for (let paramNumber in paramsInLine) {
let line = paramsInLine[paramNumber].trim();
if (!line.startsWith('|') || line.split('=').length !== 2) {
newLines.push(line);
continue;
}
let [firstPart, lastPart] = splitParam(line);
firstPart = firstPart.slice(1).trim();
if (firstPart.length > maxLength) {
maxLength = firstPart.length;
}
newLines.push('| ' + firstPart + '=' + lastPart);
}
}
let output = '';
maxLength += 2; // to include '| '
for (let lineNumber in newLines) {
let line = newLines[lineNumber];
const parts = splitParam(line);
if (parts.length < 2) {
output += line += "\n";
continue;
}
let firstPart = parts[0].trim();
console.log({ firstPart, maxLength });
while (firstPart.length < maxLength) {
firstPart += ' ';
}
output += firstPart + ' = ' + parts[1].trim() + "\n";
}
if (output.endsWith("\n")) {
output = output.slice(0, -1);
}
editBox.textSelection('setContents', editBox.textSelection('getContents').replace(origTemplate, output));
if (useWikEd) {
wikEd.UpdateFrame();
}
};
let template = '';
let open = 0;
for (let i = 0; i < text.length; i++) {
let foo = false;
for (let searchIndex in searches) {
const search = searches[searchIndex];
const searchLength = search.length;
if (text.length - i > searchLength) {
if ((text.slice(i, i + searchLength).toLowerCase() === search) || (text.slice(i, i + searchLength).toLowerCase() === search.replace(" ", "_"))) {
open += 1;
template += text[i];
foo = true;
}
}
}
if (open >= 1 && !foo) {
template += text[i];
if (text[i] == '{') {
open += 1;
} else if (text[i] == '}') {
open -= 1;
if (open === 0) {
count += 1;
processInfobox(template);
template = '';
}
}
}
}
mw.notify('Successfully aligned ' + String(count) + ' templates. Remember to preview before saving and report any issues at [[User talk:Taavi]].');
});
}
// </nowiki>
9uh1isdd8ezu2ir7vtpkovktdq61ulf
747441
747440
2026-06-18T14:59:59Z
Borhan
54019
Blanked the page
747441
javascript
text/javascript
phoiac9h4m842xq45sp7s6u21eteeq1
747480
747441
2026-06-18T15:49:02Z
Borhan
54019
747480
javascript
text/javascript
mw.loader.load('//bn.wikipedia.org/w/index.php?title=ব্যবহারকারী:ARI/বিন্যাস.js&action=raw&ctype=text/javascript');
ec42krd17dz0h2x8l2mdp646ad5adrm
747503
747480
2026-06-18T16:01:08Z
Borhan
54019
Blanked the page
747503
javascript
text/javascript
phoiac9h4m842xq45sp7s6u21eteeq1
Eurovision Song Contest's Greatest Hits
0
171931
747589
726641
2026-06-19T00:03:24Z
InternetArchiveBot
34092
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
747589
wikitext
text/x-wiki
<!--this is a page translated from wikipedia!-->
{{short description|电视节目}}
{{good article}}
{{Use dmy dates|date=2015年2月}}
{{italic title}}
{{Infobox Song Contest
| name = ''欧洲歌唱大赛最佳金曲''
| logo = Eurovision Song Contest's Greatest Hits.png
| final = 2015年3月31日
| presenters = {{unbulleted list|[[佩特拉·梅德]]|[[格雷厄姆·诺顿]]}}
| exsupervisor = [[乔恩·奥拉·桑德]]
| exproducer = 盖伊·弗里曼
| director = {{unbulleted list|[[杰夫·波斯纳]]}}
| musdirector = [[大卫·阿奇]]
| organiser = [[欧洲广播联盟]] (EBU)
| host = [[BBC|英国广播公司]] (BBC)
| venue = [[哈默史密斯阿波罗剧院]]<br />英国伦敦哈默史密斯
}}
'''''欧洲歌唱大赛最佳金曲'''''(也称为'''''欧洲歌唱大赛最伟大的金曲''''')是由[[欧洲广播联盟]](EBU)组织、[[BBC|英国广播公司]](BBC)制作的[[现场直播电视|现场电视]][[音乐会]]节目,旨在纪念[[欧洲歌唱大赛]]60周年。音乐会于2015年3月31日在英国[[伦敦]][[哈默史密斯]]的[[哈默史密斯阿波罗剧院]]举行。盖伊·弗里曼担任执行制片人,杰夫·波斯纳担任导演,两人都曾在BBC于1998年最后一次主办欧洲歌唱大赛时担任相同职位。<ref name="show">{{Cite web |last=Roxburgh |first=Gordon |date=2015年2月3日 |title=官方:伦敦将举办欧洲歌唱大赛60周年活动 |url=http://www.eurovision.tv/page/news?id=official_london_to_host_eurovisions_60th_anniversary_event |access-date=2015年2月3日 |website=eurovision.tv |publisher=欧洲广播联盟}}</ref>西蒙·普罗克特担任高级制片人,大卫·阿奇担任音乐总监。活动门票于2015年2月6日格林威治标准时间10:15开始发售。
[[格雷厄姆·诺顿]]和[[佩特拉·梅德]]共同主持了这场活动,来自13个国家的15组艺人表演了他们过去参加欧洲歌唱大赛的曲目。在电视直播节目中,每场现场表演之间都会播放来自欧洲歌唱大赛档案的视频集锦。英国2015年的参赛曲目《依然爱你》由[[电子天鹅绒乐队]]演唱,作为开场表演在音乐会上演出,但未在电视节目中播出。1994年的中场表演节目《[[大河之舞]]》作为周年庆祝活动的一部分重新上演。
多个国家确认将在适合各自广播公司时间表的不同日期[[延迟播出|延迟播出]]音乐会,包括将在2015年首次亮相欧洲歌唱大赛的澳大利亚。主办方BBC和爱尔兰广播公司[[RTÉ|爱尔兰广播电视]]于2015年4月3日在[[BBC第一台]]和[[RTÉ2]]同步播出了该节目。同时,一些国家选择不转播该活动,包括有艺人参演的卢森堡。
==地点==
[[File:OdeonHammersmith.jpg|thumb|left|伦敦活动阿波罗剧院]]
2015年2月3日确认,音乐会活动将在英国[[伦敦]][[哈默史密斯]]的[[哈默史密斯阿波罗剧院]]举行。<ref name="show" />这是伦敦自[[2007年欧洲舞蹈大赛]]以来首次举办欧洲歌唱大赛相关活动。<ref name="EDC2007">{{Cite web |last=BBC新闻办公室 |date=2007年4月13日 |title=登上舞台——欧洲舞蹈大赛 |url=https://www.bbc.co.uk/pressoffice/pressreleases/stories/2007/04_april/13/dance.shtml |access-date=2014年10月23日 |website=BBC}}</ref>
==组织==
2014年10月22日宣布,欧洲广播联盟任命英国广播公司[[BBC|英国广播公司]](BBC)共同制作一场特别周年纪念节目,庆祝欧洲歌唱大赛60周年,类似于2005年举办的节目《[[祝贺:欧洲歌唱大赛50周年]]》。BBC娱乐部门曾受委托在2005年从皇家阿尔伯特音乐厅主办50周年纪念节目,但因BBC无法承诺播出该节目而不得不拒绝。宣布时节目的具体名称尚未确定。<ref name="Venue">{{Cite web |last=Jiandani |first=Sanjay |date=2015年2月3日 |title=英国:BBC将于3月主办欧洲歌唱大赛最佳金曲节目 |url=http://esctoday.com/94771/united-kingdom-bbc-will-host-eurovisions-greatest-hits-show-march/ |access-date=2015年2月3日 |website=ESCToday}}</ref><ref name="Anniversary Show">{{Cite web |last=Granger |first=Anthony |date=2014年10月22日 |title=欧歌赛2015:60周年纪念节目将由BBC制作 |url=http://eurovoix.com/2014/10/22/esc15-60th-anniversary-showed-to-be-bbc-produced/ |access-date=2014年10月22日 |website=Eurovoix}}</ref>
欧洲广播联盟随后就60周年发表声明:"除了5月的比赛之外,成员广播公司还提出了各种令人兴奋的提案来庆祝60周年,目前正处于评估的最后阶段。预计很快就会做出决定,敬请期待!"<ref name="EBU Statement">{{Cite web |last=Jiandani |first=Sanjay |date=2014年10月23日 |title=英国:BBC将制作60周年欧洲歌唱大赛节目? |url=http://esctoday.com/88686/united-kingdom-bbc-produce-60th-anniversary-eurovision-show/ |access-date=2014年10月23日 |website=ESCToday}}</ref>2015年欧洲歌唱大赛执行制片人埃德加·伯姆在采访中表示,BBC已被选中主办一场特别周年纪念节目。盖伊·弗里曼被任命为活动的执行制片人,由高级制片人西蒙·普罗克特协助,剧本由[[爱德华·阿夫·西伦]]、丹尼尔·雷恩、克里斯汀·罗斯和西蒙·普罗克特共同编写,导演是[[杰夫·波斯纳]],他曾执导1998年在[[伯明翰]]举行的[[1998年欧洲歌唱大赛]]。<ref name="show"/>
===主持人===
[[File:Hosts of the Eurovision Greatest Hits.jpg|thumb|right|250px|主持人格雷厄姆·诺顿和佩特拉·梅德在哈默史密斯阿波罗剧院演出期间]]
2015年2月3日宣布,[[格雷厄姆·诺顿]]和[[佩特拉·梅德]]将共同主持音乐会节目。<ref>{{Cite web |last=Martinsson |first=Anders |title=佩特拉·梅德参与欧洲歌唱大赛周年庆典 |url=http://m.gp.se/kulturnoje/1.2527205-petra-mede-aktuell-for-eurovision-jubileum |access-date=2014年10月24日 |publisher=哥德堡邮报 |language=sv |archive-date=20 December 2015 |archive-url=https://web.archive.org/web/20151220152147/http://m.gp.se/kulturnoje/1.2527205-petra-mede-aktuell-for-eurovision-jubileum |url-status=dead }}</ref>诺顿曾与[[克劳迪娅·温克曼]]共同主持2007年和2008年的[[欧洲舞蹈大赛]],<ref>{{Cite web |last=BBC节目 |date=2008年9月6日 |title=2008年欧洲舞蹈大赛 |url=https://www.bbc.co.uk/programmes/b00dh7yj |access-date=2014年10月23日 |website=BBC}}</ref>自2009年以来一直担任BBC的欧洲歌唱大赛评论员,<ref>{{Cite web |last=BBC新闻办公室 |date=2008年12月5日 |title=欧洲歌唱大赛:诺顿接替沃根 |url=https://www.bbc.co.uk/pressoffice/pressreleases/stories/2008/12_december/05/eurovision.shtml |access-date=2014年10月23日 |website=BBC}}</ref>后来还共同主持了2023年在[[利物浦]]举行的[[2023年欧洲歌唱大赛]]决赛。梅德曾主持2009年瑞典旋律音乐节、[[2013年欧洲歌唱大赛]],以及后来的2016年和2024年欧洲歌唱大赛。
===门票===
周年音乐会的门票从2015年2月6日格林威治标准时间10:15开始通过BBC的欧洲歌唱大赛网站和欧洲歌唱大赛官方网站发售。<ref name="Event Details">{{Cite web |last=Jiandani |first=Sanjay |date=2015年2月5日 |title=英国:又有4组欧洲歌唱大赛艺人加入派对! |url=http://esctoday.com/94879/united-kingdom-join-party/ |access-date=2015年2月5日 |website=ESCToday}}</ref>
==节目==
音乐会于2015年3月31日在哈默史密斯阿波罗剧院现场录制,允许参与的广播公司自由选择在适合其广播时间表的日期和频道播出节目。<ref name="Broadcasting Schedule">{{Cite web |date=2015年2月5日 |title=欧洲歌唱大赛最佳金曲——门票常见问题 |url=https://www.bbc.co.uk/programmes/articles/3Lk6TzSmghJSbSgsR27P29q/eurovisions-greatest-hits-ticket-faq |access-date=2015年2月5日 |website=BBC}}</ref>来自13个国家的15位艺人参加了这场60周年庆典活动。<ref name="Recording">{{Cite web |last=Storvik-Green |first=Simon |date=2015年3月31日 |title=今晚:欧洲歌唱大赛最佳金曲录制 |url=http://www.eurovision.tv/page/news?id=tonight_recording_of_eurovisions_greatest_hits_from_london |access-date=2015年4月1日 |website=eurovision.tv |publisher=欧洲广播联盟}}</ref>首届比赛冠军[[莉丝·阿西亚]](1956年瑞士)作为贵宾出现在观众席中。在播出期间,每个参赛曲目之前都会播放[[视频集锦]],展示该年度比赛的片段,最后是即将在舞台上表演的参赛作品的欧洲歌唱大赛片段。过去60年欧洲歌唱大赛作品的回顾集锦也在表演之间播出。
===开场和中场表演===
[[电子天鹅绒乐队]]表演了他们代表英国参加2015年欧洲歌唱大赛的曲目《依然爱你》。这场表演没有出现在电视节目中,而是专门为音乐厅的观众表演,后来上传到BBC的社交媒体页面和YouTube频道。<ref>{{Cite web |last=Weaver |first=Jessica |date=2015年4月17日 |title=英国:观看电子天鹅绒乐队的首场现场表演 |url=http://esctoday.com/100874/united-kingdom-watch-electro-velvets-first-live-performance/ |access-date=2015年5月12日 |website=ESCToday}}</ref>节目的中场表演是《[[大河之舞]]》。<ref>{{Cite web |last=Granger |first=Anthony |date=2015年3月22日 |title=欧洲歌唱大赛最佳金曲:大河之舞将演出 |url=http://eurovoix.com/2015/03/22/eurovisions-greatest-hits-riverdance-to-perform/ |access-date=2015年3月23日 |website=Eurovoix}}</ref>它由[[爱尔兰传统音乐]]和[[爱尔兰舞蹈]]组成,由爱尔兰舞蹈冠军[[简·巴特勒]]和[[迈克尔·弗莱利]]主演,配乐由[[利默里克]]本地人[[比尔·惠兰]]创作,最初是1994年欧洲歌唱大赛的中场表演。<ref>{{Cite web |date=1994年4月30日 |title=大河之舞首次亮相 |url=http://www.rte.ie/archives/exhibitions/681-history-of-rte/707-rte-1990s/321057-eurovision-song-contest-1994/ |access-date=2015年3月23日 |website=RTÉ}}</ref>
===表演===
来自13个国家的15组欧洲歌唱大赛艺人参加了周年音乐会。<ref name="Recording"/>虽然BBC最初确认了14组艺人,但2015年3月5日宣布挪威的[[波比袜组合]]将加入阵容,使总数增加到15组。<ref>{{Cite web |last=Granger |first=Anthony |date=2015年3月5日 |title=欧洲歌唱大赛最佳金曲:波比袜组合将演出 |url=http://eurovoix.com/2015/03/05/escs-greatest-hits-bobbysocks-to-perform/ |access-date=2015年3月5日 |website=Eurovoix}}</ref>每个参赛作品之前都会播放视频集锦,展示该年度比赛的片段,最后是即将在舞台上表演的欧洲歌唱大赛作品的片段。
{| class="wikitable sortable"
|-
! 出场顺序
! 年份
! 国家
! 艺人
! 歌曲
! 语言
|-
! scope="row" style="text-align:center;" | 1
| 2013
| 丹麦
| [[艾米莉·德·福雷斯特]]
| "只有泪滴"
| 英语
|-
! scope="row" style="text-align:center;" | 2
| 1973
| 卢森堡
| [[安妮-玛丽·大卫]]
| "你会认出自己"
| 法语、英语
|-
! scope="row" style="text-align:center;" | 3
| 1984
| 瑞典
| [[赫雷斯组合]]
| "迪吉卢迪吉雷"
| 英语、瑞典语
|-
! scope="row" style="text-align:center;" | 4
| 1998
| 以色列
| [[达娜·因特纳雄纳尔]]
| "天后"
| 希伯来语
|-
! scope="row" style="text-align:center;" | 5
| 2000
| 丹麦
| [[奥尔森兄弟]]
| "乘着爱的翅膀飞翔"
| 英语
|-
! scope="row" style="text-align:center;" | 6
| 1976
| 英国
| [[兄弟情谊乐队]]
| "把你的吻留给我"
| 英语
|-
! scope="row" rowspan="4" style="text-align:center;" | 7
| 1968
| rowspan="4" | 西班牙
| rowspan="4" | [[罗莎·洛佩斯]]
| "啦啦啦"
| rowspan="3" | 西班牙语
|-
| 1969
| "我唱着歌活着"
|-
| 1973
| "你就是你"
|-
| 2002
| "欧洲在庆祝"
| 西班牙语、英语
|-
! scope="row" style="text-align:center;" | 8
| 1982
| 德国
| [[妮可]]
| "一点和平"
| 英语、意大利语、德语、法语
|-
! scope="row" style="text-align:center;" | 9
| 2006
| 芬兰
| [[洛迪乐队]]
| "硬摇滚哈利路亚"
| 英语
|-
! scope="row" style="text-align:center;" | 10
| 2001
| 法国
| [[娜塔莎·圣皮埃尔]]
| "我只有我的灵魂"
| 法语、英语
|-
! scope="row" rowspan="2" style="text-align:center;" | 11
| 2008
| rowspan="2" | 俄罗斯
| rowspan="2" | [[季马·比兰]]
| "相信"
| rowspan="2" | 英语
|-
| 2006
| "永不放手"
|-
! scope="row" style="text-align:center;" | 12
| 1985
| 挪威
| [[波比袜组合]]
| "让它摇摆"
| 挪威语、英语
|-
! scope="row" style="text-align:center;" | 13
| 2012
| 瑞典
| [[萝琳]]
| "狂喜"
| 英语
|-
! scope="row" rowspan="3" style="text-align:center;" | 14
| 1980
| rowspan="3" | 爱尔兰
| rowspan="3" | [[约翰尼·洛根]]
| "又一年算什么"
| rowspan="3" | 英语
|-
| 1992
| "为什么是我?"
|-
| 1987
| "现在拥抱我"
|-
! scope="row" style="text-align:center;" | 15
| 2014
| 奥地利
| [[康奇塔·沃斯特]]
| "如凤凰般崛起"
| 英语
|-
|}
===重演表演===
在节目结束时,所有参演艺人用英语演唱了一些欧洲歌唱大赛金曲的混合曲目作为重演节目。[[安妮-玛丽·大卫]]演唱了以色列1979年的冠军曲目"哈利路亚"。瑞典三人组[[赫雷斯组合]]演唱了意大利1958年获得第三名的"在蓝色中绘画"。英国1981年的冠军曲目"下定决心"由[[波比袜组合]]演唱。重演以[[康奇塔·沃斯特]]和[[达娜·因特纳雄纳尔]]带领所有剩余表演者(除了[[萝琳]])回到舞台演唱"滑铁卢"结束,这是瑞典1974年的冠军曲目。
==播出==
由于节目不是现场直播,参与的广播公司能够在适合其播出时间表的日期和频道播出节目。一些广播公司——如奥地利和瑞典的——在伦敦录制了额外的链接和采访供观众观看,这些被用作主节目的预告。<ref name="Broadcasting Schedule"/>
===评论员===
以下广播公司按播出日期顺序列出,确认将播出周年纪念节目。
{| class="wikitable"
|-
! 播出日期
! 国家
! 电视台
! 评论员
|-
| rowspan="2" | 2015年4月3日
| 爱尔兰
| RTÉ2
| rowspan="2" | 无评论
|-
| 英国
| BBC第一台
|-
| rowspan="5" | 2015年4月4日
| 比利时
| Eén
| 彼得·范德维尔<ref>{{Cite web |date=2015年3月26日 |title=VRT在4月4日庆祝欧洲歌唱大赛60周年 |url=http://deredactie.be/cm/vrtnieuws/cultuur%2Ben%2Bmedia/muziek/1.2284002 |access-date=2015年3月30日 |website=deredactie}}</ref>
|-
| 冰岛
| RÚV
| rowspan="2" | 无评论
|-
| 挪威
| NRK1
|-
| 芬兰
| Yle Fem
| rowspan="2" | 莎拉·道恩·费纳和克里斯特·比约克曼
|-
| 瑞典
| SVT1和SVT World
|-
| rowspan="3" | 2015年4月5日
| 阿尔巴尼亚
| RTSH
| 无评论
|-
| 俄罗斯
| 俄罗斯第一频道
| 尤里·阿克秋塔和斯维特拉娜·泽纳洛娃
|-
| 圣马力诺
| SMRTV
| 无评论
|-
| rowspan="2" | 2015年4月11日
| 芬兰
| Yle TV2
| 无评论;芬兰语字幕
|-
| 以色列
| 第一频道
| rowspan="3" | 无评论
|-
| 2015年4月13日
| rowspan="2" | 保加利亚
| BNT1
|-
| 2015年4月19日
| BNT2
|-
| 2015年4月25日
| 拉脱维亚
| LTV1
| 艾加尔斯·罗森伯格斯
|-
| 2015年4月26日
| 葡萄牙
| RTP1
| 胡利奥·伊西德罗
|-
| 2015年5月2日
| 斯洛文尼亚
| TV SLO 1
| 无评论
|-
| 2015年5月4日
| 英国
| BBC第二电台
| 格雷厄姆·诺顿
|-
| 2015年5月12日
| 比利时
| La Une
| 让-路易·拉海和莫琳·路易
|-
| rowspan="5" | 2015年5月16日
|-
| 丹麦
| DR1
| 奥勒·特普霍尔姆
|-
| 德国
| NDR和MDR
| 彼得·乌尔班
|-
| 希腊
| NERIT1和N HD
| 无评论;希腊语字幕
|-
| 罗马尼亚
| TVR1和TVR HD
| 无评论
|-
| 2015年5月17日
| 奥地利
| ORF eins
| 安迪·克诺尔
|-
| 2015年5月19日
| 瑞士
| SRF zwei(第1部分)
| 斯文·埃皮内
|-
| 2015年5月20日
| 法国
| 法国2台
| 维尔吉妮·吉约姆
|-
| rowspan="2" | 2015年5月21日
| 瑞士
| SRF zwei(第2部分)
| 斯文·埃皮内
|-
| 澳大利亚
| SBS One
| rowspan=2 | 无评论
|-
| rowspan="2" | 2015年5月22日
| 爱沙尼亚
| ETV
|-
| 德国
| EinsFestival
| 彼得·乌尔班
|-
| rowspan="2" | 2015年5月23日
| 塞尔维亚
| RTS
| 无评论
|-
| 西班牙
| La 1
| 何塞·玛丽亚·伊尼戈和朱莉娅·瓦雷拉
|-
|}
===未播出的国家===
以下广播公司拒绝播出该节目:
* 亚美尼亚:ARMTV
* 捷克共和国:ČT
* 卢森堡:RTL
* 马其顿:MRT
* 荷兰:AVROTROS
* 乌克兰:NTU
以下至少参加过一次欧洲歌唱大赛的国家的广播公司未宣布是否播出该节目:
安道尔、阿塞拜疆、白俄罗斯、波黑、克罗地亚、塞浦路斯、格鲁吉亚、匈牙利、意大利、立陶宛、马耳他、摩尔多瓦、摩纳哥、黑山、摩洛哥、波兰、斯洛伐克、土耳其
==另见==
*《欧洲之歌》(1981年)
*《祝贺:欧洲歌唱大赛50周年》(2005年)
*《欧洲歌唱大赛:欧洲闪耀光芒》(2020年)
==参考文献==
{{reflist}}
==外部链接==
* [https://web.archive.org/web/20150406071646/http://60th.eurovision.tv/ 欧洲歌唱大赛60周年]
* {{BBC节目|id=p02n77lt|title=欧洲歌唱大赛最佳金曲}}
[[Category:2015年伦敦]]
[[Category:2015年英国音乐]]
[[Category:关于欧洲歌唱大赛的电视节目|最佳金曲]]
[[Category:怀旧电视节目]]
[[Category:2015年欧洲歌唱大赛]]
[[Category:2015年3月英国]]
[[Category:伦敦组织活动]]
5qsouz47rmmyuwyfrj62mij51sb5r5u
User:Supertian8/common.js
2
175863
747591
746460
2026-06-19T02:45:13Z
Supertian8
67751
replace with window
747591
javascript
text/javascript
jQuery( function () {//run script when page loads
mw.loader.load( 'https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.js&action=raw&ctype=text/javascript' );
var epicness = mw.util.addPortletLink ("p-cactions", "#", "epicness", "pt-epic");
epicness.addEventListener("click", function (e) {
var myWindow = function windowFunction() {
const Window = new Morebits.SimpleWindow(700, 400);
Window.setTitle('Test title');
Window.setScriptName('Test script name');
var quickFormContent = new Morebits.quickForm.element({
name: 'target',
type: 'input',
label: 'Your target:',
tooltip: 'Enter your target. Required.',
required: true
});
Window.setContent(quickFormContent);
Window.display();
};
});
} );
24fknb93x70llbwoqpsi4vxxjjgnpqn
MediaWiki:Editcheck-config.json
8
176017
747590
746013
2026-06-19T00:05:06Z
Quiddity (WMF)
23627
fix redlink
747590
json
application/json
{
"textMatch": {
"matchRules": {
"nonspecific-time": {
"query": [
"in the (past|future)",
"recently",
"to this day"
],
"title": "Indefinite time",
"message": "This phrase might contain a [[w:MOS:RELTIME|relative time reference]]. Absolute specifications of time are usually preferred, otherwise they may go out of date. Help readers to understand by writing the specific time that is being referred to here.",
"isRegExp": true,
"config": {
"ignoreQuotedContent": true
}
},
"punctuation-typos-dash": {
"query": {
"--": "—",
"\\s-\\s": " — ",
"\\s-(\\d+)": " −$1",
"([^\\d\\s]+)(\\s—|—\\s)([^\\d\\s]+)": "$1 — $3",
"([А-ЯЁA-Z][^\\d\\s]*)(?\u003C![XVI]+)—(?![XVI]+)([А-ЯЁA-Z][^\\d\\s]*)": "$1 — $2"
},
"title": "Check Punctuation",
"message": "There may be a punctuation error here that needs to be corrected. Check to see if the [[w:MOS:HYPHEN|hyphen]] needs to be replaced with a specific [[w:MOS:DASH|dash]], [[w:MOS:COMMONMATH|minus]], or vice versa, and whether it needs to be surrounded by spaces.",
"isRegExp": true,
"mode": "replace",
"config": {
"caseSensitive": true
}
},
"british-english": {
"query": {
"chiseled": "chiselled",
"favor(ed|ite|ing)": "favour$1",
"somberly": "sombrely"
},
"title": "Change English spelling",
"message": "This word uses a different [[w:WP:ENGVAR|English variety]] than the one used in the rest of this article. Help readers by changing the spelling to match the rest of the article.",
"mode": "replace",
"isRegExp": true,
"preserveCase": true,
"config": {
"account": "loggedin",
"hasTemplate": [
"Use British English",
"EngvarB"
]
}
}
}
}
}
ckmccli89s28ub8fqakx88nxkufjc20
Mergetest1
0
176325
747379
747314
2026-06-18T13:58:22Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747379
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
9irh7lfbaz8o3utj3hn3ub5rmgo7ovi
747383
747379
2026-06-18T13:58:56Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747383
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
h1pdalvylsxbrjmgaw508fj0ieacb5u
747388
747383
2026-06-18T14:00:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747388
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
ibgbvy3va9jdhqdvhljeork8o8eh3j9
747392
747388
2026-06-18T14:05:01Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747392
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
mxdc2tyb42v483jmqz74hqagysuxrly
747395
747392
2026-06-18T14:09:57Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747395
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
rzkzemop2xuychkdpzwso9cfm949gw5
747400
747395
2026-06-18T14:15:12Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747400
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
k371s9kmmjymr96axs0p3bujefwp2sd
747404
747400
2026-06-18T14:18:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747404
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}}
#REDIRECT [[Mergetest2]]
s278n07g5h46n5jmzdj04pikv39ody8
747406
747404
2026-06-18T14:19:17Z
Trialpears
43074
Blanked the page
747406
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
747407
747406
2026-06-18T14:20:33Z
Trialpears
43074
Nominated for merging; see [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]].
747407
wikitext
text/x-wiki
<!-- Please do not remove or change this AfD message until the discussion has been closed. -->
{{AfDM|page=Mergetest1 (2nd nomination)|year=2026|month=June|day=18|substed=yes|origtag=afdx|help=off|outcome=merging|target=Mergetest2}}
<!-- End of AfD message, feel free to edit beyond this point -->
44c82hgzqgvm043sx9r2qef23sbq4o6
747415
747407
2026-06-18T14:38:58Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747415
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
m0o7op7fvf9qixdre13b0gpx8nkrjue
747420
747415
2026-06-18T14:42:48Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747420
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
7yw39nhxtpvhny2ijqllca1ed73cpr5
747424
747420
2026-06-18T14:47:10Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747424
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
ofn24765stpnz0pjm63i29hxk660ltc
747432
747424
2026-06-18T14:54:43Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747432
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
j09yx0il0ocivpaypm2ltqxolq54w35
747437
747432
2026-06-18T14:55:32Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747437
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
h2dkwi3dgfj7qrzoefpegpen2jkdmpt
747444
747437
2026-06-18T15:06:27Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747444
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
c49fnw45ank3ltxugi0sn26if51kcef
747451
747444
2026-06-18T15:09:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747451
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
npg7idvakcmq6d3q41m67qyxesnquam
747456
747451
2026-06-18T15:13:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747456
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
gl2at6gwa6y6twrzdhtr0rpfm4uvyun
747462
747456
2026-06-18T15:40:25Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747462
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
hzkk59t6kjz3qrtt6ohniu9d5y9qjvt
747466
747462
2026-06-18T15:42:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747466
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
dwfvhlh5w94lzzyv17mbxikpgl9v1wi
747471
747466
2026-06-18T15:43:04Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747471
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
684re5h9mltsmwbd8is9gc2kek5d8c5
747478
747471
2026-06-18T15:48:37Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747478
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
doxl2pv95wqgsg8fjo3926n4bgd8qqn
747484
747478
2026-06-18T15:50:38Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747484
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
dwlp1k36o32lxmz4clandigfih6dqfa
747488
747484
2026-06-18T15:51:34Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747488
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
por6ab3jqh341nv5aobfavp64ptup79
747495
747488
2026-06-18T15:53:32Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747495
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
7k56ochpjb70uo31p4soi7mq589z9k5
747500
747495
2026-06-18T15:56:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747500
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
pvuxn4j9kmqoaomxawh9ex7ixe8ikm5
747509
747500
2026-06-18T16:21:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747509
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
3dbnwfa79ncr58curuoxdgyjixzgupo
747515
747509
2026-06-18T16:23:02Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747515
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
niljkpschmy5o17p1n8ya2ynke0pdi1
747520
747515
2026-06-18T16:32:11Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747520
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
nl4h49559g121bhupq7gxw7juaa959t
747525
747520
2026-06-18T16:35:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747525
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
gc0551qha8w6ch7gk0tadako63962p3
747529
747525
2026-06-18T16:37:13Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747529
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
c81pzuxo0pt8mi3ka35yvfkkwjhcj39
747541
747529
2026-06-18T20:47:41Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747541
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
luxsqk65svl6io0q65m46qx6uiwl3zl
747546
747541
2026-06-18T20:52:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747546
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
42gw4j8m941jkt2yrhz7xbl2nb2ru8u
747551
747546
2026-06-18T20:53:20Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747551
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
dky1bt9l1cdibhekrhcahpcbxpamt4s
747554
747551
2026-06-18T20:54:12Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747554
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
0ug1qfdgpox921don6zig890rnmv4eg
747559
747554
2026-06-18T20:55:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747559
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
q8z1xx77f8vvp2b3fk0vwfj81zgk1vx
747563
747559
2026-06-18T20:55:55Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747563
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
8xfpv79r3js8iewcm1z6w7idkwd2ai3
747572
747563
2026-06-18T21:17:28Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747572
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
t8aelxz4ek3uvd6j2ma4igph53ta2oo
747577
747572
2026-06-18T21:18:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747577
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
f8ubavz1x7y42vc76hqqug5rxwqyrhv
Mergetest2
0
176326
747403
747235
2026-06-18T14:18:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747403
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
I should get a merger to me
okzqpl8ouq2602kj89ox7crynuk38t9
747410
747403
2026-06-18T14:20:33Z
Trialpears
43074
Nominated for merging; see [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]].
747410
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
I should get a merger to me
aol11lsdw5uyloxlfqm4wcfezt51j7m
747421
747410
2026-06-18T14:42:48Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747421
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
I should get a merger to me
orewmpz0ai2z1dho1ew0rbq35iwa6pb
747422
747421
2026-06-18T14:45:53Z
Trialpears
43074
harder test
747422
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{Merge|1= Somewhere else}}
dyvz7ro13ruqis13j2y7w188mzs7k1p
747426
747422
2026-06-18T14:47:10Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747426
wikitext
text/x-wiki
I should get a merger to me
==Section 1==
==Section 2==
undefined
hpva3pz18cjq9u567o4szoj8mqm12sw
747429
747426
2026-06-18T14:52:55Z
Trialpears
43074
Restored revision 747422 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747429
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{Merge|1= Somewhere else}}
dyvz7ro13ruqis13j2y7w188mzs7k1p
747436
747429
2026-06-18T14:55:31Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747436
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
3pgyvavk0y3pvcpc3joti64o0o8ouap
747442
747436
2026-06-18T15:05:19Z
Trialpears
43074
Restored revision 747429 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747442
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{Merge|1= Somewhere else}}
dyvz7ro13ruqis13j2y7w188mzs7k1p
747446
747442
2026-06-18T15:06:27Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747446
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
3pgyvavk0y3pvcpc3joti64o0o8ouap
747448
747446
2026-06-18T15:08:58Z
Trialpears
43074
Restored revision 747442 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747448
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{Merge|1= Somewhere else}}
dyvz7ro13ruqis13j2y7w188mzs7k1p
747452
747448
2026-06-18T15:09:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747452
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
3pgyvavk0y3pvcpc3joti64o0o8ouap
747470
747452
2026-06-18T15:43:03Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747470
wikitext
text/x-wiki
{{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}}
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
7ek5fvcw66k9cjsjjzf2tyy386lwgjk
747476
747470
2026-06-18T15:48:36Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747476
wikitext
text/x-wiki
{{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}}
{{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}}
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
2hjjhu54i7ug8lnezm3rd2jqvh84se0
747483
747476
2026-06-18T15:50:38Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747483
wikitext
text/x-wiki
{{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}}
{{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}}
{{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}}
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
p062v2xlxwjz4gtm4a5rkhrai1r2jvc
747489
747483
2026-06-18T15:51:34Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747489
wikitext
text/x-wiki
{{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}}
{{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}}
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
3837ib6hgs5cyxbtcnoaypoo5iad0hc
747493
747489
2026-06-18T15:53:32Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747493
wikitext
text/x-wiki
{{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}}
{{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}}
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
undefined
aa0mhwu89b45fu1l15u113hjggr1fwb
747497
747493
2026-06-18T15:55:53Z
Trialpears
43074
Restored revision 747448 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747497
wikitext
text/x-wiki
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{Merge|1= Somewhere else}}
dyvz7ro13ruqis13j2y7w188mzs7k1p
747502
747497
2026-06-18T15:56:10Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747502
wikitext
text/x-wiki
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}
I should get a merger to me
==Section 1==
==Section 2==
{{Merge|1= Somewhere else}}
qg3zhetpg2orfxgizidunow9zotdx4e
747504
747502
2026-06-18T16:20:41Z
Trialpears
43074
test
747504
wikitext
text/x-wiki
{{article for deletion/dated}}
{{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{merge}}
mfpyzp9yl2zkezeeoxmsrjyvsmwccq3
747508
747504
2026-06-18T16:21:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747508
wikitext
text/x-wiki
{{article for deletion/dated}}
I should get a merger to me
==Section 1==
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}
==Section 2==
{{merge}}
6g3ifnlds1t39qgaiai5wbeqxd886zy
747510
747508
2026-06-18T16:22:45Z
Trialpears
43074
Restored revision 747504 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747510
wikitext
text/x-wiki
{{article for deletion/dated}}
{{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{merge}}
mfpyzp9yl2zkezeeoxmsrjyvsmwccq3
747513
747510
2026-06-18T16:23:02Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747513
wikitext
text/x-wiki
I should get a merger to me
==Section 1==
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}
==Section 2==
{{merge}}
3hlb0rebwoyl3pmze3nln07b6yc7arl
747516
747513
2026-06-18T16:31:31Z
Trialpears
43074
Restored revision 747510 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747516
wikitext
text/x-wiki
{{article for deletion/dated}}
{{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{merge}}
mfpyzp9yl2zkezeeoxmsrjyvsmwccq3
747522
747516
2026-06-18T16:35:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747522
wikitext
text/x-wiki
I should get a merger to me
==Section 1==
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}==Section 2==
{{merge}}
65ifuzdiq20ruyj19s11ssym57iukcz
747526
747522
2026-06-18T16:35:55Z
Trialpears
43074
Restored revision 747516 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747526
wikitext
text/x-wiki
{{article for deletion/dated}}
{{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{merge}}
mfpyzp9yl2zkezeeoxmsrjyvsmwccq3
747527
747526
2026-06-18T16:36:22Z
Trialpears
43074
fix spacing
747527
wikitext
text/x-wiki
{{article for deletion/dated}}
{{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
I should get a merger to me
==Section 1==
{{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}
==Section 2==
{{merge}}
c6vnndc1gagad8xtt4dcnpatwwy7nqo
747531
747527
2026-06-18T16:37:13Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747531
wikitext
text/x-wiki
I should get a merger to me
==Section 1==
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}
==Section 2==
{{merge}}
kyzzk1ihwvl5vvcqk3vqmqhq5bzm13r
Wikipedia:Articles for deletion/Mergetest1
4
176333
747377
747311
2026-06-18T13:58:20Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747377
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
p6u5er1ewmojbfibcg1s08k09gl287o
747381
747377
2026-06-18T13:58:55Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747381
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
8qfx6u923k2wej4kjv6bm9jle2yc6t3
747385
747381
2026-06-18T14:00:20Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747385
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
3dpme5x79724pm20x6n5fvh2xkbnd2l
747389
747385
2026-06-18T14:04:59Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747389
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
k7qm4md08kmjvkltidec0rrwaxxdgs0
747393
747389
2026-06-18T14:09:56Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747393
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
e57pjmmp9c7q4azeufp05gzk9h0zmgx
747397
747393
2026-06-18T14:15:12Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747397
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
l2i6q271d6b6oc2l799adph51keua0j
747401
747397
2026-06-18T14:18:16Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747401
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
61o4gadn68mvshuyubsghqjd5edhhfb
747413
747401
2026-06-18T14:38:57Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747413
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
8a4p05wzkns4tjblcot1nvb55u8f0fb
747417
747413
2026-06-18T14:42:47Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747417
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
q45jxb4quhm70buhi44emr9zjnor7df
747423
747417
2026-06-18T14:47:09Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747423
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
c46pnwsvkr80g2r778es05m4ad5184v
747430
747423
2026-06-18T14:54:42Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747430
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
76rv7f63xoxt5pe5ui04odc0vwts624
747434
747430
2026-06-18T14:55:31Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747434
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
kgqdymh1vdd3vee0jhvdc93uc2zhvpd
747443
747434
2026-06-18T15:06:26Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747443
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
n8puxsbzbb84uqsd9ifq7pt79ivpfeo
747449
747443
2026-06-18T15:09:15Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747449
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
p92w48linhql7lc5vgzz60k8uaw8sot
747454
747449
2026-06-18T15:13:20Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747454
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
aodn0tckjllbqbg7wwx643801kfgiaj
747458
747454
2026-06-18T15:39:34Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747458
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
dyhw3rhw24mdvmget9ijun076ulqd4r
747460
747458
2026-06-18T15:40:24Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747460
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
j2e3gasjaky0y742h4sv2azgik2mh8o
747464
747460
2026-06-18T15:41:59Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747464
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
gbt7j213u22rs686rbedj7sc5npadta
747468
747464
2026-06-18T15:43:03Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747468
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
40h5qfc9qiip7velyanz8lrorwuj4is
747473
747468
2026-06-18T15:47:48Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747473
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
bhbsfdkineuhwx6pnxaz7otbavviz0y
747475
747473
2026-06-18T15:48:36Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747475
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
ijoz1ehkzlj2g1j8cxhhvf1bxaslriw
747481
747475
2026-06-18T15:50:37Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747481
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
afwaku2uwt2sic4hcatpv6rp1tgn6d4
747486
747481
2026-06-18T15:51:33Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747486
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:51, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
rday90vmea1aim8t6s3cym5lczdzarb
747491
747486
2026-06-18T15:53:31Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747491
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:51, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:53, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC)
fpqg946l9zgpm9fopfsj1w0bol2e8fe
Talk:Mergetest1
1
176335
747378
747312
2026-06-18T13:58:22Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747378
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1}}
7l3o9g6robr6r6mhjxj2n1amrijsn9z
747382
747378
2026-06-18T13:58:56Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747382
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1}}
3nvjj6k2y947bbkfcb0781z4fkcsrqd
747386
747382
2026-06-18T14:00:21Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747386
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1}}
j5tgjx981zloh3qa46ue53wtrgw4m6k
747391
747386
2026-06-18T14:05:01Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747391
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1}}
cnmgopjnhf2unyg3ov1dl8cup5rrgvy
747394
747391
2026-06-18T14:09:57Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747394
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1}}
4edjjx8sdjslq6u3brnuklfj70mzd40
747398
747394
2026-06-18T14:15:12Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747398
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1}}
hyplv9pj84im6lswub4865qjl35di6g
747402
747398
2026-06-18T14:18:16Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747402
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1}}
i1e15ojzbyy8ased4gy74mxjty26hnq
747414
747402
2026-06-18T14:38:58Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747414
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1}}
k2ajlq9tn2v0e0hvyoizidfnq5nwpz0
747419
747414
2026-06-18T14:42:48Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747419
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1}}
3w6j81x4op5oekcc9bgbfna2lrz1ath
747425
747419
2026-06-18T14:47:10Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747425
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1}}
arq9clwxv3nn03kecmj2zyj7q5sp0ca
747431
747425
2026-06-18T14:54:43Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747431
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1}}
pqoe3mme7rnghciz97mrknh55v0egkg
747435
747431
2026-06-18T14:55:31Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747435
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1}}
r154ipz5385bzc93eofso20e4u41ut6
747445
747435
2026-06-18T15:06:27Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747445
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1}}
c3kxxgkdguaosnb9gtytj894szql2b5
747450
747445
2026-06-18T15:09:16Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747450
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1}}
62f4wkfh7mlpmgz7w2gz2ybcie8wdr1
747455
747450
2026-06-18T15:13:21Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747455
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1}}
ncsxigwjx9jf92j896mj8ikdvpac8sm
747459
747455
2026-06-18T15:39:35Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747459
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1}}
khc7uq11qd0jgqp80kiffuevp8qappr
747461
747459
2026-06-18T15:40:25Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747461
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1}}
9dna0tb4b3r7se8l89dky3acx67homv
747465
747461
2026-06-18T15:41:59Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747465
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1}}
d43ep1eunha6tpf7hsbre3e9otwl3sr
747469
747465
2026-06-18T15:43:03Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747469
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1}}
rksuwmua9a8cv8qoqy5ijaqan9nvg08
747474
747469
2026-06-18T15:47:48Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747474
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1}}
10ojaffvxyt0p5aib4v6f7fkgf5ik7v
747477
747474
2026-06-18T15:48:36Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747477
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1}}
32sqtj2kopjnqhvmv03idu78jawj4cm
747482
747477
2026-06-18T15:50:38Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747482
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1}}
erq13sy0ipj3n72yrxosa0568zbl679
747487
747482
2026-06-18T15:51:33Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747487
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1}}
trup3b4wb0juq9e4cim38y3xqo6trxq
747492
747487
2026-06-18T15:53:31Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747492
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1}}
qjhv29fbp0146j9qat8wrgghcod9pcb
747499
747492
2026-06-18T15:56:10Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747499
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination)}}
bdk1aba79h9p5q0lbi9dc7blj4o60cl
747507
747499
2026-06-18T16:21:07Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747507
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination)}}
bz24tx6ftlhvpa5tpq558nat6x9dmuf
747512
747507
2026-06-18T16:23:02Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747512
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination)}}
j00dwr16j4ql4wckn434l3knvwm6qtq
747518
747512
2026-06-18T16:32:11Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747518
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination)}}
dzaimu7enel0fi3deuun03irv68cc1y
747523
747518
2026-06-18T16:35:09Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747523
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination)}}
iz464cb14folh15th07k5aze1x95bql
747530
747523
2026-06-18T16:37:13Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747530
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination)}}
7jxiiedvqw93by1shegsy48t1z2xuhd
747539
747530
2026-06-18T18:10:21Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as keep ([[WP:XFDC#4.0.16|XFDcloser]])
747539
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination)}}
t8coeb8fdgo3zk9295q0qbz41baoda8
747543
747539
2026-06-18T20:47:42Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747543
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination)}}
powyyaguk4nyqeqt6xsxjgm9mu0r148
747545
747543
2026-06-18T20:52:09Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747545
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination)}}
27ppc1p9o6ix2frx4fcxemejzarcvz1
747549
747545
2026-06-18T20:53:20Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747549
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination)}}
9hactuqw48dirijd6t559pl1pavabb8
747553
747549
2026-06-18T20:54:12Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747553
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination)}}
ojb0crv2ycdj2fq3psup21i4h08aavh
747557
747553
2026-06-18T20:55:21Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747557
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination)}}
5t8hjbj4p78b8joolk4fdfrmcya8ygz
747562
747557
2026-06-18T20:55:55Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747562
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination)}}
6vfp4ltk9vwsmzdi2oi1hta49hqt2m8
747570
747562
2026-06-18T21:17:28Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747570
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination)}}
6m7hhlewsnp3gcmre7va7c2oydz8zps
747574
747570
2026-06-18T21:18:07Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747574
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination)}}
qqt94ctcorq59xabvd88ib49k0ta1yv
747576
747574
2026-06-18T21:18:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747576
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination)}}
6m7hhlewsnp3gcmre7va7c2oydz8zps
Talk:Mergetest2
1
176336
747380
747313
2026-06-18T13:58:22Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747380
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
gqqkfos935saf4t18x69kuoojp8uu6l
747384
747380
2026-06-18T13:58:56Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747384
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
0xp0w5z10l2tieeegzv3r3mzxrbu9tk
747387
747384
2026-06-18T14:00:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747387
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
oddosx8q4lk7furxpdg8xs18e6gkvo6
747390
747387
2026-06-18T14:05:01Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747390
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
heb3dqzi3oinp7zu9s8dqmspc4usmla
747396
747390
2026-06-18T14:09:57Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747396
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
pkz7427amxs3yk8xf242jlyambhre5b
747399
747396
2026-06-18T14:15:12Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747399
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
24vet1oriojcrybsju7nnj77iqxvn2g
747405
747399
2026-06-18T14:18:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747405
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
ko2ew808q8o59tduixl7lwx3m0m1w0h
747416
747405
2026-06-18T14:38:58Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747416
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
plxslm2gfhfdgjjsm5rh7itxl43g96u
747418
747416
2026-06-18T14:42:48Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747418
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
sjmthq1c92povqysmwg6rvedfd0t4v7
747427
747418
2026-06-18T14:47:10Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747427
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
e37hz05muxmzv5wyfprdlbditi6d1o6
747433
747427
2026-06-18T14:54:43Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747433
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
luwhnnrngw4bjnu6u6sojpdc1fmabgo
747438
747433
2026-06-18T14:55:31Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747438
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
4uir64690slwdwk1r6qyt4x0xso6w8a
747447
747438
2026-06-18T15:06:27Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747447
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
osysrnxux1eo5fc6ag4n2fyon5lf98x
747453
747447
2026-06-18T15:09:16Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747453
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
bofyej4hgbl9ibte5fgppmmac0i2rpe
747457
747453
2026-06-18T15:13:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747457
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
t2hsfi4bblvvv55ni6ocgaikwfi9rt5
747463
747457
2026-06-18T15:40:25Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747463
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
ekzub1sejucje57cihhxb8opo97ov3s
747467
747463
2026-06-18T15:42:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747467
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
grj4m56ny84h9o0nwk3mea7pzcz2pnk
747472
747467
2026-06-18T15:43:03Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747472
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
ks1zezqy5mq3w2n378t2o1z5zy2qdlc
747479
747472
2026-06-18T15:48:36Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747479
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
tt5xq9c182es0vp1aj24jlzo4so6qnx
747485
747479
2026-06-18T15:50:38Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747485
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
lp620zkfq7l34c1sfm094xdace3965m
747490
747485
2026-06-18T15:51:34Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747490
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
46aabzn2mdpty0jaq21z8eu3xbo9hmd
747494
747490
2026-06-18T15:53:32Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747494
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}}
ea13n4ywd18eex4141g4k8wc2apmpns
747496
747494
2026-06-18T15:55:33Z
Trialpears
43074
Blanked the page
747496
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
747501
747496
2026-06-18T15:56:10Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747501
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
hy6jlselt7bivbtf9nyann1h33bdbnk
747506
747501
2026-06-18T16:21:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747506
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
brko4mmjllpp3lzs8c7xxh6n9y1fuuq
747514
747506
2026-06-18T16:23:02Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747514
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
72n2o7eqonqwtmnhgmpc6c840t1a8ch
747519
747514
2026-06-18T16:32:11Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747519
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
1lb35j72cyokzrycef2cqml505i4hcx
747524
747519
2026-06-18T16:35:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747524
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
6teurmyak2ej99c64r2fddz69omeawi
747532
747524
2026-06-18T16:37:13Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747532
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
2837k35co86gzg4sv5f3dwuvx3vgbx4
747542
747532
2026-06-18T20:47:41Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747542
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
tr5z0tefeloq901jj5tu0o0p60bma3k
747547
747542
2026-06-18T20:52:09Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747547
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
sqtda3jya1lfxy14mevbq12od45qz5t
747550
747547
2026-06-18T20:53:20Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747550
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
037ssqnxeioir2e1hq34rz3pubc9032
747555
747550
2026-06-18T20:54:12Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747555
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
j8ekrnxn166drhknhp4w36qsoheyg7d
747558
747555
2026-06-18T20:55:21Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747558
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
i6w7okieegro9ln22km229w5fl7gw3s
747561
747558
2026-06-18T20:55:55Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747561
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
id75ommwdbd5cgihso18o00ia83inut
747571
747561
2026-06-18T21:17:28Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747571
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
5tzyyn2dpnoxithwps4uyyzw2pndjlt
747575
747571
2026-06-18T21:18:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747575
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
at2az8pnnzyn1g8syli6v0rmn5fcfzm
747578
747575
2026-06-18T21:18:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747578
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
5tzyyn2dpnoxithwps4uyyzw2pndjlt
Mergetest3
0
176339
747537
747110
2026-06-18T17:56:48Z
Trialpears
43074
747537
wikitext
text/x-wiki
{{merge|afd=Mergetest1 (2nd nomination)}}
qcb1cpv5t4t599ejuvd4iudr20ef3an
747568
747537
2026-06-18T21:15:23Z
Trialpears
43074
747568
wikitext
text/x-wiki
{{merge|otherpage|afd=Mergetest1 (2nd nomination)}}
gc1ipq3ay8frd9d77zo6ls5isfn6z4d
Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)
4
176383
747408
2026-06-18T14:20:33Z
Trialpears
43074
Creating AfD discussion page for [[:Mergetest1]].
747408
wikitext
text/x-wiki
===[[:Mergetest1]]===
{{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD|?}}
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
n54o3wirvmbbbqevkdvsz2pxl3acm9u
747498
747408
2026-06-18T15:56:09Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747498
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
bgehetu5zahl94ogvl1i6pgutmmhjj9
747505
747498
2026-06-18T16:21:06Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747505
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
jhl7dcy8zvkamdt7wz3kezwpcv4zfk1
747511
747505
2026-06-18T16:23:01Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747511
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
htbwq6tyfrowzplte6u3jf6f40ha40l
747517
747511
2026-06-18T16:32:10Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747517
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
3o97r03ldngujvj7r8pndbsf3kinrpk
747521
747517
2026-06-18T16:35:08Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747521
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
pk81218pnadkckcvpxr1uun1xc837ev
747528
747521
2026-06-18T16:37:12Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747528
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
orqz6cvp80zqods8im5glm404fkwf9v
747536
747528
2026-06-18T17:55:39Z
Trialpears
43074
747536
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
2oz9sv0xienyp6a98eftield1cicgrj
747538
747536
2026-06-18T18:10:20Z
Trialpears
43074
/* Mergetest1 */ Closed as keep ([[WP:XFDC#4.0.16|XFDcloser]])
747538
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
77fxr9hugmww4kzmz8qeefsieerqhq9
747540
747538
2026-06-18T20:47:40Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747540
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
6s2wg0n8optn3c38kyn4keoqjgch2gc
747544
747540
2026-06-18T20:52:08Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747544
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
00vmtbr2mb4vyya16459zujz48rziq0
747548
747544
2026-06-18T20:53:19Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747548
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
sld4fobca5iqlry3s3fc85ucdqxry5d
747552
747548
2026-06-18T20:54:11Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747552
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
r867loqiuri9q3j7ixovbwl4ijvzglz
747556
747552
2026-06-18T20:55:20Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747556
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
rsqbrq246m0a4nrf4brsmbts2x5kbcb
747560
747556
2026-06-18T20:55:54Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747560
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
nx67clzkj3ytwuoe5t35vpb20iu1m84
747569
747560
2026-06-18T21:17:27Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747569
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
8gw556fdfyz28cyqynxk2i70asohuny
747573
747569
2026-06-18T21:18:06Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747573
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
sryp4up8fhbufzosp6zorr8qadag0cg
Wikipedia:Articles for deletion/Log/2026 June 18
4
176384
747409
2026-06-18T14:20:33Z
Trialpears
43074
Adding [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]].
747409
wikitext
text/x-wiki
{{Recent AfDs}}
<div class="boilerplate metadata vfd" style="background-color: #F3F9FF; margin: 0 auto; padding: 0 1px 0 0; border: 1px solid #AAAAAA; font-size:10px">
{| width = "100%"
|-
! width="50%" align="left" | <span style="color:gray"><</span> [[Wikipedia:Articles for deletion/Log/2026 June 17|June 17]]
! width="50%" align="right" | [[Wikipedia:Articles for deletion/Log/2026 June 19|June 19]] <span style="color:gray">></span>
|}
</div>
<div align = "center">'''[[Wikipedia:Guide to deletion|Guide to deletion]]'''</div>
{{Cent}}
<small>{{purge|Purge server cache}}</small>
__TOC__
<!-- Add new entries to the TOP of the following list -->
{{Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)}}
3r7cdt0m767knl520pewes4b838w9jj
Template:TFA/2026-06-19
10
176385
747533
2026-06-18T17:12:25Z
YaThaWinTha
55336
Created page with "<div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''..."
747533
wikitext
text/x-wiki
<div style="display:flex;">
<div style="flex: 30%; padding-right: 10px;">
[[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]]
</div>
<div style="flex: 70%;">
'''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။
<br/><br/>
''[[ဆောင်းပါးခေါင်းစဉ်|အပြည့်အစုံဖတ်ရန်...]]''
</div>
</div>
ds3ki59nla2kjzb92dym6md369tyqye
Template:TFA/2026-06-18
10
176386
747534
2026-06-18T17:13:29Z
YaThaWinTha
55336
Created page with "<div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''..."
747534
wikitext
text/x-wiki
<div style="display:flex;">
<div style="flex: 30%; padding-right: 10px;">
[[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]]
</div>
<div style="flex: 70%;">
'''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။
<br/><br/>
''[[ဆောင်းပါးခေါင်းစဉ်|အပြည့်အစုံဖတ်ရန်...]]''
</div>
</div>
ds3ki59nla2kjzb92dym6md369tyqye
Template:TFA
10
176387
747535
2026-06-18T17:13:57Z
YaThaWinTha
55336
Created page with "{{Template:TFA/{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}"
747535
wikitext
text/x-wiki
{{Template:TFA/{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}
iggcswshn6xr0s92icjpx1nmlp5bxs6
Talk:🌀︎
1
176388
747580
2026-06-18T21:54:12Z
User97104
72884
/* T */ new section
747580
wikitext
text/x-wiki
== T ==
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC)
fkh5x6h0eeu87db7nf008gjxz6p6hkh
747581
747580
2026-06-18T21:54:21Z
User97104
72884
747581
wikitext
text/x-wiki
== T ==
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC)
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC)
7kl2iv3gg2rwohlhkuj8pw0txen1ybk
747582
747581
2026-06-18T21:54:46Z
User97104
72884
747582
wikitext
text/x-wiki
== T ==
[[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC)
== ==
46eezeakm8qwngniydze0drfwihu7bq
Template:Plh
10
176389
747584
2026-06-18T21:56:49Z
User97104
72884
Created page with "plunk"
747584
wikitext
text/x-wiki
plunk
29wovrn7wjz6f593mrpm7eo6gf00f8f
Template:Esboço
10
176390
747585
2026-06-18T21:57:18Z
User97104
72884
Created page with "This is a transclusion random link ladder."
747585
wikitext
text/x-wiki
This is a transclusion random link ladder.
65nxlvz8tnn4iy4rbz5bx6yb07g4f5q
Template:Parcial
10
176391
747586
2026-06-18T21:58:14Z
User97104
72884
Created page with "igabnorqne{{Plh}}"
747586
wikitext
text/x-wiki
igabnorqne{{Plh}}
kewbp2jt9yu0uplnlrtm97dy2q8qgax
Pagination test
0
176392
747587
2026-06-18T21:58:48Z
User97104
72884
Created page with "hasasubpage"
747587
wikitext
text/x-wiki
hasasubpage
nufsdwga9j2uesdzjav07c49f41onvl
Template:Sfnm
10
176393
747592
2026-06-19T05:59:56Z
Johannes Richter (WMDE)
61456
test
747592
wikitext
text/x-wiki
<includeonly>{{#invoke:Footnotes|sfnm|template=sfnm}}</includeonly><noinclude>
{{Documentation}}
</noinclude>
30eu4d1lwkb49nkua2fvoy409c5paxk
User:Johannes Richter (WMDE)/sandbox
2
176394
747597
2026-06-19T06:18:10Z
Johannes Richter (WMDE)
61456
example using "fake" sfnm
747597
wikitext
text/x-wiki
{{Infobox album
|name=Test<ref name="Miller" details="p. 23" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" />
}}
According to scientists, the Sun is pretty big.<ref name="Miller" details="p. 23">{{Cite book |last=Miller |first=E. |date=2005 |title=The Sun |publisher=Academic Press |location=New York}}</ref><ref>R. Smith. ''Size of the Moon''. Scientific American, 46 (April 1978): 44–46.</ref> In fact, it is very big.<ref name="Miller" details="p. 50" /> Take their word for it.<ref name="Miller" details="p. 48" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 23; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 61" /> Don't look directly at the sun!<ref>Drake, A. (2023). ''The Solar Phenomenon: A New Era of Sun Research''. Solar Science Press.</ref><ref name="Miller" details="p. 50" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" />
More text...
== References ==
<references>
<ref name="sfnm">{{cite book|last1=Jones|first1=John|last2=Johnson|first2=John|last3=Smith|first3=John|year=2004|title=Our First Book}}; {{cite book|last1=Smith|first1=John|last2=Jones|first2=John|last3=Johnson|first3=John|year=2005|title=Our Second Book}}</ref>
</references>
lucmc5pn9ti61qesyp770m589wotd1d
747598
747597
2026-06-19T06:20:32Z
Johannes Richter (WMDE)
61456
test
747598
wikitext
text/x-wiki
{{Infobox album
|name=Test<ref name="Miller" details="p. 23" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" />
}}
According to scientists, the Sun is pretty big.<ref name="Miller" details="p. 23">{{Cite book |last=Miller |first=E. |date=2005 |title=The Sun |publisher=Academic Press |location=New York}}</ref><ref>R. Smith. ''Size of the Moon''. Scientific American, 46 (April 1978): 44–46.</ref> In fact, it is very big.<ref name="Miller" details="p. 50" /> Take their word for it.<ref name="Miller" details="p. 48" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 23; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 61" /> Don't look directly at the sun!<ref>Drake, A. (2023). ''The Solar Phenomenon: A New Era of Sun Research''. Solar Science Press.</ref><ref name="Miller" details="p. 50" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" />
More text...
== References ==
<references>
<ref name="sfnm">{{cite book|last1=Jones|first1=John|last2=Johnson|first2=John|last3=Smith|first3=John|year=2004|title=Our First Book}}</br>{{cite book|last1=Smith|first1=John|last2=Jones|first2=John|last3=Johnson|first3=John|year=2005|title=Our Second Book}}</ref>
</references>
katgrgy774eejgyxu22osl01al7l4kp