<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://darnytsa.hero.kyivcity.gov.ua/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki</id>
	<title>darnytsa_hero - Внесок користувача [uk]</title>
	<link rel="self" type="application/atom+xml" href="https://darnytsa.hero.kyivcity.gov.ua/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki"/>
	<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php/%D0%A1%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0:%D0%92%D0%BD%D0%B5%D1%81%D0%BE%D0%BA/Wiki"/>
	<updated>2026-05-01T04:02:42Z</updated>
	<subtitle>Внесок користувача</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2024&amp;diff=3780</id>
		<title>Загиблі з моменту вторгнення рф в Україну з 24 лютого/2024</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2024&amp;diff=3780"/>
		<updated>2026-04-27T06:49:09Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= А =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Акімов Станіслав Віталійович|&amp;lt;big&amp;gt;Акімов Станіслав Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Андреєв Іван Вікторович|&amp;lt;big&amp;gt;Андреєв Іван Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Ахмедьянов Ігор Данісович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Б =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Берба Олександр Анатолійович|&amp;lt;big&amp;gt;Берба Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Беляєв Андрій Юрійович|&amp;lt;big&amp;gt;Беляєв Андрій Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Білоусов Віктор Валерійович|&amp;lt;big&amp;gt;Білоусов Віктор Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Богданов Максим Олександрович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Борис Андрій Сергійович|&amp;lt;big&amp;gt;Борис Андрій Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бугаєнко Олександр Олександрович|&amp;lt;big&amp;gt;Бугаєнко Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Булава Віктор Васильович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бухал Володимир Миколайович|&amp;lt;big&amp;gt;Бухал Володимир Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Буша Сергій Анатолійович|&amp;lt;big&amp;gt;Буша Сергій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= В =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Васильєв Валерій Володимирович|&amp;lt;big&amp;gt;Васильєв Валерій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Г =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Гноєвий Андрій Петрович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Горбенко Сергій Геннадійович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Горда Володимир Іванович|&amp;lt;big&amp;gt;Горда Володимир Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гордійчук Сергій Йосипович|&amp;lt;big&amp;gt;Гордійчук Сергій Йосипович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Грицай Олексій Вікторович|&amp;lt;big&amp;gt;Грицай Олексій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гриценко Олексій Олегович|&amp;lt;big&amp;gt;Гриценко Олексій Олегович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гук Олексій Михайлович|&amp;lt;big&amp;gt;Гук Олексій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гучок Артем Юрійович|&amp;lt;big&amp;gt;Гучок Артем Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Д =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Дайнеко Олександр Дмитрович|&amp;lt;big&amp;gt;Дайнеко Олександр Дмитрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Даценко Руслан Олександрович|&#039;&#039;&#039;Даценко Руслан Олександрович&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Дердуль Олександр Анатолійович|&amp;lt;big&amp;gt;Дердуль Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Допіряк Сергій Артемович|&amp;lt;big&amp;gt;Допіряк Сергій Артемович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дроздов Олег Станіславович|&amp;lt;big&amp;gt;Дроздов Олег Станіславович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ж =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Желяк Віталій Петрович|&amp;lt;big&amp;gt;Желяк Віталій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= З =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Задорожній Олександр Віталійович|&amp;lt;big&amp;gt;Задорожній Олександр Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Задоя Костянтин Григорович|&amp;lt;big&amp;gt;Задоя Костянтин Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Заяць Павло Олександрович|&amp;lt;big&amp;gt;Заяць Павло Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Зелений Володимир Михайлович|&amp;lt;big&amp;gt;Зелений Володимир Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Зеленський Сергій Васильович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Зубарєв Андрій Андрійович|&amp;lt;big&amp;gt;Зубарєв Андрій Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= І =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Іванов Дмитро Олексійович|&amp;lt;big&amp;gt;Іванов Дмитро Олексійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Івасюк Михайло Петрович|&amp;lt;big&amp;gt;Івасюк Михайло Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Іщенко Анатолій Степанович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= К =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Казімко Дмитро Вікторович|&amp;lt;big&amp;gt;Казімко Дмитро Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Калінка Артем Леонідович|&amp;lt;big&amp;gt;Калінка Артем Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Клєпарський Валентин Вікторович|&amp;lt;big&amp;gt;Клєпарський Валентин Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Коваль Володимир Володимирович|&amp;lt;big&amp;gt;Коваль Володимир Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Коломиєць Богдан Миколайович|&amp;lt;big&amp;gt;Коломиєць Богдан Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Коломієць Денис Віталійович|&amp;lt;big&amp;gt;Коломієць Денис Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ксьондз Віктор Васильович|&amp;lt;big&amp;gt;Ксьондз Віктор Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кузнецов Станіслав Сергійович|&amp;lt;big&amp;gt;Кузнецов Станіслав Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Купчик Дмитро Володимирович|&amp;lt;big&amp;gt;Купчик Дмитро Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кухарчук Арсентій Миколайович|&amp;lt;big&amp;gt;Кухарчук Арсентій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Куцій Владислав Володимирович|&amp;lt;big&amp;gt;Куцій Владислав Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кучер Євгеній Вікторович|&amp;lt;big&amp;gt;Кучер Євгеній Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Л =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Лаговський Микола Миколайович|&amp;lt;big&amp;gt;Лаговський Микола Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лапченко Віталій Миколайович|&amp;lt;big&amp;gt;Лапченко Віталій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лапшін Артем Олександрович|&amp;lt;big&amp;gt;Лапшін Артем Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лаханський Олексій Олексійович|&amp;lt;big&amp;gt;Лаханський Олексій Олексійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лахно Юрій Олександрович|&amp;lt;big&amp;gt;Лахно Юрій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лахтадир Віктор Аркадійович|&amp;lt;big&amp;gt;Лахтадир Віктор Аркадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Литвинов Євген Олександрович|&amp;lt;big&amp;gt;Литвинов Євген Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Люшненко Сергій Володимирович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
= М =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Мазагері Даньял Масудович|&amp;lt;big&amp;gt;Мазагері Даньял Масудович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мазуренко Руслан Миколайович|&amp;lt;big&amp;gt;Мазуренко Руслан Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Малькович Олексій Миколайович|&amp;lt;big&amp;gt;Малькович Олексій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Масалов Сергій Сергійович|&amp;lt;big&amp;gt;Масалов Сергій Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мельниченко Ярослав Валерійович|&amp;lt;big&amp;gt;Мельниченко Ярослав Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мишун Сергій Григорович|&amp;lt;big&amp;gt;Мишун Сергій Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Морський Максим Дмитрович|&amp;lt;big&amp;gt;Морський Максим Дмитрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мурашко Василь Миколайович|&amp;lt;big&amp;gt;Мурашко Василь Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Н =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Нагайський Роман Григорович|&amp;lt;big&amp;gt;Нагайський Роман Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Недоля Олексій Євгенійович|&amp;lt;big&amp;gt;Недоля Олексій Євгенійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= О =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Олешко Олег Вікторович|&amp;lt;big&amp;gt;Олешко Олег Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Осадченко Ілля Віталійович|&amp;lt;big&amp;gt;Осадченко Ілля Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Остапенко Вячеслав Васильович|&amp;lt;big&amp;gt;Остапенко Вячеслав Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= П =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Павліченко Іван Михайлович|&amp;lt;big&amp;gt;Павліченко Іван Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Паламарчук Ігор Михайлович|&amp;lt;big&amp;gt;Паламарчук Ігор Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Петриченко Павло Вікторович|&amp;lt;big&amp;gt;Петриченко Павло Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пивоварчук Сергій Вікторович|&amp;lt;big&amp;gt;Пивоварчук Сергій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Полонський Артем Михайлович|&amp;lt;big&amp;gt;Полонський Артем Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Придивус Валентин Петрович|&amp;lt;big&amp;gt;Придивус Валентин Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Прокопенко Денис Олександрович|&amp;lt;big&amp;gt;Прокопенко Денис Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Прокопець Руслан Миколайович|&amp;lt;big&amp;gt;Прокопець Руслан Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пузійчук Ігор Михайлович|&amp;lt;big&amp;gt;Пузійчук Ігор Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Р =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Радкевич Олексій Васильович|&amp;lt;big&amp;gt;Радкевич Олексій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Рябчун Олексій Костянтинович|&amp;lt;big&amp;gt;Рябчун Олексій Костянтинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= С =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Савченко Ігор Анатолійович|&amp;lt;big&amp;gt;Савченко Ігор  Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Савченко Олексій Юрійович|&amp;lt;big&amp;gt;Савченко Олексій Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Самусенко Олег Миколайович|&amp;lt;big&amp;gt;Самусенко Олег Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Cегеда Юрій Антонович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сезін Сергій Іванович|&amp;lt;big&amp;gt;Сезін Сергій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Сімянік Юрій Віталійович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Скороход Олександр Аркадійович|&amp;lt;big&amp;gt;Скороход Олександр Аркадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Cкулін Ярослав Святославович|&amp;lt;big&amp;gt;Cкулін Ярослав Святославович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Смолянюк В’ячеслав Петрович|&amp;lt;big&amp;gt;Смолянюк В’ячеслав Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сокур Федір Олександрович|&amp;lt;big&amp;gt;Сокур Федір Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Т =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Табачник Олександр Олександрович|&amp;lt;big&amp;gt;Табачник Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тарасюк Олексій Ігорович|&amp;lt;big&amp;gt;Тарасюк Олексій Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Туржанський Сергій Олександрович|&amp;lt;big&amp;gt;Туржанський Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= У =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Ульянченко Микола Григорович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Х =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Харченко Олексій Дмитрович|&amp;lt;big&amp;gt;Харченко Олексій Дмитрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ц =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Царик Євген Вікторович|&amp;lt;big&amp;gt;Царик Євген Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ч =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Чеховській Андрій Володимирович.|&amp;lt;big&amp;gt;Чеховській Андрій Володимирович.&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Чус Сергій Степанович|&amp;lt;big&amp;gt;Чус Сергій Степанович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ш =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Шавловський Сергій Володимирович|&amp;lt;big&amp;gt;Шавловський Сергій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Шелестюк Тарас Володимирович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шинкаренко Олександр Олександрович|&amp;lt;big&amp;gt;Шинкаренко Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шпорта Олександр Євгенович|&amp;lt;big&amp;gt;Шпорта Олександр Євгенович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Штолько Ярослав Сергійович|&amp;lt;big&amp;gt;Штолько Ярослав Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Щ =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Щеголь Андрій Іванович|&amp;lt;big&amp;gt;Щеголь Андрій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ю =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Юшко Ростислав Васильович|&amp;lt;big&amp;gt;Юшко Ростислав Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Я =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Яримбаш Кирило Олександрович|&amp;lt;big&amp;gt;Яримбаш Кирило Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2023&amp;diff=3761</id>
		<title>Загиблі з моменту вторгнення рф в Україну з 24 лютого/2023</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2023&amp;diff=3761"/>
		<updated>2026-04-23T13:18:48Z</updated>

		<summary type="html">&lt;p&gt;Wiki: Відкинуто редагування Rda-pedenko (обговорення) до зробленого Wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== А ==&lt;br /&gt;
