|
Kedit for DOS | Описание | Информация | Текстовый редактор KEDIT для DOS.
Это клон редактора XEDIT - для DOS, от Mansfield Software.
Некогда он был не менее востребован, чем "Лексикон" на компьютерах класса ЕС18х или 8088 - 80286х.
Современные его версии для Windows здесь: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=4648
Почитать, как им пользоваться, можно в книгах:
Г.И.Коваль и др.,1990,"Программирование в системе виртуальных машин ЕС ЭВМ". тут: http://old-dos.ru/index.php?page=lib&do=show&id=686
Можно почитать фирменное IBM'овское руководство по XEDIT'у: XEDIT User's Guide [ENG]: http://old-dos.ru/index.php?page=lib&do=show&id=509
Также полезно полистать справку от WIN32/GUI версии KEDIT'а: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=4648 . | Раздел: Редакторы текста
version 3.52 (случайный скриншот) Скриншоты Операционная система: DOS Требования: - Автор: Mansfield Software Group,Inc [WWW] Издатель: - Обсуждение на форуме
Добавил: SR | Доступные файлы - сортировка по имени и версии, времени добавления Файлов: 8. Файл | Размер | Выпуск | Версия | Язык | Качество | Загрузил | | 117.9 Кб | 1988 | 4.00D1 | Английский | | SR
| *Оригинальная* *непатченная* на предмет Y2K версия. Полнофункциональна, но с Y2Kerror и без rexx.exe
| | 396.5 Кб | 1988 | 4.00D1 (Full.y2k-fixed) | Английский | | Nika 2013.04.23 | Исправленная рабочая версия. Y2k error fixed. REXX.EXE included. | | 391.8 Кб | 1989 | 4.00D2 (Full) | Английский | | Nika 2015.06.30 | Проапдейтченная до версии D2 (Service level 2, 1989) полная 4.00D1. Новый исполняемый файл KEDIT.EXE и новый KEDIT.HLP (добавилась одна новая команда). Патчить ничего не потребовалось - ошибки 2000 года в новой версии уже не было. | | 86.3 Кб | 1985 | 3.52 | Английский | | Nika 2015.06.30 | Неполная проапдейтченная до v.3.52 версия Делался на Паскале, в отличие от версии 4, которая уже на Си. Ограничение длины строки - 255 символов.
Конечно, до версии 4 этой версии далеко. Только начиная с версии 4 эта программа набрала силу и стала очень удобной. | | 632.6 Кб | 1992 | 5.00D1 (DOS) | Английский | | sv503 2015.11.20 | Full v.5.00D1 (v.5.0/SL1). Working archive. | | 209.9 Кб | 1993 | 5.00D2 (Update DOS) | Английский | | sv503 2015.11.20 | Only update: ver. 5.00D1 -> 5.00D2 (DOS) | | 230.8 Кб | 1997 | 5.00D4 (Update DOS) | Английский | | sv503 2015.11.20 | Only update: ver. 5.00D1(D2) -> 5.00D4 K5SL4DOS. Апдейт для Kedit 5. This ZIP file contains the files needed to update the DOS version of KEDIT 5.0 Service Level 1, 2, or 3 (or the Beta version of Service Level 4) to KEDIT 5.0 Service Level 4.
| | 1.4 Мб | 1997 | 5.00D4 (_DOS&OS2_) | Английский | | Nika 2017.12.18 | Kedit 5.0 SL4 for DOS & OS/2. Official. Последняя версия для DOS.
|
|
Комментарии | #1 Автор: Nika (2013.04.03 01:09, изменений: 8, 2017.12.18 01:05) | 0) Изначально KEDIT.EXE 4.00D1 имел защиту. Следы её снятия видны. 1) В KEDIT.EXE 4.00D1 - Y2Kerror. Это увидите после команды DIR в нём - по диким датам файлов, созданных после 2000 года. (Я это увидел ещё в 2000 году:). 2) В действительно ПОЛНОЙ версии есть REXX с утилитами. Но можно и без него. 3) ПОЛНУЮ ИСПРАВЛЕННУЮ версию KEDIT v.4.0 выложу позже, когда будет настроение. (Добавлено: выложена). 4) Этот редактор не так прост, как кажется - в нём встроенный *интерпретатор* языка KEXX. 5) Этот редактор не так запутан, каким кажется - АБСОЛЮТНО всё в нём настраивается. 6) Если он и глючил у меня - то только по причине корявости моих же KEXX-макросов. 7) К моему удивлению, этот проект (KEDIT) жив и сейчас. Называется KEDITWIN32 v.1.6.1. Но возиться с ним уже не хочется... Демо версия тут-> http://old-dos.ru/index.php?page=files&mode=files&do=show&id=4648 8) Из этой же серии очень неплох редактор THEditor. Но он появился значительно позднее. Где-то тут рядом лежит его старая коммерческая версия 1995 года(+патч): http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3080
|
#2 Автор: SergeCpp (2013.04.22 22:47) | Да, редакторы, написанные "сами на себе" -- находка для программистов.
Я с kedit не работал (кажется?), про rexx немного читал (rexx, кажется, в исходниках /и бинарниках/ поставлялся с NT 4). Хотя и не так уж немного читал. Я в те годы выбирал скрипт-язык для того, чтобы на нём делать нужные разные вещи. На том диске с NT (официальный дистрибутивный диск) было несколько скрипт-языков, я выбрал KiXtart -- очень хороший и пригодился много где. Понравился так, что я сделал подсветку в Multi-Edit 7.0 для него и даже нарисовал иконку для .kix-файлов и включил её в ICONS.DLL, что в архиве там: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=1328
Я немного отклонился. Что про kedit, думаю, что там тоже необходим значительный объём работ для "тонкой индивидуальной настройки". Я даже ужасаюсь предположить, каков объём такой настройки потребовался бы для Emacs...
Редакторы-шедевры, они такие -- требуют внимательности и обстоятельности (работать же в таких редакторах "с настройками по умолчанию") -- не уважать редактор (да, именно редактор, такие программы живут сами уже).
|
#3 Автор: SergeCpp (2013.04.22 22:48) | ...кстати, там наглядно видно, зачем нужны скриншоты (их там с 800). |
#4 Автор: Nika (2013.04.22 23:40) | :)))) Всё, что касается MultiEdit по приведенной ссылке - было скачано в одно из первых посещений old-DOS. Настоящий клад. Спасибо огромное.
Что касается настроек KEDIT - скажу, что впечатление от него мрачное, если не иметь книжки Г.И.Коваль и др."". Потому, что KEDIT "сам в себе", как компилятор языка С.
К тому же в моём архиве - всё настроено под меня и абсолютно не соответствует тому, что написано в KEDIT.HLP.
Чтобы получить оригинальный внешний вид, нужно восстановить родной файл настроек PROFILE.KEX. Он там тоже заархивирован. Или разобраться с моими настройками в PROFILE.KEX, может,они не так уж и плохи.
Сравнение KEDIT с Emacs уместно - это было воплощение концепции Emacs для DOS тех лет.
А вот MultiEdit - это уже *две* ступеньки* вверх по сравнению с KEDIT. Но там макросы нужно компилировать, в KEDIT'e же напротив - макросы в виде текста. Поэтому некоторые вещи работают медленновато. Но это даже бывает симпатично.
Когда мне по-быстрому нужно было забацать KeyStroke макро, я, признаюсь, прибегал к MeL v.1.01i. Эти два редактора удовлетворяли (до недавнего 64-битного времени) всем моим потребностям.
Сейчас, крути-верти, приходится пользоваться Win32 THEdit 3.03b (в моей сборке) и MeW 8.00 (он тоже выложен тут рядом).
В заключение скажу, что с такого рода редакторами нужно ВОЗИТЬСЯ, иначе ничего не получится. |
#5 Автор: Nika (2013.04.23 00:55) | Перед выкладыванием сюда я выбил из него кучу (~30 штук) макросов .KEX, которые мало кому понятны и нужны, чтобы не засорять каталог программы. Всё нужное или уже доставшееся мне "в комплекте" там цело.
На сегодняшний день могу порекомендовать KEDIT в качестве сувенира и "головоломки". Впрочем, он ОЧЕНЬ даже функционален ,хотя и уступает в разы по "могучести" MultiEdit'у. Зато там есть пара-тройка возможностей, без которых мне не уютно в MultiEdit'e.
Добавлю ещё только, что функционирует ВСЁ, кроме REXX-BAT интерпретатора, который жёстко был завязан на MS-DOS 4. Но это мелочь. |
#6 Автор: SergeCpp (2013.04.23 01:07) | "Возиться" -- разумеется. Наверняка, вы представляете, сколько времени потребовали те изменения в ME, что там в модификации по ссылке. Для лёгкости и наглядности сравнения там и оригинал есть.
А какие именно пара-тройка возможностей есть в KEDIT, без которых вам не уютно в Multi-Edit'e? Ведь и макро вы можете написать в таком случае.
|
#7 Автор: Nika (2013.04.23 01:39) | Ну, навскидку - нажмите <Alt>+<Стрелка> (это начало блока текста) - дальше или удерживая <Alt> или нет - стрелкой установите конец блока (причём это может быть только одна колонка) . Теперь по <Shift>+<F7>/<F8> можно двигать весь текст правее выделенного блока влево-вправо. Это моя настройка на <Shift>+<F7/F8>.
Кстати, перезалил архив, так как забыл туда добавить утилитку WAIT.EXE собственного изготовления,которая нужна для пакетного запуска утилитки VID_MODE.COM моего же пера.
Кстати, WAIT.EXE можно вызывать и из CONFIG.SYS как "DEVICE=d:\path\wait.EXE [Press a key...]". Для этого она и была изготовлена.
А vid_mode.com там тоже не зря лежит - можно в батник для запуска KEDIT.EXE вставить вызов VID_MODE.COM XX - и KEDIT *корректно* будет работать в установленном режиме дисплея. (Это, кстати, вторая классная его осбенность).
В общем, это надо пробовать, что тут рассказывать.
Ещё туда добавлен своппер KEDIT.COM для вызова SHELL из редактора (например, для компиляци).
Так что этот редакторчик сейчас довольно-таки "заряженный". |
#8 Автор: Nika (2013.04.23 01:45) | Что до упомянутого ME7 - дааа. Изрезан вдоль и поперёк. Но, вроде, всё по делу. Проверял бегло, перед записью его на сидюк. |
#9 Автор: SergeCpp (2013.04.23 02:41) | Двигать весь текст правее выделенного блока влево-вправо -- ага, это indent/undent, только не относительно начала строки, а относительно правой границы квадратного блока. Интересная функция. Если бы мне такое было нужно, сделал бы, конечно. Конкретно -- в файле BLOCK.S есть два макро: INDBLK и UNDBLK, где как раз "зарезервирован" квадратный блок (эти команды сейчас с квадратным блоком не работают -- сразу возврат /там это видно вначале/). Идеальная заготовка -- место, куда вы можете вставить две небольшие процедуры с собственной логикой /двигать ли в блоке или слева от него или справа от него или как ещё/. |
#10 Автор: SergeCpp (2013.04.23 02:47) | Про режимы дисплея: http://forum.old-dos.ru/viewtopic.php?p=1575#p1575 |
#11 Автор: SergeCpp (2013.04.23 02:54) | Вызов dos из me, как и разнообразные настройки для компиляции и обработки ошибок (разумеется, с возможностью сделать всё по-своему) есть в me ещё в пятой версии (или раньше). |
#12 Автор: SergeCpp (2013.04.23 03:01) | А обработку DOS-программой нажатия Windows-кнопки закрытия консольного окна я нигде ещё не встречал: http://forum.old-dos.ru/viewtopic.php?p=1460#p1460 |
#13 Автор: SergeCpp (2013.04.23 03:05) | ...хотя в MSDN это прекрасно документировано: http://old-dos.ru/index.php?page=lib&do=show&id=16 |
#14 Автор: Nika (2013.04.23 08:00) | Да, поэтому я и говорю, что MultiEdit - это два шага вперёд по сравнению с KEDIT.
В США был ещё популярен одно время редактор Aurorа - там тоже встроенный интерпретируемый макроязык. Правда, когда я нашёл Auror'у, мне уже было не до возни с нею. Хотя там тоже есть интересные возможности. Но регистрационные заморочки там сильно мешают, а в версии 2.1 не получается зарегистрировать её по команде "xE" - вроде, срабатывает регистрация, но при следующем запуске всё по новой.
Я вообще-то не люблю программы, мудрящие со всякими рег.ключами и требующие ввода абракадабры. В ME лежит себе спокойно в .ini файле введённый рег.код и если его не трогать - всё спокойно.
Что касается MultiEdit для Windows - у меня вызывает недоверие софт, сделанный на Паскале. DOS-версии, похоже, делались на ассемблере, поэтому и результат убедительный. |
#15 Автор: SergeCpp (2013.04.23 12:02) | DOS-версии определённо написаны на Паскале, с ассемблерными вставками, разумеется. Посмотрите ME.IDB. И ещё где-то во встроенной справке есть часть копии экрана с каталогом судя по всему исходного кода ME. Там тоже видно это. |
#16 Автор: Nika (2013.04.23 16:40) | Примерно так я себе и представлял. MeW,похоже, - на чём-то типа Делфи - хотя трудно однозначно сказать, *маскируются* (стесняются?!!!). KEDIT же писан па Мicrosoft C. Всё-таки это *чувствуется*. Может, чуть-чуть тяжеловат, но более гибок (одна командная строка чего стОит). Я вообще считаю, что используемый язык (в том числе и язык программирования) настраивает мышление человека на собственный лад. Мне не нравится моё же умонастроение, когда я использую Паскаль. И наоборот - когда использую ассемблер или C (не"++"). |
#17 Автор: SergeCpp (2013.04.23 17:05) | Да никак они не маскируются. IDA по FLIRT однозначно всё определяет.
Командная строка мне в редакторе — опять же можно при желании добавить, даже не строка, а отдельное окно-консоль-shell, только уже не DOS, а редактора. То есть, вообще, расширение файла такое зарегистрировать в ME, чтобы строки можно было "выполнять" или по Enter или ещё как (тогда вообще их можно и сохранять и загружать в разные окна — это вообще фантастика и никакая командная строка или консоль не сравнится с этим). Мысль такая была у меня, но, вот как-то "на заднем плане". Желающие могут и воплотить эту мысль.
Хотя в ME уже есть такое и даже лучше — это файлы с расширением S. Какая бы гибкая система команд (в командной ли строке или в этом "командном окне" ни была, действительный язык программирования всё же лучше). Те же условия... В общем, это ясно, конечно. Мало-мальский специалист будет в этих командах тем же программированием заниматься, а тут это уже есть.
Некогда заинтересовался я словами из одинаковых букв. Был файл словаря на 16 мег (русское правописание в ME). Ну какой командной строкой тут справиться? А программка вышла проще простого. Ну это философия уже.
А про настрой от используемого языка — это спорно, хоть Страуструп и взял цитату в свою книгу, гипотеза Сепира-Уорфа — вещь дискуссионная. |
#18 Автор: SergeCpp (2013.04.23 17:12) | Вот ОЧЕНЬ большой минус в ME — это строка максимум в 2048 символов. Это очень часто "аукалось". В Win они не сделали (не захотели? не смогли?) сделать "строку свободной длины", а лишь увеличили до 16384.
Вообще, "уши Паскаля" видны и в строках с лидирующим словом длины и в представлении и работе с плавающей точкой. Это даже без Иды видно.
|
#19 Автор: Nika (2013.04.23 21:00) | "строку свободной длины" - полагаю, не смогли. Иначе бы вообще всё пришлось переделывать и вышел бы совсем другой редактор. Насчёт "маскировки" - имею в виду, что я не смог понять, какой компилятор использовался. Скорее всего у них переписана вся RTL - и копирайта, как в стандартных библиотеках, уже не увидать. Строка длиной 2000 - действительно больная тема. В KEDIT даже пришлось подбросить утилитку Line2000.exe как раз для расщепления длинных строк. При *фиксированной* длине строки какой бы большой эта длина ни была, её хватать не будет. За цитату - спасибо, всё никак не мог вспомнить, откуда это - иначе бы сослался. Удачная цитата, раз запомнилась.
Кстати, Line2000.exe занимается ещё и перекодировками. В KEDIT с её помощью перекодируются блоки текста (MACRO CODEPAGE.KEX).
Насчёт Паскаля - это я уже немнго отошёл, а было время, у меня на него прямо алергия была... Запускаю программу и только вижу,что делалось на TP - тут же и отказываюсь от её дальнейшего использования. Сам-то я с него и начинал...
Потому и MultiEdit у меня не прижился, к сожалению.
|
#20 Автор: SergeCpp (2013.04.23 21:06) | Да, они привязались к этим строкам с лидирующей длиной-словом, но, хотя бы если б вначале делали, могли бы хоть вполслова (для знаковости "+-") сделать длину, всё же 32к -- намного бы хватило.
...там на самом деле не так всё плохо с длинными строками, так как они автоматически разделяются при загрузке и не портятся; хотя есть нюансы мелкие.
Какой компилятор -- я этим вопросом не задавался, Ида много функций как Паскалевские системные отметила, и то дело -- облегчение в анализе дальнейшем.
Цитата удачная, да (удачность внешнего вида цитаты ничего не говорит о её верности).
Перекодировка в ME есть (при загрузке файла, а также во встроенном "Нортоне"), по крайней мере 1251<->866; есть и заготовка на дальнейшее (для юникода немного там сделано ещё). И для блоков есть: BlockCodePage в BLOCK.S.
|
#21 Автор: Nika (2013.04.23 21:36) | Была у меня одна идейка - сделать в MEL1.0i возможность работы в кодировке 1251. Собственно, я её и реализовал - см.: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3048 с применением клавиатурного драйвера: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3005
и... новый приступ алергии. Всё работает как положено (в cp1251!), но некоторые символы не печатаются. Почему? - не знаю. Ведь нет в ME никаких "служебных" символов, он работает с "чистым" текстом!
Пришлось довести до ума драйвер фонтов для использования его в KEDIT: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3279
- и пошло великолепно.
А в ME - всё дело в этих самых паскаль-строках. |
#22 Автор: SergeCpp (2013.04.23 21:45) | В ME есть служебный символ 0xFF. В Win-версии это стало проблемой. Да и в DOS иногда. |
#23 Автор: Nika (2013.04.23 23:16) | Именно так. 0xFF - это русская "я" в сp1251. Когда я попытался *грубо* решить эту проблему, MEL просто умер. Когда я попытался *хитро* решить эту проблему - решил, что ну его нафиг.
Ещё такой вопрос: ----------------- Если в ME ввести строку для поиска <This_is>,будут ли найдены строки <This__is>,<This________is>? (Тут символ "_" - это обычный пробел).
Я не смог добиться в ME такого поиска. А в KEDIT'e за это отвечает переменная "VARBlanks" = On/Off - будет ли учитываться количество пробелов при поиске, или нет. |
#24 Автор: SergeCpp (2013.04.23 23:32) | Ну, если говорить о 7.0, то там этот 0xFF — буквально везде: и в EXE и в макрофайлах и, подозреваю, в макрокомпиляторе (его на этот предмет я не исследовал). И это там концептуально, так как там НУЖЕН символ для использования при расширении табуляции. Даже если это убрать совсем (я уже не помню, можно ли /там режим expand tabs... в общем, я КРУПНО забываю уже... в исходники-то я могу посмотреть, но это долго.../) то нужно будет ВЕЗДЕ это корректировать, причём вручную. Понимаете, сколько тут можно накуролесить...
Да, это тип поиска (F5) "Слова полностью" (логика -- PHRASE.S). Или регулярные выражения.
Отступление. В версиях до 7 ведь макроязык был Паскале-подобный, так что тут тоже вам проблема была. Я, впрочем, хоть и Вирта ОЧЕНЬ уважаю, но на Паскале (чистом) написал лишь одну боле-менее программу, да и ту как лабораторную при обучении. Книжки Вирта, конечно, я читал несколько разных.
|
#25 Автор: Nika (2013.04.24 00:10) | Ну, да. Спасибо. Это оно самое. Все мои впечатления о ME накоплены в MEL v.1.0i, а там нет этой опции "Слова полностью" при поиске. Стыдно мне было задавать такой вопрос... Имея-то... 19(!) версий MeL/MeW. Стоило только запустить любую из них. Стыдно.
Что до 0xFF - вы совершенно правы."Везде" - именно такое и у меня сложилось впечатление. Собственно, символ 0xFF спокойно отображается в тексте как "я" (в "новом" MEW.EXE cp1251), только не получается вставить его в текст (с драйвером клавиатуры keys.com, 6 раскладок). Я встроил *было* в "новый" mew.exe обработчик int9 и из него насильно вставлял в текст этот 0xFF - что тут началось!... Бесполезная то была затея.
Всёже заступлюсь за TurboPascal справедливости ради: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=482#2699
В общем, всё не так мрачно, как может показаться на первый (и второй) взгляд.
А память - да. Имеет свойство "очищать кэш". |
#26 Автор: SergeCpp (2013.04.24 00:44) | В 7 версии уже есть обработчик int 9, я его немного модифицировал, чтобы всякие Alt+Control комбинации обрабатывал (там уже какие-то были, а этих -- не было). И добавил ещё к тому обработчику дополнительный: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=1342 ...вроде бы, как раз на месте одной из "терминальных" функций и разместил его. Детальнее можно в me.idb посмотреть -- я там это всё отмечал.
А для возможности обработки русских букв в меню редактора (маленьких-больших) пришлось изрядное "спагетти" устроить в exe, так как там на границе оверлейных модулей по нескольку байт только было свободных и пришлось там-сям по сравнению-другому помещать. В idb это тоже отмечено.
Ещё, помню, была хитро-хитроумная ошибка, проявляющаяся очень редко при специфических условиях и обнаруженная случайно. Исследование и отладка (кстати, Soft Ice тогда применял, так как с TRW не был ещё знаком) показали, что в одном месте разработчики "сэкономили" глобальный буфер для строки (их там три всего статических, не в стеке которые) и это им "аукнулось". Пришлось ещё одно полу-спагетти сооружать (место было достаточное рядом) и организовывать 2048-буфер уже на стеке вызова этой функции.
Ещё там было разное, долго можно... |
#27 Автор: SergeCpp (2013.04.24 00:49) | Против Паскаля я, конечно, не имею ничего. Так просто уж вышло, что не писал я на Виртовских языках (по Модуле книжку толстенную читал, помню).
Если б не поменяли в ME синтаксис с Паскаля на Си, писал бы и на скрипте-Паскале, попривыкнув. |
#28 Автор: SergeCpp (2013.04.24 00:52) | Символ FF, кстати, нормально обрабатывается (ME DOS), будучи не в конце строки. Концевые же -- удаляются (хотя есть и настройка -- не удалять пробельные символы справа).
|
#29 Автор: Nika (2015.11.20 12:25) | sv503, спасибо за версию 5.00. Искал её раньше - и безуспешно. |
#30 Автор: sv503 (2015.11.20 13:14) | Nika, не за что. :) Надеюсь, не последний раз нахожу что-то редкое. :) |
#31 Автор: Nika (2017.12.25 14:03, изменений: 4, 2018.01.03 07:39) | Примечательно, что только в 2017-м году на официальном сайте появился, наконец, дистрибутив версии 5.00D4(DOS&OS2), о которой ранее только упоминалось. Ну, а более-менее полная линейка тех версий для DOS представлена здесь, на этой странице. Я не вижу причин, почему это не было сделано на официальном сайте. Может, они растеряли все архивы, а может, не хотят потока вопросов и претензий от пользователей этих архивных версий, - кто знает.. Так, действительно, чем-то проще - прекратил раздачу ретро-версий и закрыл все вопросы. - Как это сделали и на официальном сайте популярного редактора Multi-Edit, откуда теперь уже толком и скачать-то нечего, одни картинки. |
#32 Автор: SergeCpp (2018.02.03 05:30) | KEDIT (from the Mansfield Group) and Multi-Edit (from what was American Cybernetics) have websites that look more like product graveyards.
https://sdtimes.com/ides/integration-watch-the-slow-death-of-text-editors/
|
#33 Автор: Nika (2018.02.03 05:53, изменений: 1, 2018.02.03 05:53) | Ну, что тот, что другой на кладбище отправлять явно рано: имеются неплохие их версии для WIN32. Обе есть здесь на сайте. |
| |
|