* &#039;&#039;&#039;[[Акчурін Антон Сергійович|&amp;lt;big&amp;gt;Акчурін Антон Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Анпілогов Олександр Вікторович|&amp;lt;big&amp;gt;Анпілогов Олександр Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* [[Арсенійчук Сергій Павлович|&#039;&#039;&#039;&amp;lt;big&amp;gt;Арсенійчук Сергій Павлович&amp;lt;/big&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
* &#039;&#039;&#039;[[Арутюнов Павло Григорович|&amp;lt;big&amp;gt;Арутюнов Павло Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Б =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Бабенко Сергій Анатолійович|&amp;lt;big&amp;gt;Бабенко Сергій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бацман Андрій Михайлович|&amp;lt;big&amp;gt;Бацман Андрій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Білан Олександр Валентинович|&amp;lt;big&amp;gt;Білан Олександр Валентинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бондар Сергій Дмитрович|&amp;lt;big&amp;gt;Бондар Сергій Дмитрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бондарчук Сергій Леонтійович|&amp;lt;big&amp;gt;Бондарчук Сергій Леонтійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Борис Олексій Анатолійович|&amp;lt;big&amp;gt;Борис Олексій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Борисевич Олексій Ярославович|&amp;lt;big&amp;gt;Борисевич Олексій Ярославович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бочок Андрій Григорович|&amp;lt;big&amp;gt;Бочок Андрій Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бояршинов Олексій Петрович|&amp;lt;big&amp;gt;Бояршинов Олексій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бредихін Олександр Олександрович|&amp;lt;big&amp;gt;Бредихін Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бубон Олександр Володимирович|&amp;lt;big&amp;gt;Бубон Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бугера Сергій Анатолійович|&amp;lt;big&amp;gt;Бугера Сергій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Булка Максим Миколайович|&amp;lt;big&amp;gt;Булка Максим Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бунін Олександр Олександрович|&amp;lt;big&amp;gt;Бунін Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= В =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Васко Владислав Миколайович|&amp;lt;big&amp;gt;Васко Владислав Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Войтенко Олександр Володимирович|&amp;lt;big&amp;gt;Войтенко Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Войтенко Олександр Олександрович|&amp;lt;big&amp;gt;Войтенко Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Волинець Віктор Петрович|&amp;lt;big&amp;gt;Волинець Віктор Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Волков Віталій Вадимович|&amp;lt;big&amp;gt;Волков Віталій Вадимович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Г =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Гамоцький Олег Якович|&amp;lt;big&amp;gt;Гамоцький Олег Якович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ганевич Едуард Васильович|&amp;lt;big&amp;gt;Ганевич Едуард Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гардт Віталій Віталійович|&amp;lt;big&amp;gt;Гардт Віталій Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Головань Тимур Володимирович|&amp;lt;big&amp;gt;Головань Тимур Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Головащенко Артем Миколайович|&amp;lt;big&amp;gt;Головащенко Артем Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Голуб Віктор Іванович|&amp;lt;big&amp;gt;Голуб Віктор Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Грама Олег Анатолійович|&amp;lt;big&amp;gt;Грама Олег Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гриненко Дмитро Станіславович|&amp;lt;big&amp;gt;Гриненко Дмитро Станіславович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Грищенко Леонід Леонідович|&amp;lt;big&amp;gt;Грищенко Леонід Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Грищук Олег Петрович|&amp;lt;big&amp;gt;Грищук Олег Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Д =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Давиденко Андрій Григорович|&amp;lt;big&amp;gt;Давиденко Андрій Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Демиденко Михайло Олександрович|&amp;lt;big&amp;gt;Демиденко Михайло Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Демченко Дмитро Васильович|&amp;lt;big&amp;gt;Демченко Дмитро Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дем’яненко Володимир Миколайович|&amp;lt;big&amp;gt;Дем’яненко Володимир Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Довгаль Олексій Анатолійович|&amp;lt;big&amp;gt;Довгаль Олексій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Є =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Єлісєєв Андрій Олександрович|&amp;lt;big&amp;gt;Єлісєєв Андрій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Єфросиненко Андрій Васильович|&amp;lt;big&amp;gt;Єфросиненко Андрій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ж =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Жук Владислав Валерійович|&amp;lt;big&amp;gt;Жук Владислав Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= З =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Загниборода Павло Петрович|&amp;lt;big&amp;gt;Загниборода Павло Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Зорін Руслан Валерійович|&amp;lt;big&amp;gt;Зорін Руслан Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= І =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Іванов Руслан Васильович|&amp;lt;big&amp;gt;Іванов Руслан Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ільчук Володимир Леонідович|&amp;lt;big&amp;gt;Ільчук Володимир Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= К =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Кацідан Марк Олександрович|&amp;lt;big&amp;gt;Кацідан Марк Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кириленко Сергій Володимирович|&amp;lt;big&amp;gt;Кириленко Сергій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кириченко Володимир Сергійович|&amp;lt;big&amp;gt;Кириченко Володимир Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ковтун Євген Іванович|&amp;lt;big&amp;gt;Ковтун Євген Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Козир Олександр Олександрович|&amp;lt;big&amp;gt;Козир Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Коробков Олексій Михайлович|&amp;lt;big&amp;gt;Коробков Олексій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кравченко Іван Володимирович|&amp;lt;big&amp;gt;Кравченко Іван Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кузьменко Максим Володимирович|&amp;lt;big&amp;gt;Кузьменко Максим Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кузьменко Олексій Володимирович|&amp;lt;big&amp;gt;Кузьменко Олексій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кулаєв Олексій Геннадійович|&amp;lt;big&amp;gt;Кулаєв Олексій Геннадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кульчитський Руслан Григорович|&amp;lt;big&amp;gt;Кульчитський Руслан Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Л =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Лещенко Микола Олегович|&amp;lt;big&amp;gt;Лещенко Микола Олегович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Любішкін Денис Іванович|&amp;lt;big&amp;gt;Любішкін Денис Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ляшкевич Олександр Андрійович|&amp;lt;big&amp;gt;Ляшкевич Олександр Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= М =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Макаренко Сергій Михайлович|&amp;lt;big&amp;gt;Макаренко Сергій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* [[Максимович Олексій Іванович|&#039;&#039;&#039;&amp;lt;big&amp;gt;Максимович Олексій Іванович&amp;lt;/big&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Мамай Едуард Володимирович|&amp;lt;big&amp;gt;Мамай Едуард Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Маркварт Олексій Еріхович|&amp;lt;big&amp;gt;Маркварт Олексій Еріхович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мерзлюк Володимир Володимирович|&amp;lt;big&amp;gt;Мерзлюк Володимир Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мирончиков Сергій Михайлович|&amp;lt;big&amp;gt;Мирончиков Сергій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мулько Дмитро Васильович|&amp;lt;big&amp;gt;Мулько Дмитро Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Н =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Невгадовський Віктор Іванович|&amp;lt;big&amp;gt;Невгадовський Віктор Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Нємой Костянтин Михайлович|&amp;lt;big&amp;gt;Нємой Костянтин Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= О =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Олексієнко Ігор Миколайович|&amp;lt;big&amp;gt;Олексієнко Ігор Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ополонський Сергій Олександрович|&amp;lt;big&amp;gt;Ополонський Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Осьмак Ігор Миколайович|&amp;lt;big&amp;gt;Осьмак Ігор Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Очеретнюк Олександр Володимирович|&amp;lt;big&amp;gt;Очеретнюк Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= П =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Пилипенко Юрій Валерійович|&amp;lt;big&amp;gt;Пилипенко Юрій Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Поволокін Роман Костянтинович|&amp;lt;big&amp;gt;Поволокін Роман Костянтинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Посохов Сергій Михайлович|&amp;lt;big&amp;gt;Посохов Сергій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Потабенко Олександр Вікторович|&amp;lt;big&amp;gt;Потабенко Олександр Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Приймаченко Андрій Васильович|&amp;lt;big&amp;gt;Приймаченко Андрій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Притика Дмитро Миколайович|&amp;lt;big&amp;gt;Притика Дмитро Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пчела Юрій Валерійович|&amp;lt;big&amp;gt;Пчела Юрій Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Р =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Романчук Святослав Вікторович|&amp;lt;big&amp;gt;Романчук Святослав Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Рощин Микола Миколайович|&amp;lt;big&amp;gt;Рощин Микола Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Рябоконь Дмитро Володимирович|&amp;lt;big&amp;gt;Рябоконь Дмитро Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= С =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Савчук Павло Іванович|&amp;lt;big&amp;gt;Савчук Павло Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Савчук Іван Андрійович|&amp;lt;big&amp;gt;Савчук Іван Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* [[Савельєв Євгеній Анатолійович|&#039;&#039;&#039;&amp;lt;big&amp;gt;Савельєв Євгеній Анатолійович&amp;lt;/big&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
* &#039;&#039;&#039;[[Самодєлов Сергій Тимофійович|&amp;lt;big&amp;gt;Самодєлов Сергій Тимофійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Севрук Олексій Олегович|&amp;lt;big&amp;gt;Севрук Олексій Олегович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сівов Сергій Сергійович|&amp;lt;big&amp;gt;Сівов Сергій Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Степанюк Олексій Васильович|&amp;lt;big&amp;gt;Степанюк Олексій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Смоляк Сергій Богданович|&amp;lt;big&amp;gt;Смоляк Сергій Богданович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сорожкін Олексій Євгенович|&amp;lt;big&amp;gt;Сорожкін Олексій Євгенович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Соченко Сергій Миколайович|&amp;lt;big&amp;gt;Соченко Сергій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Стельмах Юрій Миколайович|&amp;lt;big&amp;gt;Стельмах Юрій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Степанюк Олексій Васильович|&amp;lt;big&amp;gt;Степанюк Олексій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сосновський Дмитро Денісович|&amp;lt;big&amp;gt;Сосновський Дмитро Денісович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Соченко Сергій Миколайович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Т =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Терещенко Віталій Вікторович|&amp;lt;big&amp;gt;Терещенко Віталій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тищенко Олександр Васильович|&amp;lt;big&amp;gt;Тищенко Олександр Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ткаченко Вʼячеслав Сергійович|&amp;lt;big&amp;gt;Ткаченко Вʼячеслав Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Торін Віталій Миколайович|&amp;lt;big&amp;gt;Торін Віталій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Троц Олександр Ігорович|&amp;lt;big&amp;gt;Троц Олександр Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Трохименко Володимир Миколайович|&amp;lt;big&amp;gt;Трохименко Володимир Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ф =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Федина Олег Іванович|&amp;lt;big&amp;gt;Федина Олег Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Філіпенко Костянтин Костянтинович|&amp;lt;big&amp;gt;Філіпенко Костянтин Костянтинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Фощанко Костянтин Юрійович|&amp;lt;big&amp;gt;Фощанко Костянтин Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ц =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Церахто Дмитро Валерійович|&amp;lt;big&amp;gt;Церахто Дмитро Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Цимбаліста Андрій Петрович|&amp;lt;big&amp;gt;Цимбаліста Андрій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ч =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Частоколян Дмитро Анатолійович|&amp;lt;big&amp;gt;Частоколян Дмитро Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Черноштан Степан Олександрович|&amp;lt;big&amp;gt;Черноштан Степан Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ш =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Шоломок Сергій Васильович|&amp;lt;big&amp;gt;Шоломок Сергій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Щ =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Щеголь Ростислав Володимирович|&amp;lt;big&amp;gt;Щеголь Ростислав Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* [[Щукарьов Сергій Миколайович|&#039;&#039;&#039;&amp;lt;big&amp;gt;Щукарьов Сергій Миколайович&amp;lt;/big&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Ю =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Юрченко Юрій Леонідович.|&amp;lt;big&amp;gt;Юрченко Юрій Леонідович.&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Юрчик Юрій Олександрович|&amp;lt;big&amp;gt;Юрчик Юрій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Юхно Дмитро Сергійович|&amp;lt;big&amp;gt;Юхно Дмитро Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Я =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Якименко Антон Ігорович|&amp;lt;big&amp;gt;Якименко Антон Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Яковлєв Євген Андрійович|&amp;lt;big&amp;gt;Яковлєв Євген Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Ярошенко Микола Петрович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2022&amp;diff=3648</id>
		<title>Загиблі з моменту вторгнення рф в Україну з 24 лютого/2022</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2022&amp;diff=3648"/>
		<updated>2025-12-01T11:17:50Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= А =&lt;br /&gt;
* &#039;&#039;&#039;[[Аксьонов Юрій Вікторович|&amp;lt;big&amp;gt;Аксьонов Юрій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Амелькін Степан Вікторович|&amp;lt;big&amp;gt;Амелькін Степан Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Актеміров Руслан Сергійович|&amp;lt;big&amp;gt;Актеміров Руслан Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Амоссов Ілля Русланович|&amp;lt;big&amp;gt;Амосов Ілля Русланович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Андрейцев Сергій Євгенович|&amp;lt;big&amp;gt;Андрейцев Сергій Євгенович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Антіпов Денис Геннадійович|&amp;lt;big&amp;gt;Антіпов Денис Геннадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Артамонов В’ячеслав Олександрович|&amp;lt;big&amp;gt;Артамонов В’ячеслав Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Асєєв Борис Борисович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Аскур Амір|&amp;lt;big&amp;gt;Аскур Амір&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Афанасьєв Іван Ігорович|&amp;lt;big&amp;gt;Афанасьєв Іван Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Б =&lt;br /&gt;
* &#039;&#039;&#039;[[Бабенцов Кирило Олександрович|&amp;lt;big&amp;gt;Бабенцов Кирило Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бабеша Дмитро Михайлович|&amp;lt;big&amp;gt;Бабеша Дмитро Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Байдачний Назарій Ярославович|&amp;lt;big&amp;gt;Байдачний Назарій Ярославович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Балдачевський Ігор Вікторович|&amp;lt;big&amp;gt;Балдачевський Ігор Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Барський Ярослав Юрійович|&amp;lt;big&amp;gt;Барський Ярослав Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Барчиківський Володимир Володимирович|&amp;lt;big&amp;gt;Барчиківський Володимир Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Берестенко Семен Семенович|&amp;lt;big&amp;gt;Берестенко Семен Семенович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Блінов Віталій В’ячеславович|&amp;lt;big&amp;gt;Блінов Віталій В’ячеславович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бобало-Яремчук Олег Михайлович|&amp;lt;big&amp;gt;Бобало-Яремчук Олег Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бойко Ярослав Петрович|&amp;lt;big&amp;gt;Бойко Ярослав Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Божко Ігор Анатолійович|&amp;lt;big&amp;gt;Божко Ігор Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бузинний Олександр Володимирович|&amp;lt;big&amp;gt;Бузинний Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= В =&lt;br /&gt;
* &#039;&#039;&#039;[[Василець Роман Олексійович|&amp;lt;big&amp;gt;Василець Роман Олексійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Варакута Олексій Сергійович|&amp;lt;big&amp;gt;Варакута Олексій Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Вахній Олександр Миколайович|&amp;lt;big&amp;gt;Вахній Олександр Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Великоцький Денис Олександрович|&amp;lt;big&amp;gt;Великоцький Денис Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Вєрємєєнко Анатолій Степанович|&amp;lt;big&amp;gt;Вєрємєєнко Анатолій Степанович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Вєтров Анатолій Георгійович|&amp;lt;big&amp;gt;Вєтров Анатолій Георгійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Вишньов Аркадій Євгенович|&amp;lt;big&amp;gt;Вишньов Аркадій Євгенович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Войтович Назарій Ігорович|&amp;lt;big&amp;gt;Войтович Назарій Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Воронін Микита Вячеславович|&amp;lt;big&amp;gt;Воронін Микита Вячеславович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Воскресенський Олександр Генадийович|&amp;lt;big&amp;gt;Воскресенський Олександр Генадийович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[В&#039;язьмінов Володимир Анатолійович|&amp;lt;big&amp;gt;В&#039;язьмінов Володимир Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Г =&lt;br /&gt;
* &#039;&#039;&#039;[[Гарбуза Юрій Миколайович|&amp;lt;big&amp;gt;Гарбуза Юрій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гаркавко Ярослав Вололдимирович|&amp;lt;big&amp;gt;Гаркавко Ярослав Вололдимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Герасим Володимир Сергійович|&amp;lt;big&amp;gt;Герасим Володимир Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гой Сергій Олександрович|&amp;lt;big&amp;gt;Гой Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Головко Віктор Олександрович|&amp;lt;big&amp;gt;Головко Віктор Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Голуб Віктор Володимирович|&amp;lt;big&amp;gt;Голуб Віктор Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Голубець Євгеній Олександрович|&amp;lt;big&amp;gt;Голубець Євгеній Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Горбенко Олексій Вікторович|&amp;lt;big&amp;gt;Горбенко Олексій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Горобець Максим Миколайович|&amp;lt;big&amp;gt;Горобець Максим Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Грубрін Борис Леонідович|&amp;lt;big&amp;gt;Грубрін Борис Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Губарєв Дмитро Валерійович|&amp;lt;big&amp;gt;Губарєв Дмитро Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гулько Вадим Володимирович|&amp;lt;big&amp;gt;Гулько Вадим Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гуцалюк Руслан Миколайович|&amp;lt;big&amp;gt;Гуцалюк Руслан Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Д =&lt;br /&gt;
* &#039;&#039;&#039;[[Дараган Віталій Григорович|&amp;lt;big&amp;gt;Дараган Віталій Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дворник Віталій Андрійович|&amp;lt;big&amp;gt;Дворник Віталій Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Давиденко Володимир Ігорович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Демиденко Вадим Михайлович|&amp;lt;big&amp;gt;Демиденко Вадим Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Демченко Віктор Олександрович|&amp;lt;big&amp;gt;Демченко Віктор Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дідовець Андрій Олександрович|&amp;lt;big&amp;gt;Дідовець Андрій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дімітрюк Олексій Володимирович|&amp;lt;big&amp;gt;Дімітрюк Олексій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Долгіх Віталій Юрійович|&amp;lt;big&amp;gt;Долгіх Віталій Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ж =&lt;br /&gt;
* &#039;&#039;&#039;[[Жовнірович Любомир Степанович|&amp;lt;big&amp;gt;Жовнірович Любомир Степанович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Жуков Андрій Іванович|&amp;lt;big&amp;gt;Жуков Андрій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= З =&lt;br /&gt;
* &#039;&#039;&#039;[[Завірюхін Михайло Ігоревич|&amp;lt;big&amp;gt;Завірюхін Михайло Ігоревич&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Зайцев Іван Володимирович|&amp;lt;big&amp;gt;Зайцев Іван Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Заставський Сергій Олександрович|&amp;lt;big&amp;gt;Заставський Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Зеленюк Вадим Сергійович|&amp;lt;big&amp;gt;Зеленюк Вадим Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= І =&lt;br /&gt;
* &#039;&#039;&#039;[[Іванов Олексій Петрович|&amp;lt;big&amp;gt;Іванов Олексій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ільчук Юрій Миколайович|&amp;lt;big&amp;gt;Ільчук Юрій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Іщук Андрій Ярославович|&amp;lt;big&amp;gt;Іщук Андрій Ярославович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= К =&lt;br /&gt;
* &#039;&#039;&#039;[[Кагарлицький Денис Володимирович|&amp;lt;big&amp;gt;Кагарлицький Денис Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Казімко Олександр Володимирович|&amp;lt;big&amp;gt;Казімко Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Капелька Володимир Олександрович|&amp;lt;big&amp;gt;Капелька Володимир Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Карась Володимир Васильович|&amp;lt;big&amp;gt;Карась Володимир Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Керекеш Валерій Володимирович|&amp;lt;big&amp;gt;Керекеш Валерій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кернер Євген Віталійович|&amp;lt;big&amp;gt;Кернер Євген Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кириєнко Валерій Анатолійович|&amp;lt;big&amp;gt;Кириєнко Валерій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кісаков Дмитро Вікторович|&amp;lt;big&amp;gt;Кісаков Дмитро Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кічак Олександр Миколайович|&amp;lt;big&amp;gt;Кічак Олександр Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Колдомасов Олександр Сергійович|&amp;lt;big&amp;gt;Колдомасов Олександр Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кондрашов Іван Сергійович|&amp;lt;big&amp;gt;Кондрашов Іван Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Коробенков Микола Іванович|&amp;lt;big&amp;gt;Коробенков Микола Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Королович Андрій Феліксович|&amp;lt;big&amp;gt;Королович Андрій Феліксович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Котелянець Євген Юрійович|&amp;lt;big&amp;gt;Котелянець Євген Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кочмарський Олександр Валентинович|&amp;lt;big&amp;gt;Кочмарський Олександр Валентинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кравець Владислав Васильович|&amp;lt;big&amp;gt;Кравець Владислав Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кравченко Віталій Володимирович|&amp;lt;big&amp;gt;Кравченко Віталій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Куліш Сергій Анатолійович|&amp;lt;big&amp;gt;Куліш Сергій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Л =&lt;br /&gt;
* &#039;&#039;&#039;[[Лебідь Роман Анатолійович|&amp;lt;big&amp;gt;Лебідь Роман Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Левченко Олександр Анатолійович|&amp;lt;big&amp;gt;Левченко Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лейченко Олександр Володимирович|&amp;lt;big&amp;gt;Лейченко Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лещишин Богдан Григорович|&amp;lt;big&amp;gt;Лещишин Богдан Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лисенков Вадим Миколайович|&amp;lt;big&amp;gt;Лисенков Вадим Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Литвин Богдан Олександрович|&amp;lt;big&amp;gt;Литвин Богдан Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Литвинюк Роман Михайлович|&amp;lt;big&amp;gt;Литвинюк Роман Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лініченко Анатолій Васильович|&amp;lt;big&amp;gt;Лініченко Анатолій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Літош Олег Петрович|&amp;lt;big&amp;gt;Літош Олег Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лозовик Артем Іванович|&amp;lt;big&amp;gt;Лозовик Артем Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лозовий Антон Ігорович|&amp;lt;big&amp;gt;Лозовий Антон Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Лучанінов Дмитро Григорович|&amp;lt;big&amp;gt;Лучанінов Дмитро Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Любічев Володимир Володимирович|&amp;lt;big&amp;gt;Любічев Володимир Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= М =&lt;br /&gt;
* &#039;&#039;&#039;[[Мазур Олександр Леонідович|&amp;lt;big&amp;gt;Мазур Олександр Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;       &lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Максименко Максим Леонідович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Марюхно Данило Володимирович|&amp;lt;big&amp;gt;Марюхно Данило Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* [[Мар’єнко Андрій Андрійович|&#039;&#039;&#039;&amp;lt;big&amp;gt;Мар’єнко Андрій Андрійович&amp;lt;/big&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
* &#039;&#039;&#039;[[Матіс Олег Борисович|&amp;lt;big&amp;gt;Матіс Олег Борисович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Матусевич В’ячеслав Олександрович|&amp;lt;big&amp;gt;Матусевич В’ячеслав Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Машовець Сергій Олександрович|&amp;lt;big&amp;gt;Машовець Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Михайліна Роман Олексійович|&amp;lt;big&amp;gt;Михайліна Роман Олексійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Михно Руслан Анатолійович|&amp;lt;big&amp;gt;Михно Руслан Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039; &lt;br /&gt;
* [[Мілєєв Юрій Васильович|&#039;&#039;&#039;Мілєєв Юрій Васильович&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Мовчан Олексій Миколайович|&amp;lt;big&amp;gt;Мовчан Олексій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мога Микола Вікторович|&amp;lt;big&amp;gt;Мога Микола Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Мондич Євген Іванович|&amp;lt;big&amp;gt;Мондич Євген Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Н =&lt;br /&gt;
* &#039;&#039;&#039;[[Накоп’юк Олексій Віталійович|&amp;lt;big&amp;gt;Накоп’юк Олексій Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Науменко Сергій Едуардович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Нежута Владислав Андрійович|&amp;lt;big&amp;gt;Нежута Владислав Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Нікітенко Вячеслав Юрійович|&amp;lt;big&amp;gt;Нікітенко Вячеслав Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Нітичук Володимир Вікторович|&amp;lt;big&amp;gt;Нітичук Володимир Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Нянько Вадим Дмитрович|&amp;lt;big&amp;gt;Нянько Вадим Дмитрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= О =&lt;br /&gt;
* &#039;&#039;&#039;[[Овчаренко Вадим Миколайович|&amp;lt;big&amp;gt;Овчаренко Вадим Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Оверченко Андрій Миколайович|&amp;lt;big&amp;gt;Оверченко Андрій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Огійчук Сергій Петрович|&amp;lt;big&amp;gt;Огійчук Сергій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Олефіренко Євген Валерійович|&amp;lt;big&amp;gt;Олефіренко Євген Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Омельченко Андрій Ігорович|&amp;lt;big&amp;gt;Омельченко Андрій Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Осипков Євгеній Вікторович|&amp;lt;big&amp;gt;Осипков Євгеній Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= П =&lt;br /&gt;
* &#039;&#039;&#039;[[Павлов Олександр Леонідович|&amp;lt;big&amp;gt;Павлов Олександр Леонідович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Павперов Олександр Володимирович|&amp;lt;big&amp;gt;Павперов Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Панченко Олександр Віталійович|&amp;lt;big&amp;gt;Панченко Олександр Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Панченко Микола Ігорович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пасічник Михайло Вікторович|&amp;lt;big&amp;gt;Пасічник Михайло Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пацеля Владислав Вікторович|&amp;lt;big&amp;gt;Пацеля Владислав Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Петушко Олександр Вілюсович|&amp;lt;big&amp;gt;Петушко Олександр Вілюсович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Поліщук Денис Олександрович|&amp;lt;big&amp;gt;Поліщук Денис Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Помазан Олександр Сергійович|&amp;lt;big&amp;gt;Помазан Олександр Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Попович Олександр Анатолійович|&amp;lt;big&amp;gt;Попович Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пстрий Богдан Ігорович|&amp;lt;big&amp;gt;Пстрий Богдан Ігорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пустовий Руслан Олегович|&amp;lt;big&amp;gt;Пустовий Руслан Олегович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пушич Валентина Михайлівна|&amp;lt;big&amp;gt;Пушич Валентина Михайлівна&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Пясецький Дмитро Сергійович|&amp;lt;big&amp;gt;Пясецький Дмитро Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Р =&lt;br /&gt;
* &#039;&#039;&#039;[[Романченко Юрій Вікторович|&amp;lt;big&amp;gt;Романченко Юрій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Рудий Сергій Васильович|&amp;lt;big&amp;gt;Рудий Сергій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Рудич Андрій Анатолійович|&amp;lt;big&amp;gt;Рудич Андрій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Русинський Вадим Вадимович|&amp;lt;big&amp;gt;Русинський Вадим Вадимович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= С =&lt;br /&gt;
* &#039;&#039;&#039;[[Селютін Олексій Юрійович|&amp;lt;big&amp;gt;Селютін Олексій Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сергієв Євген Анатолійович|&amp;lt;big&amp;gt;Сергієв Євген Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сергієнко Олександр Анатолійович|&amp;lt;big&amp;gt;Сергієнко Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сидоришин Кирило Андрійович|&amp;lt;big&amp;gt;Сидоришин Кирило Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Скрипка Валерій Петрович|&amp;lt;big&amp;gt;Скрипка Валерій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Собків Роман Васильович|&amp;lt;big&amp;gt;Собків Роман Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Содоль Сергій Олександрович|&amp;lt;big&amp;gt;Содоль Сергій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Солтик Юрій Сергійович|&amp;lt;big&amp;gt;Солтик Юрій Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сорокін Роман Олегович|&amp;lt;big&amp;gt;Сорокін Роман Олегович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Стаднік Андрій Андрійович|&amp;lt;big&amp;gt;Стаднік Андрій Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Т =&lt;br /&gt;
* &#039;&#039;&#039;[[Терещенко Анатолій Анатолійович|&amp;lt;big&amp;gt;Терещенко Анатолій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Терепа Тарас Григорович|&amp;lt;big&amp;gt;Терепа Тарас Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тимошенко Сергій Володимирович|&amp;lt;big&amp;gt;Тимошенко Сергій Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тимченко Олег Васильович|&amp;lt;big&amp;gt;Тимченко Олег Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тишлек Артем Станіславович|&amp;lt;big&amp;gt;Тишлек Артем Станіславович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Тітов Костянтин Андрійович|&amp;lt;big&amp;gt;Тітов Костянтин Андрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Топчій Микола Сергійович|&amp;lt;big&amp;gt;Топчій Микола Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Трепільченко Едуард Юрійович|&amp;lt;big&amp;gt;Трепільченко Едуард Юрійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Третьяков Ігор Геннадійович|&amp;lt;big&amp;gt;Третьяков Ігор Геннадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Туєв Олексій Олександрович|&amp;lt;big&amp;gt;Туєв Олексій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= У =&lt;br /&gt;
* &#039;&#039;&#039;[[Уваров Олександр Михайлович|&amp;lt;big&amp;gt;Уваров Олександр Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Угровецький Роман Миколайович|&amp;lt;big&amp;gt;Угровецький Роман Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ф =&lt;br /&gt;
* &#039;&#039;&#039;[[Фанта Артем Валерійович|&amp;lt;big&amp;gt;Фанта Артем Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Федін Андрій Вікторович|&amp;lt;big&amp;gt;Федін Андрій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ферлей Віталій Васильович|&amp;lt;big&amp;gt;Ферлей Віталій Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Фоменко Ігор Іванович|&amp;lt;big&amp;gt;Фоменко Ігор Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Фраушер Наталія Анатоліївна|&amp;lt;big&amp;gt;Фраушер Наталія Анатоліївна&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Х =&lt;br /&gt;
* &#039;&#039;&#039;[[Халюков Олександр Володимирович|&amp;lt;big&amp;gt;Халюков Олександр Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Хилько Олег Миколайович|&amp;lt;big&amp;gt;Хилько Олег Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Хожай Сергій Петрович|&amp;lt;big&amp;gt;Хожай Сергій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ч =&lt;br /&gt;
* &#039;&#039;&#039;[[Чайковський Володимир Едмундович|&amp;lt;big&amp;gt;Чайковський Володимир Едмундович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Чеботар Леонід Ігорович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Черкашин Михайло Олександрович|&amp;lt;big&amp;gt;Черкашин Михайло Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Черняк Юрій Олександрович|&amp;lt;big&amp;gt;Черняк Юрій Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Чибінєєв Валерій Вікторович|&amp;lt;big&amp;gt;Чибінєєв Валерій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Чорний Дмитро Олексійович|&amp;lt;big&amp;gt;Чорний Дмитро Олексійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ш =&lt;br /&gt;
* &#039;&#039;&#039;[[Шабадаш Юрій Вікторович|&amp;lt;big&amp;gt;Шабадаш Юрій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шаповалов Віктор Вікторович|&amp;lt;big&amp;gt;Шаповалов Віктор Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Швець Олександр Анатолійович|&amp;lt;big&amp;gt;Швець Олександр Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шеремета Олександр Михайлович|&amp;lt;big&amp;gt;Шеремета Олександр Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шестопалов Костянтин Костянтинович|&amp;lt;big&amp;gt;Шестопалов Костянтин Костянтинович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шиманський Юрій Вікторович|&amp;lt;big&amp;gt;Шиманський Юрій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шишевський Олександр Віталійович|&amp;lt;big&amp;gt;Шишевський Олександр Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шпакович Євгеній Петрович|&amp;lt;big&amp;gt;Шпакович Євгеній Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Шуляк Олександр Григорович|&amp;lt;big&amp;gt;Шуляк Олександр Григорович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Щ =&lt;br /&gt;
* &#039;&#039;&#039;[[Щербак Олександр Антонович|&amp;lt;big&amp;gt;Щербак Олександр Антонович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Я =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Якушко Станіслав Олександрович|&amp;lt;big&amp;gt;Якушко Станіслав Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Янок Юрій Петрович|&amp;lt;big&amp;gt;Янок Юрій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ярмола Віктор Олександрович|&amp;lt;big&amp;gt;Ярмола Віктор Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ярошенко Володимир Степанович|&amp;lt;big&amp;gt;Ярошенко Володимир Степанович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Яценко Максим Миколайович|&amp;lt;big&amp;gt;Яценко Максим Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2025&amp;diff=3647</id>
		<title>Загиблі з моменту вторгнення рф в Україну з 24 лютого/2025</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%97%D0%B0%D0%B3%D0%B8%D0%B1%D0%BB%D1%96_%D0%B7_%D0%BC%D0%BE%D0%BC%D0%B5%D0%BD%D1%82%D1%83_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D1%80%D1%84_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_%D0%B7_24_%D0%BB%D1%8E%D1%82%D0%BE%D0%B3%D0%BE/2025&amp;diff=3647"/>
		<updated>2025-12-01T11:12:56Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Б =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Болотов Іван Володимирович|&amp;lt;big&amp;gt;Болотов Іван Володимирович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Бурлаченко Віктор Віталійович|&amp;lt;big&amp;gt;Бурлаченко Віктор Віталійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Г =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Годованець Роман Васильович|&amp;lt;big&amp;gt;Годованець Роман Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Гутевич Максим Валерійович|&amp;lt;big&amp;gt;Гутевич Максим Валерійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Д =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Данілович Сергій Анатолійович|&amp;lt;big&amp;gt;Данілович Сергій Анатолійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Денисюк Олександр Васильович|&amp;lt;big&amp;gt;Денисюк Олександр Васильович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Дроздецький Олександр Сергійович|&amp;lt;big&amp;gt;Дроздецький Олександр Сергійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= З =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Заболотний Олександр Олександрович|&amp;lt;big&amp;gt;Заболотний Олександр Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= І =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;big&amp;gt;[[Іщук Олександр Володимирович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= К =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Кононенко Олександр Вікторович|&amp;lt;big&amp;gt;Кононенко Олександр Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Комаров Андрій Петрович|&amp;lt;big&amp;gt;Комаров Андрій Петрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Косар Андрій Михайлович|&amp;lt;big&amp;gt;Косар Андрій Михайлович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Котелянець Богдан Олександрович|&amp;lt;big&amp;gt;Котелянець Богдан Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Кубай Юрій Іванович|&amp;lt;big&amp;gt;Кубай Юрій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Л =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Лепський Григорій Миколайович|&amp;lt;big&amp;gt;Лепський Григорій Миколайович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= П =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Петровський Сергій Вікторович|&amp;lt;big&amp;gt;Петровський Сергій Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Т =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Тимченко Анатолій Іванович|&amp;lt;big&amp;gt;Тимченко Анатолій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= С =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Сидоренко Дмитро Олександрович|&amp;lt;big&amp;gt;Сидоренко Дмитро Олександрович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Сіробаба Юрій Іванович|&amp;lt;big&amp;gt;Сіробаба Юрій Іванович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Ставцев Павло Геннадійович|&amp;lt;big&amp;gt;Ставцев Павло Геннадійович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Ч =&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Сидоренко Дмитро Олександрович|&amp;lt;big&amp;gt;&amp;lt;/big&amp;gt;]]&amp;lt;big&amp;gt;[[Чеховський Олександр Миколайович]]&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Щ =&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Щербатюк Олександр Вікторович|&amp;lt;big&amp;gt;Щербатюк Олександр Вікторович&amp;lt;/big&amp;gt;]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3646</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3646"/>
		<updated>2025-12-01T10:17:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні|366x366пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
===  Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%92%D0%BE%D1%81%D0%BA%D1%80%D0%B5%D1%81%D0%B5%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9_%D0%9E%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%B5%D0%BD%D0%B0%D0%B4%D0%B8%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3641</id>
		<title>Воскресенський Олександр Генадийович</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%92%D0%BE%D1%81%D0%BA%D1%80%D0%B5%D1%81%D0%B5%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9_%D0%9E%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%B5%D0%BD%D0%B0%D0%B4%D0%B8%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3641"/>
		<updated>2025-11-07T11:18:48Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Воскресенський Олександр Генадийович.jpg|міні]]&lt;br /&gt;
&lt;br /&gt;
=== 19.09.1981 - 25.08.2022 ===&lt;br /&gt;
позивний: &amp;quot;Романтик&amp;quot;&lt;br /&gt;
&lt;br /&gt;
солдат&lt;br /&gt;
&lt;br /&gt;
водій 3 мб&lt;br /&gt;
&lt;br /&gt;
Народився в м.Луганськ, автомобіліст&lt;br /&gt;
&lt;br /&gt;
Донецька обл.Велика Новосілка&lt;br /&gt;
&lt;br /&gt;
Похований на лісовому кладовищі.&lt;br /&gt;
&lt;br /&gt;
Нагороджений:&lt;br /&gt;
- Орденом “За мужність” ІІІ ступеня&lt;br /&gt;
&lt;br /&gt;
У 2022 в перші дні війни пішов добровольцем.&lt;br /&gt;
&lt;br /&gt;
Вічна пам&#039;ять герою!&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%92%D0%BE%D1%81%D0%BA%D1%80%D0%B5%D1%81%D0%B5%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9_%D0%9E%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%B5%D0%BD%D0%B0%D0%B4%D0%B8%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3640</id>
		<title>Воскресенський Олександр Генадийович</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%92%D0%BE%D1%81%D0%BA%D1%80%D0%B5%D1%81%D0%B5%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9_%D0%9E%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%B5%D0%BD%D0%B0%D0%B4%D0%B8%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3640"/>
		<updated>2025-11-07T11:18:41Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Воскресенський Олександр Генадийович.jpg|міні]]&lt;br /&gt;
&lt;br /&gt;
=== 19.09.1981 - 25.08.2022 ===&lt;br /&gt;
позивний: Романтик&lt;br /&gt;
&lt;br /&gt;
солдат&lt;br /&gt;
&lt;br /&gt;
водій 3 мб&lt;br /&gt;
&lt;br /&gt;
Народився в м.Луганськ, автомобіліст&lt;br /&gt;
&lt;br /&gt;
Донецька обл.Велика Новосілка&lt;br /&gt;
&lt;br /&gt;
Похований на лісовому кладовищі.&lt;br /&gt;
&lt;br /&gt;
Нагороджений:&lt;br /&gt;
- Орденом “За мужність” ІІІ ступеня&lt;br /&gt;
&lt;br /&gt;
У 2022 в перші дні війни пішов добровольцем.&lt;br /&gt;
&lt;br /&gt;
Вічна пам&#039;ять герою!&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%9B%D1%8E%D0%B1%D1%96%D1%87%D0%B5%D0%B2_%D0%92%D0%BE%D0%BB%D0%BE%D0%B4%D0%B8%D0%BC%D0%B8%D1%80_%D0%92%D0%BE%D0%BB%D0%BE%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3633</id>
		<title>Любічев Володимир Володимирович</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%9B%D1%8E%D0%B1%D1%96%D1%87%D0%B5%D0%B2_%D0%92%D0%BE%D0%BB%D0%BE%D0%B4%D0%B8%D0%BC%D0%B8%D1%80_%D0%92%D0%BE%D0%BB%D0%BE%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3633"/>
		<updated>2025-10-16T13:41:37Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Любічев Володимир Володимирович.jpg|thumb|left|Любічев Володимир Володимирович|703x703пкс]]&lt;br /&gt;
&lt;br /&gt;
=== 30.11.1974 - 24.03.2022 ===&lt;br /&gt;
Володимир був дуже веселим та любив спілкування. Навчався в школі Деснянського району 189 міста Києва. Влітку обожнював відпочивати на дачі біля села Гореничі. Після школи вступив до Київського вищого танкового інженерного училища. Після звільнення від строкового перебування в лавах Української армії, пішов працювати в Укртелеком. &lt;br /&gt;
&lt;br /&gt;
У Володимира залишилися дружина та двоє дітей.&lt;br /&gt;
&lt;br /&gt;
Воювати з рашистами пішов за власним бажанням.&lt;br /&gt;
Похований на Лісовому кладовищі м. Києва&lt;br /&gt;
&lt;br /&gt;
Вічна пам’ять Герою!&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%9E%D0%B2%D1%87%D0%B0%D1%80%D0%B5%D0%BD%D0%BA%D0%BE_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9C%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3632</id>
		<title>Овчаренко Вадим Миколайович</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%9E%D0%B2%D1%87%D0%B0%D1%80%D0%B5%D0%BD%D0%BA%D0%BE_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9C%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B9%D0%BE%D0%B2%D0%B8%D1%87&amp;diff=3632"/>
		<updated>2025-10-16T13:39:44Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Овчаренко Вадим Миколайович.jpg|міні]]&lt;br /&gt;
&lt;br /&gt;
=== 16.11.1990 - 10.03.2022 ===&lt;br /&gt;
Позивний:  «Фугас» &lt;br /&gt;
&lt;br /&gt;
Молодший сержант, командир відділення роти охорони 3-го відділу Броварського РТЦК та СП &lt;br /&gt;
&lt;br /&gt;
Військовий шлях: &lt;br /&gt;
Сапер &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Овчаренко Вадим Миколайович,&#039;&#039;&#039; народився 16 листопада 1990 року у селі Середівка нині Броварського району Київської області. Закінчив Середівську неповну  середню школу та Харківський національний університет цивільного захисту зі спеціальністю – фахівець оперативної рятувальної служби цивільного захисту. &lt;br /&gt;
&lt;br /&gt;
Працював: 02.04.2021 Інженер механік автотранспортної колони.  &lt;br /&gt;
&lt;br /&gt;
До призову працював у ТОВ «Краєвид» (&#039;&#039;Згурівський цукровий завод&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
Хобі: авто гонки &lt;br /&gt;
&lt;br /&gt;
З 24 лютого 2022 року мобілізований до лав ЗСУ. Проходив службу в Чернігівській області.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обставини загибелі&#039;&#039;&#039;: загинув Овчаренко Вадим Миколайович 10 березня 2022 року у Черніговській області Ніжинський район між селами Гаврилівка та Петрівка. &lt;br /&gt;
&lt;br /&gt;
Вічна пам’ять Герою!&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3631</id>
		<title>NEWS</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3631"/>
		<updated>2025-10-16T08:18:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;База darnytsa hero створена у 2022 році на двіжку mediawiki версії 1.38&lt;br /&gt;
&lt;br /&gt;
=== Наразі база оновлена до стабільної версії 1.44 ===&lt;br /&gt;
&lt;br /&gt;
= Що нового? =&lt;br /&gt;
&lt;br /&gt;
* Створені окремі теми &amp;quot;Vector&amp;quot; (для персональних комп&#039;ютерів) та &amp;quot;Minevra&amp;quot;(для мобільних і термінальних користувачів);&lt;br /&gt;
* Додано кнопки FAQ і її сторінка, доступність(для людей з порушенням зору), адаптивна кнопка світла і темна теми, кнопки збільшення та зменшення тексту, випадкова сторінка для &amp;quot;minevra&amp;quot;;&lt;br /&gt;
* Відкореговані та доповнені біографії, збільшена якість фото зображень, упорядочені списки полеглих героїв;&lt;br /&gt;
* Розроблено власний overlay щоб прибрати баг з закриттям фото;&lt;br /&gt;
* Портал оновлено до версії 1.44;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3630</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3630"/>
		<updated>2025-10-16T08:17:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні|366x366пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
===  Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3629</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3629"/>
		<updated>2025-10-16T08:16:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
===  Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
___________________________________________________________________________________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
= Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3628</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3628"/>
		<updated>2025-10-16T08:15:52Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
===  Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3627</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3627"/>
		<updated>2025-10-16T08:15:11Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Random page pc.png|міні|541x541px|кнопка видакової сторінки для ПК версій|ліворуч]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3626</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3626"/>
		<updated>2025-10-16T08:13:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
=== Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
[[Файл:Random page pc.png|міні|541x541px|кнопка видакової сторінки для ПК версій|ліворуч]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3625</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3625"/>
		<updated>2025-10-16T08:12:24Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу ===&lt;br /&gt;
&lt;br /&gt;
=== Для мобільних і термінальних пристроїв вона виглядає так. ===&lt;br /&gt;
[[Файл:Random page.png|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
[[Файл:Random page pc.png|міні|541x541px|кнопка видакової сторінки для ПК версій|ліворуч]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3624</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3624"/>
		<updated>2025-10-16T08:10:36Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок. ==&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3623</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3623"/>
		<updated>2025-10-16T08:09:08Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3622</id>
		<title>NEWS</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3622"/>
		<updated>2025-10-16T07:57:31Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;База darnytsa hero створена у 2022 році на двіжку mediawiki версії 1.38&lt;br /&gt;
&lt;br /&gt;
=== Наразі база оновлена до стабільної версії 1.44 ===&lt;br /&gt;
&lt;br /&gt;
= Що нового? =&lt;br /&gt;
&lt;br /&gt;
* Створені окремі теми &amp;quot;Vector&amp;quot; (для персональних комп&#039;ютерів) та &amp;quot;Minevra&amp;quot;(для мобільних і термінальних користувачів)&lt;br /&gt;
* Додано кнопки FAQ і її сторінка, доступність(для людей з порушенням зору), адаптивна кнопка світла і темна теми, кнопки збільшення та зменшення тексту, випадкова сторінка для &amp;quot;minevra&amp;quot;&lt;br /&gt;
* Відкореговані та доповнені біографії, збільшена якість фото зображень, упорядочені списки полеглих героїв&lt;br /&gt;
* Портал оновлено до версії 1.44&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3621</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3621"/>
		<updated>2025-10-16T07:51:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[NEWS|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3620</id>
		<title>NEWS</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=NEWS&amp;diff=3620"/>
		<updated>2025-10-16T07:50:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki: Створена сторінка: Технічна сторінка оновлень.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Технічна сторінка оновлень.&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3619</id>
		<title>Darnytsa hero:Про</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3619"/>
		<updated>2025-10-16T07:39:21Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Портал присв&#039;ячений пам&#039;яті військовим героям-дарничанам  Детальніше як користуватись порталом: [[FAQ]] =&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3618</id>
		<title>Darnytsa hero:Про</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3618"/>
		<updated>2025-10-16T07:38:08Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Портал присв&#039;ячений пам&#039;яті військовим героям-дарничанам  Детальніше як користуватись порталом: [[Darnytsa hero:Про/w/index.php/FAQ|FAQ]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3617</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3617"/>
		<updated>2025-10-16T07:36:22Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[/w/index.php/Darnytsa hero:Про|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3616</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3616"/>
		<updated>2025-10-16T07:35:47Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[/w/index.php/Darnytsa hero:Про|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3615</id>
		<title>Darnytsa hero:Про</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3615"/>
		<updated>2025-10-16T07:35:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Портал присв&#039;ячений пам&#039;яті військовим героям-дарничанам&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3614</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3614"/>
		<updated>2025-10-16T07:30:47Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[Darnytsa hero:Про|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3613</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3613"/>
		<updated>2025-10-16T07:30:16Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[/Darnytsa hero:Про|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3612</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3612"/>
		<updated>2025-10-16T07:29:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
&#039;&#039;&#039;[[/w/index.php/Darnytsa hero:Про|Сторінка Про darnytsa_hero]]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3611</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3611"/>
		<updated>2025-10-16T07:29:11Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?  &lt;br /&gt;
[[Про darnytsa hero|&#039;&#039;&#039;Сторінка Про darnytsa_hero&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3610</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3610"/>
		<updated>2025-10-16T07:28:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?&lt;br /&gt;
[[Про darnytsa hero|&#039;&#039;&#039;Сторінка Про darnytsa_hero&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3609</id>
		<title>Darnytsa hero:Про</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=Darnytsa_hero:%D0%9F%D1%80%D0%BE&amp;diff=3609"/>
		<updated>2025-10-16T07:27:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki: Створена сторінка: 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3608</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3608"/>
		<updated>2025-10-16T07:27:30Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  darn_vnutpol@kyivcity.gov.ua, вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Двіжок сайту побудований на базі Mediawiki, який постійно оновлюється.&lt;br /&gt;
&lt;br /&gt;
З версії 1.44 ми адаптували наш сайт під сучасні потреби, а саме:&lt;br /&gt;
&lt;br /&gt;
* додали кнопку зміни темної чи світлої теми;&lt;br /&gt;
* додали кнопку лупи збільшення чи зменшення тексту;&lt;br /&gt;
* додали кнопку доступності, яка підсвітлює сторінку сайту де потрібно можливо прожати ту чи іншу клавішу.&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3607</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3607"/>
		<updated>2025-10-16T07:26:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Як це Працює? ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Портал Darnytsa Hero створений, як алея пам&#039;яті героям Дарничанам, які починаючи з 2014 року віддали своє життя за наше спільне незалежне майбутнє і свободу.&lt;br /&gt;
&lt;br /&gt;
Ми маємо сторінки де вісортовані по списку прізвища, ім&#039;я, по батькові полеглих українців за часи: Революції гідності, АТО/ООС, Війну за незалежність України. Ці сторінки побудовані по рокам де під час переходу на сторінку по алфавіту починаючи з прізвища йдуть індивідуальні посилання на наших героїв-дарничан.&lt;br /&gt;
[[Файл:H 1.png|ліворуч|міні|333x333пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:H 2.png|центр|міні|377x377пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Через QR-коди на меморіальних дошках йде перехід на індивідуальну сторінку солдата.&lt;br /&gt;
&lt;br /&gt;
Через пошук можливо знаходити сторінку, яка Вам потрібно для читання, або для додаткового ознайомлення&lt;br /&gt;
[[Файл:Search.png|ліворуч|міні|500x500пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат  через &amp;quot;пошук&amp;quot; видається з першої букви по прізвищу (див. приклад нижче)&lt;br /&gt;
[[Файл:Search priklad.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для переходу по різним сторінкам ми маємо кнопку випадкової сторінки, через яку можливо дивитись різні сторінки цього порталу&lt;br /&gt;
&lt;br /&gt;
Для мобільних і термінальних пристроїв вона виглядає так.&lt;br /&gt;
[[Файл:Random page.png|ліворуч|міні]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Така кнопка зроблена лише для версій &amp;quot;minevra&amp;quot;, які адаптовані для термінальних рішень і мобільних, для ПК користувачів ця кнопка знаходиться під  Головную сторінкою, щоб  не втручатись у музейний вид сторінки для меморіальних дошок.&lt;br /&gt;
[[Файл:Random page pc.png|міні|500x500пкс|кнопка видакової сторінки для ПК версій]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Натискаючи на герб, або на верхню назву darnytsa_hero ви повертаєтесь на основну сторінку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Часті питання =&lt;br /&gt;
&lt;br /&gt;
# Як знайти потрібну сторінку &#039;&#039;&#039;Через пошук, потрібно набрати першу букву прізвища, або саме прізвище і система його знайде&#039;&#039;&#039;&lt;br /&gt;
# На порталі нечітке фото, мало інформації, або я хочу доповнити статтю, що для цього зробити &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Я знайшов баг і хочу допомогти  &#039;&#039;&#039;Написати на пошту: [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]], вказати свій піб і зворотній контакт як з вами зв&#039;язатись.&#039;&#039;&#039;&lt;br /&gt;
# Потрібно подати заявку на встановлення меморіальної дошки і занесення в базу Darnytsa Hero. &#039;&#039;&#039;Наразі створюється алгоритм по якому це можливо зробити у електронному  вигляді, але поки що потрібно зв&#039;язатись з [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділом з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] за телефоном 564-90-19 або місто Києв, вулиця Олександра Кошиця 11 кабінет 301.&#039;&#039;&#039;&lt;br /&gt;
# Хочу встановити у своєму приміщенні термінал Darnytsa Hero, як це зробити? &#039;&#039;&#039;Ми можемо проконсультувати відносно потрібного заліза і можемо вам допомогти налаштувати термінал, надати додаткове програмне забезпечення, для більш комфортної з порталом darnytsa hero, за цією інформацією звертайтесь до [https://darn.kyivcity.gov.ua/struktura/viddil-z-pytan-vnutrishnoi-polityky-zviazkiv-z-hromadskistiu-ta-zasobamy-masovoi-informatsii Відділу з питань внутрішньої політики, зв&#039;язків з громадськістю та засобами масової інформації апарату Дарницької РДА] -  [[Mailto: darn vnutpol@kyivcity.gov.ua|darn_vnutpol@kyivcity.gov.ua]]&#039;&#039;&#039;&lt;br /&gt;
# Де я можу ознайомитись з технічними оновленнями?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Двіжок сайту побудований на базі Mediawiki, який постійно оновлюється.&lt;br /&gt;
&lt;br /&gt;
З версії 1.44 ми адаптували наш сайт під сучасні потреби, а саме:&lt;br /&gt;
&lt;br /&gt;
* додали кнопку зміни темної чи світлої теми;&lt;br /&gt;
* додали кнопку лупи збільшення чи зменшення тексту;&lt;br /&gt;
* додали кнопку доступності, яка підсвітлює сторінку сайту де потрібно можливо прожати ту чи іншу клавішу.&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:H_2.png&amp;diff=3606</id>
		<title>Файл:H 2.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:H_2.png&amp;diff=3606"/>
		<updated>2025-10-16T07:10:00Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;h_2&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:H_1.png&amp;diff=3605</id>
		<title>Файл:H 1.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:H_1.png&amp;diff=3605"/>
		<updated>2025-10-16T07:08:56Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;h_1&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Random_page_pc.png&amp;diff=3604</id>
		<title>Файл:Random page pc.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Random_page_pc.png&amp;diff=3604"/>
		<updated>2025-10-16T07:00:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;random_page_pc&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Random_page.png&amp;diff=3603</id>
		<title>Файл:Random page.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Random_page.png&amp;diff=3603"/>
		<updated>2025-10-16T06:51:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;random_page&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Search_priklad.png&amp;diff=3602</id>
		<title>Файл:Search priklad.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Search_priklad.png&amp;diff=3602"/>
		<updated>2025-10-16T06:45:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;search_priklad&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Search.png&amp;diff=3601</id>
		<title>Файл:Search.png</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Search.png&amp;diff=3601"/>
		<updated>2025-10-16T06:41:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Search&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3600</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3600"/>
		<updated>2025-10-16T05:41:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (вище)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) return;&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 240px;  &lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВИПРАВЛЕНА ІНІЦІАЛІЗАЦІЯ (замінити тільки цю частину)&lt;br /&gt;
// =========================&lt;br /&gt;
&lt;br /&gt;
// Видаляємо всі старі ініціалізатори і замінюємо на цей простий код:&lt;br /&gt;
&lt;br /&gt;
let buttonsInitialized = false;&lt;br /&gt;
&lt;br /&gt;
function initializeLeftButtons() {&lt;br /&gt;
    if (buttonsInitialized) return;&lt;br /&gt;
    buttonsInitialized = true;&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Як це працює?&amp;quot; для всіх тем&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Випадкова сторінка&amp;quot; тільки для Minerva&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один спосіб ініціалізації&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeLeftButtons);&lt;br /&gt;
} else {&lt;br /&gt;
    setTimeout(initializeLeftButtons, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один резервний таймер&lt;br /&gt;
setTimeout(initializeLeftButtons, 1000);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3599</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3599"/>
		<updated>2025-10-16T05:40:58Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (вище)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) return;&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 200px;  &lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВИПРАВЛЕНА ІНІЦІАЛІЗАЦІЯ (замінити тільки цю частину)&lt;br /&gt;
// =========================&lt;br /&gt;
&lt;br /&gt;
// Видаляємо всі старі ініціалізатори і замінюємо на цей простий код:&lt;br /&gt;
&lt;br /&gt;
let buttonsInitialized = false;&lt;br /&gt;
&lt;br /&gt;
function initializeLeftButtons() {&lt;br /&gt;
    if (buttonsInitialized) return;&lt;br /&gt;
    buttonsInitialized = true;&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Як це працює?&amp;quot; для всіх тем&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Випадкова сторінка&amp;quot; тільки для Minerva&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один спосіб ініціалізації&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeLeftButtons);&lt;br /&gt;
} else {&lt;br /&gt;
    setTimeout(initializeLeftButtons, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один резервний таймер&lt;br /&gt;
setTimeout(initializeLeftButtons, 1000);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3598</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3598"/>
		<updated>2025-10-16T05:39:07Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (вище)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) return;&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;  // ВИЩЕ - було 70px&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВИПРАВЛЕНА ІНІЦІАЛІЗАЦІЯ (замінити тільки цю частину)&lt;br /&gt;
// =========================&lt;br /&gt;
&lt;br /&gt;
// Видаляємо всі старі ініціалізатори і замінюємо на цей простий код:&lt;br /&gt;
&lt;br /&gt;
let buttonsInitialized = false;&lt;br /&gt;
&lt;br /&gt;
function initializeLeftButtons() {&lt;br /&gt;
    if (buttonsInitialized) return;&lt;br /&gt;
    buttonsInitialized = true;&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Як це працює?&amp;quot; для всіх тем&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Випадкова сторінка&amp;quot; тільки для Minerva&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один спосіб ініціалізації&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeLeftButtons);&lt;br /&gt;
} else {&lt;br /&gt;
    setTimeout(initializeLeftButtons, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один резервний таймер&lt;br /&gt;
setTimeout(initializeLeftButtons, 1000);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3597</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3597"/>
		<updated>2025-10-15T19:57:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) return;&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВИПРАВЛЕНА ІНІЦІАЛІЗАЦІЯ (замінити тільки цю частину)&lt;br /&gt;
// =========================&lt;br /&gt;
&lt;br /&gt;
// Видаляємо всі старі ініціалізатори і замінюємо на цей простий код:&lt;br /&gt;
&lt;br /&gt;
let buttonsInitialized = false;&lt;br /&gt;
&lt;br /&gt;
function initializeLeftButtons() {&lt;br /&gt;
    if (buttonsInitialized) return;&lt;br /&gt;
    buttonsInitialized = true;&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Як це працює?&amp;quot; для всіх тем&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Випадкова сторінка&amp;quot; тільки для Minerva&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один спосіб ініціалізації&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeLeftButtons);&lt;br /&gt;
} else {&lt;br /&gt;
    setTimeout(initializeLeftButtons, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один резервний таймер&lt;br /&gt;
setTimeout(initializeLeftButtons, 1000);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3596</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3596"/>
		<updated>2025-10-15T19:56:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
/// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) return;&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot;&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРИХОВАННЯ ЕЛЕМЕНТІВ У МОБІЛЬНІЙ ВЕРСІЇ&lt;br /&gt;
// =========================&lt;br /&gt;
function hideMobileElements() {&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        const elements = document.querySelectorAll(&#039;*&#039;);&lt;br /&gt;
        elements.forEach(element =&amp;gt; {&lt;br /&gt;
            if (element.textContent &amp;amp;&amp;amp; element.textContent.includes(&#039;Відмова&#039;)) {&lt;br /&gt;
                element.style.display = &#039;none&#039;;&lt;br /&gt;
                const parentLi = element.closest(&#039;li&#039;);&lt;br /&gt;
                if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        &lt;br /&gt;
        const links = document.querySelectorAll(&#039;a[href*=&amp;quot;%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B0&amp;quot;]&#039;);&lt;br /&gt;
        links.forEach(link =&amp;gt; {&lt;br /&gt;
            link.style.display = &#039;none&#039;;&lt;br /&gt;
            const parentLi = link.closest(&#039;li&#039;);&lt;br /&gt;
            if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРОСТИЙ ІНІЦІАЛІЗАТОР&lt;br /&gt;
// =========================&lt;br /&gt;
let initialized = false;&lt;br /&gt;
&lt;br /&gt;
function initializeButtons() {&lt;br /&gt;
    if (initialized) return;&lt;br /&gt;
    initialized = true;&lt;br /&gt;
    &lt;br /&gt;
    console.log(&#039;Ініціалізація кнопок...&#039;);&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Як це працює?&amp;quot; для всіх тем&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Кнопка &amp;quot;Випадкова сторінка&amp;quot; тільки для Minerva&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один спосіб ініціалізації&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeButtons);&lt;br /&gt;
} else {&lt;br /&gt;
    initializeButtons();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Тільки один резервний таймер&lt;br /&gt;
setTimeout(initializeButtons, 500);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3595</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3595"/>
		<updated>2025-10-15T19:49:12Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (виправлена версія)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Перевіряємо чи це мобільна версія&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // ВИПРАВЛЕНИЙ ОБРОБНИК КЛІКУ&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Додаємо індикатор завантаження&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        &lt;br /&gt;
        // Використовуємо звичайний перехід замість replace&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.href = &#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;;&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
    console.log(&#039;Кнопка Випадкова створена зліва&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (для всіх тем)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Обробник для кнопки &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Перехід на сторінку /w/index.php/FAQ&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// АДАПТАЦІЯ ДО ЕКРАННОЇ КЛАВІАТУРИ&lt;br /&gt;
// =========================&lt;br /&gt;
function adjustForKeyboard() {&lt;br /&gt;
    const keyboardOffset = 80;&lt;br /&gt;
    &lt;br /&gt;
    function updateButtonPositions() {&lt;br /&gt;
        const randomBtn = document.getElementById(&#039;float-random-btn&#039;);&lt;br /&gt;
        const howBtn = document.getElementById(&#039;how-it-works-btn&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if (randomBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            randomBtn.style.bottom = `${70 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if (howBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            howBtn.style.bottom = `${140 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, updateButtonPositions);&lt;br /&gt;
    setTimeout(updateButtonPositions, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПОКРАЩЕНЕ ВІДНОВЛЕННЯ КНОПОК ПІСЛЯ ПЕРЕХОДУ&lt;br /&gt;
// =========================&lt;br /&gt;
function restoreButtons() {&lt;br /&gt;
    // Для всіх тем - кнопка &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Для мобільної версії - кнопка &amp;quot;Випадкова сторінка&amp;quot;&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРИХОВАННЯ ЕЛЕМЕНТІВ У МОБІЛЬНІЙ ВЕРСІЇ&lt;br /&gt;
// =========================&lt;br /&gt;
function hideMobileElements() {&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        const elements = document.querySelectorAll(&#039;*&#039;);&lt;br /&gt;
        elements.forEach(element =&amp;gt; {&lt;br /&gt;
            if (element.textContent &amp;amp;&amp;amp; element.textContent.includes(&#039;Відмова&#039;)) {&lt;br /&gt;
                element.style.display = &#039;none&#039;;&lt;br /&gt;
                const parentLi = element.closest(&#039;li&#039;);&lt;br /&gt;
                if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        &lt;br /&gt;
        const links = document.querySelectorAll(&#039;a[href*=&amp;quot;%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B0&amp;quot;]&#039;);&lt;br /&gt;
        links.forEach(link =&amp;gt; {&lt;br /&gt;
            link.style.display = &#039;none&#039;;&lt;br /&gt;
            const parentLi = link.closest(&#039;li&#039;);&lt;br /&gt;
            if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ЗАГАЛЬНИЙ ІНІЦІАЛІЗАТОР&lt;br /&gt;
// =========================&lt;br /&gt;
&lt;br /&gt;
// Основний ініціалізатор&lt;br /&gt;
function initializeAll() {&lt;br /&gt;
    restoreButtons();&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Ініціалізація при завантаженні DOM&lt;br /&gt;
document.addEventListener(&#039;DOMContentLoaded&#039;, function() {&lt;br /&gt;
    console.log(&#039;DOM завантажено - ініціалізація кнопок&#039;);&lt;br /&gt;
    initializeAll();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Ініціалізація при повному завантаженні сторінки&lt;br /&gt;
window.addEventListener(&#039;load&#039;, function() {&lt;br /&gt;
    console.log(&#039;Сторінка завантажена - ініціалізація кнопок&#039;);&lt;br /&gt;
    setTimeout(initializeAll, 100);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Ініціалізація при кожному переході між сторінками&lt;br /&gt;
window.addEventListener(&#039;pageshow&#039;, function(event) {&lt;br /&gt;
    console.log(&#039;Перехід на нову сторінку - відновлення кнопок&#039;);&lt;br /&gt;
    if (event.persisted) {&lt;br /&gt;
        // Сторінка завантажена з кешу браузера&lt;br /&gt;
        setTimeout(initializeAll, 50);&lt;br /&gt;
    } else {&lt;br /&gt;
        // Звичайне завантаження сторінки&lt;br /&gt;
        setTimeout(initializeAll, 100);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Резервна ініціалізація&lt;br /&gt;
setTimeout(function() {&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;) || &lt;br /&gt;
        (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;))) {&lt;br /&gt;
        console.log(&#039;Резервна ініціалізація кнопок&#039;);&lt;br /&gt;
        initializeAll();&lt;br /&gt;
    }&lt;br /&gt;
}, 2000);&lt;br /&gt;
&lt;br /&gt;
// Додаткова перевірка після завантаження контенту&lt;br /&gt;
if (document.readyState === &#039;loading&#039;) {&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, initializeAll);&lt;br /&gt;
} else {&lt;br /&gt;
    setTimeout(initializeAll, 100);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3594</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3594"/>
		<updated>2025-10-15T19:44:18Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (оригінальний функціонал, перенесена вліво)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Перевіряємо чи це мобільна версія&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // ОРИГІНАЛЬНИЙ ОБРОБНИК КЛІКУ З ВАШОГО КОДУ&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Додаємо індикатор завантаження&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        &lt;br /&gt;
        // Використовуємо window.location.replace для чистого переходу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.replace(&#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;);&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
    console.log(&#039;Кнопка Випадкова створена зліва&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (для всіх тем)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Обробник для кнопки &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Перехід на сторінку /w/index.php/FAQ&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// АДАПТАЦІЯ ДО ЕКРАННОЇ КЛАВІАТУРИ&lt;br /&gt;
// =========================&lt;br /&gt;
function adjustForKeyboard() {&lt;br /&gt;
    const keyboardOffset = 80;&lt;br /&gt;
    &lt;br /&gt;
    function updateButtonPositions() {&lt;br /&gt;
        const randomBtn = document.getElementById(&#039;float-random-btn&#039;);&lt;br /&gt;
        const howBtn = document.getElementById(&#039;how-it-works-btn&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if (randomBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            randomBtn.style.bottom = `${70 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if (howBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            howBtn.style.bottom = `${140 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, updateButtonPositions);&lt;br /&gt;
    setTimeout(updateButtonPositions, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// АВТОМАТИЧНЕ ВІДНОВЛЕННЯ КНОПКИ ПІСЛЯ ПЕРЕХОДУ&lt;br /&gt;
// =========================&lt;br /&gt;
function restoreRandomButton() {&lt;br /&gt;
    // Перевіряємо чи ми на випадковій сторінці&lt;br /&gt;
    const isRandomPage = window.location.href.includes(&#039;Випадкова_сторінка&#039;) || &lt;br /&gt;
                        window.location.href.includes(&#039;Special:Random&#039;);&lt;br /&gt;
    &lt;br /&gt;
    if (isRandomPage &amp;amp;&amp;amp; document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        // Чекаємо повного завантаження сторінки&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (!document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
                createRandomButton();&lt;br /&gt;
            }&lt;br /&gt;
        }, 500);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРИХОВАННЯ ЕЛЕМЕНТІВ У МОБІЛЬНІЙ ВЕРСІЇ&lt;br /&gt;
// =========================&lt;br /&gt;
function hideMobileElements() {&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        const elements = document.querySelectorAll(&#039;*&#039;);&lt;br /&gt;
        elements.forEach(element =&amp;gt; {&lt;br /&gt;
            if (element.textContent &amp;amp;&amp;amp; element.textContent.includes(&#039;Відмова&#039;)) {&lt;br /&gt;
                element.style.display = &#039;none&#039;;&lt;br /&gt;
                const parentLi = element.closest(&#039;li&#039;);&lt;br /&gt;
                if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        &lt;br /&gt;
        const links = document.querySelectorAll(&#039;a[href*=&amp;quot;%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B0&amp;quot;]&#039;);&lt;br /&gt;
        links.forEach(link =&amp;gt; {&lt;br /&gt;
            link.style.display = &#039;none&#039;;&lt;br /&gt;
            const parentLi = link.closest(&#039;li&#039;);&lt;br /&gt;
            if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ЗАГАЛЬНИЙ ІНІЦІАЛІЗАТОР&lt;br /&gt;
// =========================&lt;br /&gt;
document.addEventListener(&#039;DOMContentLoaded&#039;, function() {&lt;br /&gt;
    // Для всіх тем - кнопка &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Для мобільної версії&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
            createHowItWorksButton();&lt;br /&gt;
        }&lt;br /&gt;
        if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
            createRandomButton();&lt;br /&gt;
        }&lt;br /&gt;
        adjustForKeyboard();&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
    }, 2000);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
window.addEventListener(&#039;load&#039;, function() {&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        setTimeout(createRandomButton, 500);&lt;br /&gt;
    }&lt;br /&gt;
    setTimeout(createHowItWorksButton, 500);&lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
setTimeout(function() {&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
    }&lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
}, 3000);&lt;br /&gt;
&lt;br /&gt;
// Відновлюємо кнопки після переходу&lt;br /&gt;
window.addEventListener(&#039;pageshow&#039;, restoreRandomButton);&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3593</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3593"/>
		<updated>2025-10-15T19:37:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (оригінальний дизайн, перенесена вліво)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Перевіряємо чи це мобільна версія&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Оригінальний обробник кліку&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Додаємо індикатор завантаження&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        &lt;br /&gt;
        // Використовуємо window.location.replace для чистого переходу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.replace(&#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;);&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (для всіх тем)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Обробник для кнопки &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Перехід на локальну сторінку FAQ&lt;br /&gt;
        window.location.href = &#039;/w/index.php/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
// =========================&lt;br /&gt;
// АДАПТАЦІЯ ДО ЕКРАННОЇ КЛАВІАТУРИ&lt;br /&gt;
// =========================&lt;br /&gt;
function adjustForKeyboard() {&lt;br /&gt;
    const keyboardOffset = 80;&lt;br /&gt;
    &lt;br /&gt;
    function updateButtonPositions() {&lt;br /&gt;
        const randomBtn = document.getElementById(&#039;float-random-btn&#039;);&lt;br /&gt;
        const howBtn = document.getElementById(&#039;how-it-works-btn&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if (randomBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            randomBtn.style.bottom = `${70 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if (howBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            howBtn.style.bottom = `${140 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, updateButtonPositions);&lt;br /&gt;
    setTimeout(updateButtonPositions, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРИХОВАННЯ ЕЛЕМЕНТІВ У МОБІЛЬНІЙ ВЕРСІЇ&lt;br /&gt;
// =========================&lt;br /&gt;
function hideMobileElements() {&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        const elements = document.querySelectorAll(&#039;*&#039;);&lt;br /&gt;
        elements.forEach(element =&amp;gt; {&lt;br /&gt;
            if (element.textContent &amp;amp;&amp;amp; element.textContent.includes(&#039;Відмова&#039;)) {&lt;br /&gt;
                element.style.display = &#039;none&#039;;&lt;br /&gt;
                const parentLi = element.closest(&#039;li&#039;);&lt;br /&gt;
                if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        &lt;br /&gt;
        const links = document.querySelectorAll(&#039;a[href*=&amp;quot;%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B0&amp;quot;]&#039;);&lt;br /&gt;
        links.forEach(link =&amp;gt; {&lt;br /&gt;
            link.style.display = &#039;none&#039;;&lt;br /&gt;
            const parentLi = link.closest(&#039;li&#039;);&lt;br /&gt;
            if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ЗАГАЛЬНИЙ ІНІЦІАЛІЗАТОР&lt;br /&gt;
// =========================&lt;br /&gt;
document.addEventListener(&#039;DOMContentLoaded&#039;, function() {&lt;br /&gt;
    // Для всіх тем - кнопка &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Для мобільної версії&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
            createHowItWorksButton();&lt;br /&gt;
        }&lt;br /&gt;
        if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
            createRandomButton();&lt;br /&gt;
        }&lt;br /&gt;
        adjustForKeyboard();&lt;br /&gt;
    }, 2000);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
window.addEventListener(&#039;load&#039;, function() {&lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
        if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
            createRandomButton();&lt;br /&gt;
        }&lt;br /&gt;
        adjustForKeyboard();&lt;br /&gt;
    }, 500);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
setTimeout(function() {&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
    }&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
}, 3000);&lt;br /&gt;
&lt;br /&gt;
// Відновлюємо кнопки після переходу&lt;br /&gt;
window.addEventListener(&#039;pageshow&#039;, function() {&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            createHowItWorksButton();&lt;br /&gt;
            if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
                createRandomButton();&lt;br /&gt;
            }&lt;br /&gt;
            adjustForKeyboard();&lt;br /&gt;
        }, 500);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3592</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=MediaWiki:Common.js&amp;diff=3592"/>
		<updated>2025-10-15T19:30:22Z</updated>

		<summary type="html">&lt;p&gt;Wiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// =========================&lt;br /&gt;
// ОСНОВНИЙ КОД ДЛЯ ТЕМ, ДОСТУПНОСТІ ТА ЛУПИ&lt;br /&gt;
// =========================&lt;br /&gt;
$(function () {&lt;br /&gt;
    // Теми&lt;br /&gt;
    var themes = {&lt;br /&gt;
        light: &#039;/w/index.php?title=MediaWiki:Light.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;,&lt;br /&gt;
        dark: &#039;/w/index.php?title=MediaWiki:Dark.css&amp;amp;action=raw&amp;amp;ctype=text/css&#039;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var theme = localStorage.getItem(&#039;selectedTheme&#039;);&lt;br /&gt;
    if (!theme) {&lt;br /&gt;
        theme = window.matchMedia(&#039;(prefers-color-scheme: dark)&#039;).matches ? &#039;dark&#039; : &#039;light&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Завантажуємо тему&lt;br /&gt;
    if (themes[theme]) {&lt;br /&gt;
        mw.loader.load(themes[theme], &#039;text/css&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Розмір шрифту&lt;br /&gt;
    var fontSize = parseInt(localStorage.getItem(&#039;fontSize&#039;)) || parseInt($(&#039;body&#039;).css(&#039;font-size&#039;)) || 16;&lt;br /&gt;
&lt;br /&gt;
    function applyFontSize() {&lt;br /&gt;
        var content = document.querySelector(&#039;.mw-parser-output&#039;);&lt;br /&gt;
        if (content) {&lt;br /&gt;
            content.style.fontSize = fontSize + &#039;px&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Масив для збереження позицій кнопок&lt;br /&gt;
    var buttonCount = 0;&lt;br /&gt;
&lt;br /&gt;
    // Функція створення кнопки праворуч з автоматичним вертикальним розташуванням&lt;br /&gt;
    function createButtonRight(text, onClick, title) {&lt;br /&gt;
        var btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerText = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.position = &#039;fixed&#039;;&lt;br /&gt;
        btn.style.right = &#039;10px&#039;;&lt;br /&gt;
        btn.style.bottom = (10 + buttonCount * 60) + &#039;px&#039;; // вертикальний відступ між кнопками&lt;br /&gt;
        btn.style.padding = &#039;10px 16px&#039;;&lt;br /&gt;
        btn.style.border = &#039;none&#039;;&lt;br /&gt;
        btn.style.borderRadius = &#039;25px&#039;;&lt;br /&gt;
        btn.style.background = &#039;#1a73e8&#039;;&lt;br /&gt;
        btn.style.color = &#039;#fff&#039;;&lt;br /&gt;
        btn.style.fontWeight = &#039;bold&#039;;&lt;br /&gt;
        btn.style.fontSize = &#039;14px&#039;;&lt;br /&gt;
        btn.style.cursor = &#039;pointer&#039;;&lt;br /&gt;
        btn.style.zIndex = 9999;&lt;br /&gt;
        btn.style.textAlign = &#039;center&#039;;&lt;br /&gt;
        btn.style.boxShadow = &#039;0 2px 6px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
        btn.style.whiteSpace = &#039;nowrap&#039;;&lt;br /&gt;
&lt;br /&gt;
        btn.onclick = onClick;&lt;br /&gt;
        document.body.appendChild(btn);&lt;br /&gt;
&lt;br /&gt;
        buttonCount++; // збільшуємо лічильник кнопок для наступного bottom&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Кнопка Темна/Світла тема&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        theme === &#039;dark&#039; ? &#039;Світла тема ☀️&#039; : &#039;Темна тема 🌙&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            var newTheme = theme === &#039;dark&#039; ? &#039;light&#039; : &#039;dark&#039;;&lt;br /&gt;
            localStorage.setItem(&#039;selectedTheme&#039;, newTheme);&lt;br /&gt;
            location.reload();&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Змінити тему&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопка доступності&lt;br /&gt;
    createButtonRight(&lt;br /&gt;
        localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039; ? &#039;Доступність&#039; : &#039;Доступність&#039;,&lt;br /&gt;
        function () {&lt;br /&gt;
            if (!$(&#039;body&#039;).hasClass(&#039;accessibility-mode&#039;)) {&lt;br /&gt;
                $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;on&#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                $(&#039;body&#039;).removeClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
                localStorage.setItem(&#039;accessibilityMode&#039;, &#039;off&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;Увімкнути/вимкнути режим доступності&#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    // Кнопки лупи&lt;br /&gt;
    createButtonRight(&#039;🔍 +&#039;, function () {&lt;br /&gt;
        fontSize += 2;&lt;br /&gt;
        if (fontSize &amp;gt; 30) fontSize = 30;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Збільшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    createButtonRight(&#039;🔍 -&#039;, function () {&lt;br /&gt;
        fontSize -= 2;&lt;br /&gt;
        if (fontSize &amp;lt; 12) fontSize = 12;&lt;br /&gt;
        localStorage.setItem(&#039;fontSize&#039;, fontSize);&lt;br /&gt;
        applyFontSize();&lt;br /&gt;
    }, &#039;Зменшити шрифт&#039;);&lt;br /&gt;
&lt;br /&gt;
    // Застосовуємо шрифт при завантаженні&lt;br /&gt;
    applyFontSize();&lt;br /&gt;
&lt;br /&gt;
    // Відновлення стану доступності при завантаженні&lt;br /&gt;
    if (localStorage.getItem(&#039;accessibilityMode&#039;) === &#039;on&#039;) {&lt;br /&gt;
        $(&#039;body&#039;).addClass(&#039;accessibility-mode&#039;);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ВАШ СТАРИЙ OVERLAY КОД (без змін)&lt;br /&gt;
// =========================&lt;br /&gt;
(function() {&lt;br /&gt;
    &#039;use strict&#039;;&lt;br /&gt;
    &lt;br /&gt;
    // Конфигурація в стилі MediaViewer&lt;br /&gt;
    const config = {&lt;br /&gt;
        // Стиль оверлею&lt;br /&gt;
        overlayBg: &#039;rgba(0,0,0,0.95)&#039;,&lt;br /&gt;
        animationDuration: &#039;0.3s&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Стиль зображення&lt;br /&gt;
        imageMaxWidth: &#039;90vw&#039;,&lt;br /&gt;
        imageMaxHeight: &#039;80vh&#039;,&lt;br /&gt;
        &lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        infoPanel: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.8)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            padding: &#039;15px&#039;,&lt;br /&gt;
            borderRadius: &#039;8px&#039;,&lt;br /&gt;
            marginTop: &#039;15px&#039;,&lt;br /&gt;
            maxWidth: &#039;600px&#039;,&lt;br /&gt;
            fontSize: &#039;14px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопки&lt;br /&gt;
        buttons: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;18px&#039;,&lt;br /&gt;
            borderRadius: &#039;5px&#039;,&lt;br /&gt;
            margin: &#039;5px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Кнопка закриття&lt;br /&gt;
        closeBtn: {&lt;br /&gt;
            background: &#039;rgba(0,0,0,0.7)&#039;,&lt;br /&gt;
            color: &#039;#fff&#039;,&lt;br /&gt;
            size: &#039;40px&#039;,&lt;br /&gt;
            fontSize: &#039;20px&#039;,&lt;br /&gt;
            top: &#039;20px&#039;,&lt;br /&gt;
            right: &#039;20px&#039;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // Винятки&lt;br /&gt;
        excludeSelectors: [&lt;br /&gt;
            &#039;.no-overlay&#039;,&lt;br /&gt;
            &#039;[data-no-overlay]&#039;,&lt;br /&gt;
            &#039;.mw-editsection img&#039;,&lt;br /&gt;
            &#039;.sprite&#039;,&lt;br /&gt;
            &#039;.icon&#039;,&lt;br /&gt;
            &#039;.logo&#039;,&lt;br /&gt;
            &#039;.nav-icon&#039;&lt;br /&gt;
        ]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    let currentOverlay = null;&lt;br /&gt;
    let currentImageIndex = 0;&lt;br /&gt;
    let imagesInGallery = [];&lt;br /&gt;
    let currentScale = 1;&lt;br /&gt;
    const minScale = 0.5;&lt;br /&gt;
    const maxScale = 3;&lt;br /&gt;
    const scaleStep = 0.25;&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо стандартний MediaViewer&lt;br /&gt;
    function disableMediaViewerCompletely() {&lt;br /&gt;
        const mediaViewerLinks = document.querySelectorAll(&#039;a[href*=&amp;quot;/wiki/File:&amp;quot;], a[href*=&amp;quot;/w/images/&amp;quot;]&#039;);&lt;br /&gt;
        mediaViewerLinks.forEach(link =&amp;gt; {&lt;br /&gt;
            link.removeAttribute(&#039;data-mw&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-mediatype&#039;);&lt;br /&gt;
            link.removeAttribute(&#039;data-file&#039;);&lt;br /&gt;
            &lt;br /&gt;
            link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                const img = this.querySelector(&#039;img&#039;);&lt;br /&gt;
                if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                    showMediaViewerOverlay(img);&lt;br /&gt;
                    return false;&lt;br /&gt;
                }&lt;br /&gt;
            }, true);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення оверлею в стилі MediaViewer&lt;br /&gt;
    function createMediaViewerStyleOverlay() {&lt;br /&gt;
        const overlay = document.createElement(&#039;div&#039;);&lt;br /&gt;
        overlay.className = &#039;custom-media-viewer&#039;;&lt;br /&gt;
        overlay.style.cssText = `&lt;br /&gt;
            position: fixed;&lt;br /&gt;
            top: 0;&lt;br /&gt;
            left: 0;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            height: 100%;&lt;br /&gt;
            background: ${config.overlayBg};&lt;br /&gt;
            display: none;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            z-index: 10000;&lt;br /&gt;
            opacity: 0;&lt;br /&gt;
            transition: opacity ${config.animationDuration} ease;&lt;br /&gt;
            cursor: default;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Головний контейнер&lt;br /&gt;
        const mainContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        mainContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            max-width: 95vw;&lt;br /&gt;
            max-height: 95vh;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопка закриття ×&lt;br /&gt;
        const closeBtn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        closeBtn.innerHTML = &#039;×&#039;;&lt;br /&gt;
        closeBtn.title = &#039;Закрити (Esc)&#039;;&lt;br /&gt;
        closeBtn.style.cssText = `&lt;br /&gt;
            width: ${config.closeBtn.size};&lt;br /&gt;
            height: ${config.closeBtn.size};&lt;br /&gt;
            background: ${config.closeBtn.background};&lt;br /&gt;
            color: ${config.closeBtn.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.closeBtn.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: ${config.closeBtn.top};&lt;br /&gt;
            right: ${config.closeBtn.right};&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Основний контейнер для зображення та кнопок&lt;br /&gt;
        const imageAndControlsContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageAndControlsContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: inline-block;&lt;br /&gt;
            max-width: ${config.imageMaxWidth};&lt;br /&gt;
            max-height: ${config.imageMaxHeight};&lt;br /&gt;
            margin-bottom: 10px;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для зображення&lt;br /&gt;
        const imageContainer = document.createElement(&#039;div&#039;);&lt;br /&gt;
        imageContainer.style.cssText = `&lt;br /&gt;
            position: relative;&lt;br /&gt;
            display: block;&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        const img = document.createElement(&#039;img&#039;);&lt;br /&gt;
        img.style.cssText = `&lt;br /&gt;
            max-width: 100%;&lt;br /&gt;
            max-height: 100%;&lt;br /&gt;
            object-fit: contain;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
            transition: transform 0.3s ease;&lt;br /&gt;
            display: block;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки навігації (зліва/справа від зображення)&lt;br /&gt;
        const prevBtn = createNavButton(&#039;‹&#039;, &#039;Попереднє зображення (←)&#039;);&lt;br /&gt;
        const nextBtn = createNavButton(&#039;›&#039;, &#039;Наступне зображення (→)&#039;);&lt;br /&gt;
        prevBtn.style.cssText += &#039;left: 10px;&#039;;&lt;br /&gt;
        nextBtn.style.cssText += &#039;right: 10px;&#039;;&lt;br /&gt;
&lt;br /&gt;
        // Контейнер для кнопок масштабування - ПРИКРІПЛЕНИЙ ДО НИЗУ ЗОБРАЖЕННЯ&lt;br /&gt;
        const buttonPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        buttonPanel.className = &#039;zoom-controls-panel&#039;;&lt;br /&gt;
        buttonPanel.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            bottom: 10px;&lt;br /&gt;
            left: 50%;&lt;br /&gt;
            transform: translateX(-50%);&lt;br /&gt;
            display: flex;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            background: rgba(0,0,0,0.8);&lt;br /&gt;
            padding: 8px 12px;&lt;br /&gt;
            border-radius: 8px;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
            min-width: 200px;&lt;br /&gt;
            backdrop-filter: blur(5px);&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Кнопки масштабування&lt;br /&gt;
        const zoomOutBtn = createToolButton(&#039;−&#039;, &#039;Зменшити (Ctrl + -)&#039;);&lt;br /&gt;
        const resetZoomBtn = createToolButton(&#039;1:1&#039;, &#039;Скинути масштаб (Ctrl + 0)&#039;);&lt;br /&gt;
        const zoomInBtn = createToolButton(&#039;+&#039;, &#039;Збільшити (Ctrl + +)&#039;);&lt;br /&gt;
        const infoBtn = createToolButton(&#039;i&#039;, &#039;Інформація (I)&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Панель інформації&lt;br /&gt;
        const infoPanel = document.createElement(&#039;div&#039;);&lt;br /&gt;
        infoPanel.className = &#039;image-info-panel&#039;;&lt;br /&gt;
        infoPanel.style.cssText = `&lt;br /&gt;
            background: ${config.infoPanel.background};&lt;br /&gt;
            color: ${config.infoPanel.color};&lt;br /&gt;
            padding: ${config.infoPanel.padding};&lt;br /&gt;
            border-radius: ${config.infoPanel.borderRadius};&lt;br /&gt;
            margin-top: 10px;&lt;br /&gt;
            max-width: ${config.infoPanel.maxWidth};&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-size: ${config.infoPanel.fontSize};&lt;br /&gt;
            display: none;&lt;br /&gt;
        `;&lt;br /&gt;
&lt;br /&gt;
        // Функція для оновлення позиції кнопок при зміні розміру зображення&lt;br /&gt;
        function updateButtonPanelPosition() {&lt;br /&gt;
            if (!img.parentElement) return;&lt;br /&gt;
            &lt;br /&gt;
            const imgRect = img.getBoundingClientRect();&lt;br /&gt;
            const containerRect = imageAndControlsContainer.getBoundingClientRect();&lt;br /&gt;
            &lt;br /&gt;
            // Позиціонуємо кнопки відносно видимого зображення&lt;br /&gt;
            if (imgRect.height &amp;gt; 0) {&lt;br /&gt;
                buttonPanel.style.bottom = &#039;10px&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Спостерігач за змінами розміру зображення&lt;br /&gt;
        const resizeObserver = new ResizeObserver(() =&amp;gt; {&lt;br /&gt;
            updateButtonPanelPosition();&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Збірка інтерфейсу&lt;br /&gt;
        imageContainer.appendChild(img);&lt;br /&gt;
        imageContainer.appendChild(prevBtn);&lt;br /&gt;
        imageContainer.appendChild(nextBtn);&lt;br /&gt;
        imageContainer.appendChild(buttonPanel);&lt;br /&gt;
        &lt;br /&gt;
        imageAndControlsContainer.appendChild(imageContainer);&lt;br /&gt;
        &lt;br /&gt;
        buttonPanel.appendChild(zoomOutBtn);&lt;br /&gt;
        buttonPanel.appendChild(resetZoomBtn);&lt;br /&gt;
        buttonPanel.appendChild(zoomInBtn);&lt;br /&gt;
        buttonPanel.appendChild(infoBtn);&lt;br /&gt;
        &lt;br /&gt;
        mainContainer.appendChild(closeBtn);&lt;br /&gt;
        mainContainer.appendChild(imageAndControlsContainer);&lt;br /&gt;
        mainContainer.appendChild(infoPanel);&lt;br /&gt;
        &lt;br /&gt;
        overlay.appendChild(mainContainer);&lt;br /&gt;
        document.body.appendChild(overlay);&lt;br /&gt;
&lt;br /&gt;
        // Спостерігаємо за змінами розміру зображення&lt;br /&gt;
        resizeObserver.observe(img);&lt;br /&gt;
&lt;br /&gt;
        // Функції масштабування&lt;br /&gt;
        function zoomImage(scale) {&lt;br /&gt;
            currentScale = Math.max(minScale, Math.min(maxScale, scale));&lt;br /&gt;
            img.style.transform = `scale(${currentScale})`;&lt;br /&gt;
            updateZoomButtons();&lt;br /&gt;
            // Оновлюємо позицію кнопок після масштабування&lt;br /&gt;
            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function updateZoomButtons() {&lt;br /&gt;
            zoomInBtn.disabled = currentScale &amp;gt;= maxScale;&lt;br /&gt;
            zoomOutBtn.disabled = currentScale &amp;lt;= minScale;&lt;br /&gt;
            &lt;br /&gt;
            zoomInBtn.style.opacity = zoomInBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
            zoomOutBtn.style.opacity = zoomOutBtn.disabled ? &#039;0.5&#039; : &#039;1&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Обробники подій&lt;br /&gt;
        function setupEventListeners() {&lt;br /&gt;
            // Закриття&lt;br /&gt;
            const closeOverlay = () =&amp;gt; {&lt;br /&gt;
                resizeObserver.disconnect();&lt;br /&gt;
                overlay.style.opacity = &#039;0&#039;;&lt;br /&gt;
                setTimeout(() =&amp;gt; {&lt;br /&gt;
                    overlay.style.display = &#039;none&#039;;&lt;br /&gt;
                    document.body.style.overflow = &#039;auto&#039;;&lt;br /&gt;
                    currentOverlay = null;&lt;br /&gt;
                    imagesInGallery = [];&lt;br /&gt;
                    currentScale = 1;&lt;br /&gt;
                }, 300);&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            closeBtn.addEventListener(&#039;click&#039;, closeOverlay);&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                if (e.target === overlay) closeOverlay();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Навігація&lt;br /&gt;
            prevBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(-1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            nextBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                navigateImages(1);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Масштабування&lt;br /&gt;
            zoomInBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale + scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            zoomOutBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                zoomImage(currentScale - scaleStep);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            resetZoomBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                currentScale = 1;&lt;br /&gt;
                img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                updateZoomButtons();&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Інформація&lt;br /&gt;
            infoBtn.addEventListener(&#039;click&#039;, (e) =&amp;gt; {&lt;br /&gt;
                e.stopPropagation();&lt;br /&gt;
                toggleInfoPanel();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Клавіатура&lt;br /&gt;
            const keyHandler = (e) =&amp;gt; {&lt;br /&gt;
                if (!currentOverlay) return;&lt;br /&gt;
                &lt;br /&gt;
                switch(e.key) {&lt;br /&gt;
                    case &#039;Escape&#039;:&lt;br /&gt;
                        closeOverlay();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowLeft&#039;:&lt;br /&gt;
                        navigateImages(-1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;ArrowRight&#039;:&lt;br /&gt;
                        navigateImages(1);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;i&#039;:&lt;br /&gt;
                    case &#039;І&#039;:&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        toggleInfoPanel();&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;+&#039;:&lt;br /&gt;
                    case &#039;=&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale + scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;-&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            zoomImage(currentScale - scaleStep);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &#039;0&#039;:&lt;br /&gt;
                        if (e.ctrlKey) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            currentScale = 1;&lt;br /&gt;
                            img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                            updateZoomButtons();&lt;br /&gt;
                            setTimeout(updateButtonPanelPosition, 50);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                }&lt;br /&gt;
            };&lt;br /&gt;
&lt;br /&gt;
            document.addEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
&lt;br /&gt;
            // Видаляємо обробник при закритті&lt;br /&gt;
            overlay.addEventListener(&#039;click&#039;, function handler() {&lt;br /&gt;
                if (overlay.style.display === &#039;none&#039;) {&lt;br /&gt;
                    document.removeEventListener(&#039;keydown&#039;, keyHandler);&lt;br /&gt;
                    overlay.removeEventListener(&#039;click&#039;, handler);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Hover ефекти&lt;br /&gt;
            [closeBtn, prevBtn, nextBtn, zoomInBtn, zoomOutBtn, resetZoomBtn, infoBtn].forEach(btn =&amp;gt; {&lt;br /&gt;
                btn.addEventListener(&#039;mouseenter&#039;, () =&amp;gt; {&lt;br /&gt;
                    if (!btn.disabled) {&lt;br /&gt;
                        btn.style.background = &#039;rgba(0,0,0,0.9)&#039;;&lt;br /&gt;
                        btn.style.transform = &#039;scale(1.1)&#039;;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
                btn.addEventListener(&#039;mouseleave&#039;, () =&amp;gt; {&lt;br /&gt;
                    btn.style.background = config.buttons.background;&lt;br /&gt;
                    btn.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Оновлюємо позицію при завантаженні зображення&lt;br /&gt;
            img.addEventListener(&#039;load&#039;, () =&amp;gt; {&lt;br /&gt;
                setTimeout(updateButtonPanelPosition, 100);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        setupEventListeners();&lt;br /&gt;
        updateZoomButtons();&lt;br /&gt;
&lt;br /&gt;
        return { &lt;br /&gt;
            overlay, &lt;br /&gt;
            img, &lt;br /&gt;
            infoPanel, &lt;br /&gt;
            prevBtn, &lt;br /&gt;
            nextBtn,&lt;br /&gt;
            zoomInBtn,&lt;br /&gt;
            zoomOutBtn,&lt;br /&gt;
            resetZoomBtn,&lt;br /&gt;
            infoBtn,&lt;br /&gt;
            buttonPanel,&lt;br /&gt;
            updateZoomButtons,&lt;br /&gt;
            updateButtonPanelPosition&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки навігації&lt;br /&gt;
    function createNavButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            position: absolute;&lt;br /&gt;
            top: 50%;&lt;br /&gt;
            transform: translateY(-50%);&lt;br /&gt;
            width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: 50%;&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: none;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            z-index: 10001;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Створення кнопки інструменту&lt;br /&gt;
    function createToolButton(text, title) {&lt;br /&gt;
        const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
        btn.innerHTML = text;&lt;br /&gt;
        btn.title = title;&lt;br /&gt;
        btn.style.cssText = `&lt;br /&gt;
            min-width: ${config.buttons.size};&lt;br /&gt;
            height: ${config.buttons.size};&lt;br /&gt;
            background: ${config.buttons.background};&lt;br /&gt;
            color: ${config.buttons.color};&lt;br /&gt;
            border: none;&lt;br /&gt;
            border-radius: ${config.buttons.borderRadius};&lt;br /&gt;
            font-size: ${config.buttons.fontSize};&lt;br /&gt;
            cursor: pointer;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            align-items: center;&lt;br /&gt;
            justify-content: center;&lt;br /&gt;
            transition: all 0.2s ease;&lt;br /&gt;
            padding: 0 10px;&lt;br /&gt;
        `;&lt;br /&gt;
        return btn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Навігація по зображенням&lt;br /&gt;
    function navigateImages(direction) {&lt;br /&gt;
        if (imagesInGallery.length &amp;lt;= 1) return;&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex += direction;&lt;br /&gt;
        &lt;br /&gt;
        if (currentImageIndex &amp;lt; 0) {&lt;br /&gt;
            currentImageIndex = imagesInGallery.length - 1;&lt;br /&gt;
        } else if (currentImageIndex &amp;gt;= imagesInGallery.length) {&lt;br /&gt;
            currentImageIndex = 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ інформації&lt;br /&gt;
    function toggleInfoPanel() {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        const infoPanel = currentOverlay.infoPanel;&lt;br /&gt;
        infoPanel.style.display = infoPanel.style.display === &#039;none&#039; ? &#039;block&#039; : &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Збір всіх зображень на сторінці для галереї&lt;br /&gt;
    function collectAllImages(clickedImage) {&lt;br /&gt;
        const images = Array.from(document.querySelectorAll(&#039;img&#039;))&lt;br /&gt;
            .filter(img =&amp;gt; shouldOpenInOverlay(img) &amp;amp;&amp;amp; !img.closest(&#039;.custom-media-viewer&#039;))&lt;br /&gt;
            .map(img =&amp;gt; ({&lt;br /&gt;
                src: img.src,&lt;br /&gt;
                alt: img.alt || &#039;Зображення&#039;,&lt;br /&gt;
                title: img.title || &#039;&#039;,&lt;br /&gt;
                width: img.naturalWidth,&lt;br /&gt;
                height: img.naturalHeight&lt;br /&gt;
            }));&lt;br /&gt;
        &lt;br /&gt;
        currentImageIndex = images.findIndex(img =&amp;gt; img.src === clickedImage.src);&lt;br /&gt;
        return images;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Перевірка, чи повинна картинка відкриватися в оверлеї&lt;br /&gt;
    function shouldOpenInOverlay(element) {&lt;br /&gt;
        if (config.excludeSelectors.some(selector =&amp;gt; &lt;br /&gt;
            element.matches(selector) || element.closest(selector))) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.width &amp;lt; 50 || element.height &amp;lt; 50) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (element.closest(&#039;.gallery, .thumb, .mw-gallery&#039;)) {&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ оверлею&lt;br /&gt;
    function showMediaViewerOverlay(imageElement) {&lt;br /&gt;
        if (imageElement.closest(&#039;a&#039;)) {&lt;br /&gt;
            const link = imageElement.closest(&#039;a&#039;);&lt;br /&gt;
            if (link.href &amp;amp;&amp;amp; link.href.includes(&#039;/wiki/File:&#039;)) {&lt;br /&gt;
                link.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
                    e.preventDefault();&lt;br /&gt;
                    e.stopImmediatePropagation();&lt;br /&gt;
                }, true);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (!currentOverlay) {&lt;br /&gt;
            currentOverlay = createMediaViewerStyleOverlay();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        imagesInGallery = collectAllImages(imageElement);&lt;br /&gt;
        &lt;br /&gt;
        if (imagesInGallery.length === 0) return;&lt;br /&gt;
&lt;br /&gt;
        showImage(imagesInGallery[currentImageIndex]);&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.overlay.style.display = &#039;flex&#039;;&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            currentOverlay.overlay.style.opacity = &#039;1&#039;;&lt;br /&gt;
        }, 10);&lt;br /&gt;
        &lt;br /&gt;
        document.body.style.overflow = &#039;hidden&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.prevBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        currentOverlay.nextBtn.style.display = imagesInGallery.length &amp;gt; 1 ? &#039;flex&#039; : &#039;none&#039;;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після показу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
            }&lt;br /&gt;
        }, 200);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Показ конкретного зображення&lt;br /&gt;
    function showImage(imageData) {&lt;br /&gt;
        if (!currentOverlay) return;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.img.src = imageData.src;&lt;br /&gt;
        currentOverlay.img.alt = imageData.alt;&lt;br /&gt;
        &lt;br /&gt;
        currentOverlay.infoPanel.innerHTML = `&lt;br /&gt;
            &amp;lt;div&amp;gt;&amp;lt;strong&amp;gt;${imageData.alt}&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div&amp;gt;Розмір: ${imageData.width} × ${imageData.height}px&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div style=&amp;quot;margin-top: 10px; opacity: 0.7;&amp;quot;&amp;gt;&lt;br /&gt;
                ← → для навігації • I для інформації • Ctrl + +-/0 для масштабу • Esc для закриття&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        `;&lt;br /&gt;
        &lt;br /&gt;
        currentScale = 1;&lt;br /&gt;
        currentOverlay.img.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        if (currentOverlay.updateZoomButtons) {&lt;br /&gt;
            currentOverlay.updateZoomButtons();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Оновлюємо позицію кнопок після завантаження нового зображення&lt;br /&gt;
        currentOverlay.img.onload = () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                if (currentOverlay &amp;amp;&amp;amp; currentOverlay.updateButtonPanelPosition) {&lt;br /&gt;
                    currentOverlay.updateButtonPanelPosition();&lt;br /&gt;
                }&lt;br /&gt;
            }, 100);&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Обробник кліків&lt;br /&gt;
    document.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        const target = e.target;&lt;br /&gt;
&lt;br /&gt;
        if (target.closest(&#039;.custom-media-viewer&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;IMG&#039; &amp;amp;&amp;amp; shouldOpenInOverlay(target)) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            showMediaViewerOverlay(target);&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (target.tagName === &#039;A&#039; &amp;amp;&amp;amp; target.href &amp;amp;&amp;amp; &lt;br /&gt;
            (target.href.match(/\/wiki\/File:|\.(jpg|jpeg|png|gif|webp)(\?|$)/i))) {&lt;br /&gt;
            const img = target.querySelector(&#039;img&#039;);&lt;br /&gt;
            if (img &amp;amp;&amp;amp; shouldOpenInOverlay(img)) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
                showMediaViewerOverlay(img);&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }, true);&lt;br /&gt;
&lt;br /&gt;
    // Повністю відключаємо MediaViewer при завантаженні&lt;br /&gt;
    document.addEventListener(&#039;DOMContentLoaded&#039;, disableMediaViewerCompletely);&lt;br /&gt;
    setTimeout(disableMediaViewerCompletely, 100);&lt;br /&gt;
&lt;br /&gt;
    // Стилі&lt;br /&gt;
    const style = document.createElement(&#039;style&#039;);&lt;br /&gt;
    style.textContent = `&lt;br /&gt;
        .custom-media-viewer * {&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:hover:not(:disabled) {&lt;br /&gt;
            transform: scale(1.1) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.9) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer button:disabled {&lt;br /&gt;
            cursor: not-allowed !important;&lt;br /&gt;
            opacity: 0.5 !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .custom-media-viewer img {&lt;br /&gt;
            transition: transform 0.3s ease !important;&lt;br /&gt;
            cursor: default !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Панель кнопок масштабування - завжди внизу зображення */&lt;br /&gt;
        .zoom-controls-panel {&lt;br /&gt;
            position: absolute !important;&lt;br /&gt;
            bottom: 10px !important;&lt;br /&gt;
            left: 50% !important;&lt;br /&gt;
            transform: translateX(-50%) !important;&lt;br /&gt;
            background: rgba(0,0,0,0.8) !important;&lt;br /&gt;
            padding: 8px 12px !important;&lt;br /&gt;
            border-radius: 8px !important;&lt;br /&gt;
            z-index: 10001 !important;&lt;br /&gt;
            min-width: 200px !important;&lt;br /&gt;
            backdrop-filter: blur(5px) !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Контейнер зображення */&lt;br /&gt;
        .custom-media-viewer .image-container {&lt;br /&gt;
            position: relative !important;&lt;br /&gt;
            display: inline-block !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* Повністю ховаємо стандартний MediaViewer */&lt;br /&gt;
        .mw-mmv-overlay,&lt;br /&gt;
        .mediaViewerOverlay {&lt;br /&gt;
            display: none !important;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 768px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 35px !important;&lt;br /&gt;
                height: 35px !important;&lt;br /&gt;
                font-size: 16px !important;&lt;br /&gt;
                padding: 0 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .image-info-panel {&lt;br /&gt;
                font-size: 12px !important;&lt;br /&gt;
                padding: 10px !important;&lt;br /&gt;
                margin-top: 10px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 180px !important;&lt;br /&gt;
                padding: 6px 10px !important;&lt;br /&gt;
                bottom: 8px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        @media (max-width: 480px) {&lt;br /&gt;
            .custom-media-viewer button {&lt;br /&gt;
                min-width: 30px !important;&lt;br /&gt;
                height: 30px !important;&lt;br /&gt;
                font-size: 14px !important;&lt;br /&gt;
                padding: 0 6px !important;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            .zoom-controls-panel {&lt;br /&gt;
                min-width: 160px !important;&lt;br /&gt;
                padding: 5px 8px !important;&lt;br /&gt;
                bottom: 5px !important;&lt;br /&gt;
                gap: 5px !important;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    `;&lt;br /&gt;
    document.head.appendChild(style);&lt;br /&gt;
&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА ВИПАДКОВА СТОРІНКА (оригінальний дизайн, перенесена вліво)&lt;br /&gt;
// =========================&lt;br /&gt;
function createRandomButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Перевіряємо чи це мобільна версія&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;float-random-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;🎲 Випадкова cторінка&#039;;&lt;br /&gt;
    btn.title = &#039;Випадкова сторінка&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 70px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        padding: 12px 18px;&lt;br /&gt;
        border-radius: 25px;&lt;br /&gt;
        font-size: 16px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        gap: 8px;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        white-space: nowrap;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Оригінальний обробник кліку&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        &lt;br /&gt;
        // Додаємо індикатор завантаження&lt;br /&gt;
        btn.innerHTML = &#039;⏳ Завантаження...&#039;;&lt;br /&gt;
        btn.style.opacity = &#039;0.7&#039;;&lt;br /&gt;
        btn.disabled = true;&lt;br /&gt;
        &lt;br /&gt;
        // Використовуємо window.location.replace для чистого переходу&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            window.location.replace(&#039;/w/index.php/Спеціальна:Випадкова_сторінка&#039;);&lt;br /&gt;
        }, 100);&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        if (!this.disabled) {&lt;br /&gt;
            this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
            this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// КНОПКА &amp;quot;ЯК ЦЕ ПРАЦЮЄ?&amp;quot; (для всіх тем)&lt;br /&gt;
// =========================&lt;br /&gt;
function createHowItWorksButton() {&lt;br /&gt;
    // Перевіряємо чи кнопка вже існує&lt;br /&gt;
    if (document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    const btn = document.createElement(&#039;button&#039;);&lt;br /&gt;
    btn.id = &#039;how-it-works-btn&#039;;&lt;br /&gt;
    btn.innerHTML = &#039;?&#039;;&lt;br /&gt;
    btn.title = &#039;Як це працює?&#039;;&lt;br /&gt;
    btn.style.cssText = `&lt;br /&gt;
        position: fixed;&lt;br /&gt;
        bottom: 140px;&lt;br /&gt;
        left: 15px;&lt;br /&gt;
        z-index: 9998;&lt;br /&gt;
        background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);&lt;br /&gt;
        color: white;&lt;br /&gt;
        border: none;&lt;br /&gt;
        width: 60px;&lt;br /&gt;
        height: 60px;&lt;br /&gt;
        border-radius: 50%;&lt;br /&gt;
        font-size: 24px;&lt;br /&gt;
        font-weight: bold;&lt;br /&gt;
        cursor: pointer;&lt;br /&gt;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);&lt;br /&gt;
        display: flex;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
        transition: all 0.3s ease;&lt;br /&gt;
        line-height: 1;&lt;br /&gt;
    `;&lt;br /&gt;
    &lt;br /&gt;
    // Обробник для кнопки &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    btn.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
        e.stopPropagation();&lt;br /&gt;
        window.location.href = &#039;/w/FAQ&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseenter&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1.05)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 6px 20px rgba(0,0,0,0.4)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    btn.addEventListener(&#039;mouseleave&#039;, function() {&lt;br /&gt;
        this.style.transform = &#039;scale(1)&#039;;&lt;br /&gt;
        this.style.boxShadow = &#039;0 4px 15px rgba(0,0,0,0.3)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    document.body.appendChild(btn);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// АДАПТАЦІЯ ДО ЕКРАННОЇ КЛАВІАТУРИ&lt;br /&gt;
// =========================&lt;br /&gt;
function adjustForKeyboard() {&lt;br /&gt;
    const keyboardOffset = 80;&lt;br /&gt;
    &lt;br /&gt;
    function updateButtonPositions() {&lt;br /&gt;
        const randomBtn = document.getElementById(&#039;float-random-btn&#039;);&lt;br /&gt;
        const howBtn = document.getElementById(&#039;how-it-works-btn&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if (randomBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            randomBtn.style.bottom = `${70 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        if (howBtn) {&lt;br /&gt;
            const currentKeyboardOffset = window.innerHeight &amp;lt; 500 ? 120 : keyboardOffset;&lt;br /&gt;
            howBtn.style.bottom = `${140 + currentKeyboardOffset}px`;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    window.addEventListener(&#039;resize&#039;, updateButtonPositions);&lt;br /&gt;
    setTimeout(updateButtonPositions, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ПРИХОВАННЯ ЕЛЕМЕНТІВ У МОБІЛЬНІЙ ВЕРСІЇ&lt;br /&gt;
// =========================&lt;br /&gt;
function hideMobileElements() {&lt;br /&gt;
    if (!document.body.classList.contains(&#039;skin-minerva&#039;)) return;&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        const elements = document.querySelectorAll(&#039;*&#039;);&lt;br /&gt;
        elements.forEach(element =&amp;gt; {&lt;br /&gt;
            if (element.textContent &amp;amp;&amp;amp; element.textContent.includes(&#039;Відмова&#039;)) {&lt;br /&gt;
                element.style.display = &#039;none&#039;;&lt;br /&gt;
                const parentLi = element.closest(&#039;li&#039;);&lt;br /&gt;
                if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        &lt;br /&gt;
        const links = document.querySelectorAll(&#039;a[href*=&amp;quot;%D0%92%D1%96%D0%B4%D0%BC%D0%BE%D0%B2%D0%B0&amp;quot;]&#039;);&lt;br /&gt;
        links.forEach(link =&amp;gt; {&lt;br /&gt;
            link.style.display = &#039;none&#039;;&lt;br /&gt;
            const parentLi = link.closest(&#039;li&#039;);&lt;br /&gt;
            if (parentLi) parentLi.style.display = &#039;none&#039;;&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// =========================&lt;br /&gt;
// ЗАГАЛЬНИЙ ІНІЦІАЛІЗАТОР&lt;br /&gt;
// =========================&lt;br /&gt;
document.addEventListener(&#039;DOMContentLoaded&#039;, function() {&lt;br /&gt;
    // Для всіх тем - кнопка &amp;quot;Як це працює?&amp;quot;&lt;br /&gt;
    createHowItWorksButton();&lt;br /&gt;
    &lt;br /&gt;
    // Для мобільної версії&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
        hideMobileElements();&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
    &lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
            createHowItWorksButton();&lt;br /&gt;
        }&lt;br /&gt;
        if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
            createRandomButton();&lt;br /&gt;
        }&lt;br /&gt;
        adjustForKeyboard();&lt;br /&gt;
    }, 2000);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
window.addEventListener(&#039;load&#039;, function() {&lt;br /&gt;
    setTimeout(() =&amp;gt; {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
        if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
            createRandomButton();&lt;br /&gt;
        }&lt;br /&gt;
        adjustForKeyboard();&lt;br /&gt;
    }, 500);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
setTimeout(function() {&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        createHowItWorksButton();&lt;br /&gt;
    }&lt;br /&gt;
    if (document.body.classList.contains(&#039;skin-minerva&#039;) &amp;amp;&amp;amp; !document.getElementById(&#039;float-random-btn&#039;)) {&lt;br /&gt;
        createRandomButton();&lt;br /&gt;
    }&lt;br /&gt;
    adjustForKeyboard();&lt;br /&gt;
}, 3000);&lt;br /&gt;
&lt;br /&gt;
// Відновлюємо кнопки після переходу&lt;br /&gt;
window.addEventListener(&#039;pageshow&#039;, function() {&lt;br /&gt;
    if (!document.getElementById(&#039;how-it-works-btn&#039;)) {&lt;br /&gt;
        setTimeout(() =&amp;gt; {&lt;br /&gt;
            createHowItWorksButton();&lt;br /&gt;
            if (document.body.classList.contains(&#039;skin-minerva&#039;)) {&lt;br /&gt;
                createRandomButton();&lt;br /&gt;
            }&lt;br /&gt;
            adjustForKeyboard();&lt;br /&gt;
        }, 500);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3591</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://darnytsa.hero.kyivcity.gov.ua/w/index.php?title=FAQ&amp;diff=3591"/>
		<updated>2025-10-15T19:23:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki: Створена сторінка: Як це Працює?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Як це Працює?&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>