Author Topic: Протокол VKontakte  (Read 877214 times)

0 Members and 8 Guests are viewing this topic.

Online Boris_M

Re: Протокол VKontakte
« Reply #1650 on: 05 04 2024, 07:39:27 »
возможность включить для ВК+NewStory отображение картинок в логе сообщений.
в пути к загружаемым файлам использую переменную %nick%, она не отрабатывается, в результате получем путь в никуда file://D:/Miranda/Files/%nick%/6DonW1zPzUY.jpg
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1651 on: 05 04 2024, 08:11:28 »
Boris_M, ага, есть такое - не обрабатываются переменные. Позже доведу до ума, пока если есть желание тестировать, указывайте существующую папку без подстановок.
 
The following users thanked this post: Boris_M

Offline dartraiden

Re: Протокол VKontakte
« Reply #1652 on: 05 04 2024, 13:03:09 »
IE в NewStory не используется, там свой движок HTML.
В крашлогах мы собираем всю инфу, включая версию IE: вдруг у юзера как раз IEView стоит.

Quote
Когда приходит сообщение от некоторых контактов то отсутствует окно ввода текста.
Логично, если контакт не поддерживает отправку ему сообщений (например, если это канал в Telegram, где подписчики могут лишь читать), то незачем и тратить пространство на экране на показ бесполезного поля ввода.

Quote
баг в логах с нечитаемыми символами
Да, есть такое, даты не выводятся корректно под XP.
« Last Edit: 05 04 2024, 13:08:37 by dartraiden »
 

Offline MIR

Re: Протокол VKontakte
« Reply #1653 on: 05 04 2024, 18:28:27 »
Это не баг, это действительно так задумано. Если сервер сказал, что отправлять контакту нельзя - значит нельзя...
Зачем кейт отправляет сообщения туда, куда сервер говорит, что они не дойдут - это вопрос к автору кейта, а не ко мне, я на него точно ориентироваться не буду.

Да в том то и суть что это именно баг миранды, потомучто Кейт отправляет этимже контактам сообщения нормально и они доходят.
Могу лишь предположить что миранда запрашивает настройки приватности собеседника, и если у собеседника указано что сообщения не от друзей не принимаются то миранда отключяет окно ввода текста. Однако ВК устроен так что если тебе подобный собеседник первым отправляет сообщение то ты можеш продолжать с ним переписку несмотря на его настройки приватности.


Логично, если контакт не поддерживает отправку ему сообщений (например, если это канал в Telegram, где подписчики могут лишь читать), то незачем и тратить пространство на экране на показ бесполезного поля ввода.

Я не об этом а только об окнах чатов с собеседниками, вопервых чисто визуально неудобно когда окна чатов имеют разный вид, во вторых по причине выше - изза не доработки плагина, изза возможных изменений API ВК или каких либо багов с самим ВК.
Если так хочится скрывать окно ввода текста основываясь на данных с сервера, то можно хотябы добавить кнопку показать/скрыть окно ввода и отправки сообщения в TabSRMM, а там уже если после отправки сообщения приходит ошибка с сервера выводить эту ошибку как было раньше.


Кстати ещё с групповыми чатами проблема причём давняя, когда выходиш из чата или тебя кикают, то нет возможности открыть окно этого чата чтобы просмотреть в нём историю. Про тыкнуть правой кнопкой мыши на контакт -> История вкурсе, но имеется в виду отображение истории в окне чата.


На сколько я знаю, IE - часть ОС, и обновлять его всегда рекомендовалось до последней версии, даже если вы им не пользуетесь, т.к. вместе с ним обновляется и проводник, и всякие компоненты, используемые другими приложениями.
Какими например приложениями? Всякими официальными клиентами скайпов и прочим дерьмом? Мне вот честно даже страшно такое на комп ставить, ибо в них столько всякой вирусни, трекеров, аналитики понапихано что даже запуск их в песочнице и фильтрация фаирволом левых адресов не всегда помогает.

С мирандой то понятно - это древний проект и чтобы сильно не заморачиваться автор использовал то что под руку попадётся чтобы не возиться лишний раз, и то до людей дошло что сейчяс это не вариант и надо переделывать.
Правда как по мне не стоит тратить на это время, а лучше потратить его на то чтобы снуля создать нормальную основу, работающюю как на винде так и на линуксе. Причём именно основу которая будет создана один раз и больше никогда не потребует обновлений. Всякие протоколы, плагины и т.д. которые часто обновляются следует писать не в виде скомпилированных библиотек а в виде скриптов обрабатываемых ядром миранды, чтобы небыло необходимости отдельной их компиляции под линукс и под винду.


По поводу проводника - там для выбора файлов используется Explorer.exe а не IExplore.exe
Да и не удивлюсь что сам IE версии 8+ протрояненый, т.к. прекрасно знаешь как сильно скатился нынешний майкрософт.


IE в NewStory не используется, там свой движок HTML.
Да, есть такое, даты не выводятся корректно под XP.
Не в обиду сказано но все нормальные разрабы для подобного стараются использовать свои локальные модули обработки а не модули операционной системы, поскольку прекрасно понимают что все системы разные и гдето могут проявиться косяки. Но это в основном касается универсального софта который компилируется как под винду так под линукс.
« Last Edit: 05 04 2024, 19:16:37 by MIR »
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1654 on: 05 04 2024, 21:45:13 »
Миранда испокон веков по-максимуму использует то, что предоставляет винда. Это не всегда хорошо (например, в случае крипто).

Конкретно работа с датами специально осуществляется средствами ОС, чтобы уважать формат даты, выставленный в ОС. Потому что, когда в операционной системе даты выводятся как "06 апреля 2022", а программа своевольничает и использует, например, "06.04.2022", это некрасиво. И это нормально работает везде, кроме XP, где, как обычно, всё через жопу и удобных API ещё не было.
« Last Edit: 05 04 2024, 21:53:26 by dartraiden »
 

Offline MIR

Re: Протокол VKontakte
« Reply #1655 on: 06 04 2024, 11:14:36 »
Миранда испокон веков по-максимуму использует то, что предоставляет винда. Это не всегда хорошо (например, в случае крипто)...
И это нормально работает везде, кроме XP, где, как обычно, всё через жопу и удобных API ещё не было.

Всё это напоминает типично российские методы решения проблем, когда работники полностью зависимы от начяльства.
Сам этой зимой был свидетелем подобного: прорвало трубу - всё перекопали, заменили пол метра сгившей трубы, закопали, через неделю трубу прорывает снова в нескольких сантиметрах от отремонтированной части и всё поновой и так неоднократно, в результате тратиться большое количество времени и средств на безперспективные действия вместо того чтобы заменить трубу целеком на нормальную.
С мирандой всё аналогично, как минимум 80% деятельности разрабов направленно на вечное исправление багов, которые при исправлении одного вызывают новые баги в других местах. Как говориться всё х@#ня Миша, давай по новой  ???

dartraiden, тут на форуме реально собрать народ, готовый заняться созданием новой основы для Миранды снуля?
Я владею программированием лишь на начяльных уровнях, какиенибуть простенькие функии и скрипты написать могу чем собственно занимаюсь на другом форуме. Чем смогу готов помочь, но чтобы самому создать чтото серьёзное нехватает ни знаний ни опыта, а тут есть боле менее профи, которые вместо творения шедевров занимаются постоянным исправлением багов :(
 

Offline Elzor

Re: Протокол VKontakte
« Reply #1656 on: 06 04 2024, 14:47:58 »
Да в том то и суть что это именно баг миранды, потомучто Кейт отправляет этимже контактам сообщения нормально и они доходят.
Могу лишь предположить что миранда запрашивает настройки приватности собеседника, и если у собеседника указано что сообщения не от друзей не принимаются то миранда отключяет окно ввода текста. Однако ВК устроен так что если тебе подобный собеседник первым отправляет сообщение то ты можеш продолжать с ним переписку несмотря на его настройки приватности.

Протокол запрашивает-получает конкретно возможность отправки контакту, если отправлять нельзя, контакт помечается как read only. Какие при этом спецэффекты происходят при попытке отправки - поле для отправки сообщения в SRMM исчезает или там, к примеру, пользователя током бьет при попытке набрать такому контакту сообщение - протоколу неинтересны и не должны быть интересны.
Конкретно по описанному предположению: это не то что не баг, это даже недоработкой назвать сложно. Да, возможность отправки проверяется (проверялась) только раз, во время выхода протокола в онлайн, но во-первых, мне как-то особо в голову не приходило, что этот момент может измениться во время сессии. И что? Многие вещи проверяются только при старте: например, изменился ли у контакта аватар или там статус семейный. У меня как бы нет кем-то каких-то освещенных требований, что и каким образом должен поддерживать протокол. Плагин всегда находиться ровно в том состоянии, в котором фичи востребованы для меня самого. Ну либо кто-то что-то просил реализовать и мне было не лениво. Во-вторых, насколько я понимаю, ситуация сама по себе редкая. Иначе я про нее узнал бы гораздо раньше.

Я не об этом а только об окнах чатов с собеседниками, вопервых чисто визуально неудобно когда окна чатов имеют разный вид, во вторых по причине выше - изза не доработки плагина, изза возможных изменений API ВК или каких либо багов с самим ВК.
Если так хочится скрывать окно ввода текста основываясь на данных с сервера, то можно хотябы добавить кнопку показать/скрыть окно ввода и отправки сообщения в TabSRMM, а там уже если после отправки сообщения приходит ошибка с сервера выводить эту ошибку как было раньше.

1. Мне удобно.
2. Еще раз: дело протокола максимум пометить ридонли контакт, как ридонли контакт. Чего протокол точно не должен делать - это кнопки какие-то где попало рисовать. Нужна кнопка в TabSRMM - вот в теме TabSRMM ее и запрашивай.

Кстати ещё с групповыми чатами проблема причём давняя, когда выходиш из чата или тебя кикают, то нет возможности открыть окно этого чата чтобы просмотреть в нём историю.

Да, войти нельзя. Но к плагину протокола ВК это никакого отношения не имеет.

Не в обиду сказано но все нормальные разрабы для подобного стараются использовать свои локальные модули обработки а не модули операционной системы, поскольку прекрасно понимают что все системы разные и гдето могут проявиться косяки.

Вот как раз-таки все нормальные разработчики не лепят свои костыли на каждый чих, а используют стандартное средство для текущей среды. И то, что не на 100% поддерживается операционная система, от всяческой поддержки которой уже много лет как отказался ее производитель, - ну так ее поддержку не отстрелили совсем, вот и на том спасибо кто-нибудь мог бы Хазану сказать. Я б давно отстрелил без всякой жалости.

dartraiden, тут на форуме реально собрать народ, готовый заняться созданием новой основы для Миранды снуля?

Я владею программированием лишь на начяльных уровнях, какиенибуть простенькие функии и скрипты написать могу чем собственно занимаюсь на другом форуме. Чем смогу готов помочь, но чтобы самому создать чтото серьёзное нехватает ни знаний ни опыта, а тут есть боле менее профи, которые вместо творения шедевров занимаются постоянным исправлением багов

Вот и шел бы ты со своим секундомером в какую-нибудь другую тему или форум себе компаньонов искать. Меня только не записывай, я своей текущей деятельностью вполне удовлетворен, сколько бы я каких процентов своего времени на что бы не тратил. А в этой теме пусть будут вопросы по конкретному плагину - она для этого создана.

=====

В следующем ночнике добавлена полноценная загрузка картинок в лог NewStory. Картинки, в отличие от первоначальной версии, загружаются в отдельном потоке, в логе проявляются по мере загрузки. Активируется в настройках плагина на вкладке Вид через добавленную опцию поддержки BBC для NewStory. Заодно добавлена проверка возможности отправки сообщения собеседнику при запросе его статуса и при получении от него сообщения.
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1657 on: 06 04 2024, 14:52:22 »
Quote
Кстати ещё с групповыми чатами проблема причём давняя, когда выходиш из чата или тебя кикают, то нет возможности открыть окно этого чата чтобы просмотреть в нём историю.
Технически невозможно.

тут на форуме реально собрать народ, готовый заняться созданием новой основы для Миранды снуля?
Это будет уже не Миранда, а какой-то другой клиент.
« Last Edit: 06 04 2024, 15:05:54 by dartraiden »
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1658 on: 06 04 2024, 14:56:28 »
минимум 80% деятельности разрабов направленно на вечное исправление багов
Разумеется, ведь кодовой базе в следующем году исполняется 25 лет (!), и писали это всё люди, вовсе не являющиеся профессиональными программистами, а школьники и студенты.

Поэтому в кодовой базе масса костылей и кода, написанного руками, растущими из жопы. А профессиональный программист, который это разгребает - ровно один, и кроме хобби в виде Миранды у него есть работа и личная жизнь.

Нужен глубокий рефакторинг и многие вещи переписывать. Делать это некому и вряд ли это изменится, учитывая, что софт не востребованный.

Никто не запрещает начать писать свой клиент с нуля, или влиться в существующие проекты типа Pidgin или qutIM (разработка первого почти заглохла, а разработка второго умерла много лет назад, так что это будут те же яйца, только помельче, учитывая, что по кол-ву плагинов Миранда кроет их обоих, как бык овцу).
« Last Edit: 06 04 2024, 15:03:32 by dartraiden »
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1659 on: 06 04 2024, 15:06:59 »
Quote
мне как-то особо в голову не приходило, что этот момент может измениться во время сессии
Вообще, легко может, например, если юзеру выдали мут.

вопервых чисто визуально неудобно когда окна чатов имеют разный вид
Да, блин, юзер просит убрать поле ввода у чата, куда нельзя писать - делаем. Теперь оказывается, что другому юзеру неудобно. И чо делать?
Можно подумать о том, чтобы не убирать, а отключать (disabled), как в оф. клиенте телеграма, когда в чате выдают мут (поле ввода становится некликабельным с текстом, мол, администратор вас попячил в правах). Но тогда возникает проблема, как отличать чат-группу, где писать конкретно нам запрещено, от чата, где писать вообще не предусмотрено, например, если это канал или RSS-лента, или ещё какая-то штука, куда отправлять сообщения технически невозможно.
« Last Edit: 06 04 2024, 15:13:03 by dartraiden »
 

Offline MIR

Re: Протокол VKontakte
« Reply #1660 on: 07 04 2024, 06:59:59 »
Во-вторых, насколько я понимаю, ситуация сама по себе редкая. Иначе я про нее узнал бы гораздо раньше.
Ко мне просто часто левые люди в ВК обращяются, у некоторых из них личка закрыта, поэтому для меня это не редкость.

В следующем ночнике добавлена полноценная загрузка картинок в лог NewStory. Картинки, в отличие от первоначальной версии, загружаются в отдельном потоке, в логе проявляются по мере загрузки. Активируется в настройках плагина на вкладке Вид через добавленную опцию поддержки BBC для NewStory. Заодно добавлена проверка возможности отправки сообщения собеседнику при запросе его статуса и при получении от него сообщения.
Обновился щяс до 0.96.5 alpha build #27062 (39dab6d6de) как был баг с NewStory на XP так и остался
Версия 0.96.5 alpha build #27069 (b538ebf8e9) миранда намертво зависает при открытии окна настроек, остальное вроде всё работает, отправку сообщений протестить пока возможности не представилось.


Нужна кнопка в TabSRMM - вот в теме TabSRMM ее и запрашивай.
Блин сорян конечно, понимаю что не ты этим занимаешся, просто из той темы в любом случяе dartraiden'у придётся на гитхаб всё пересылать, поэтому решил в одном сообщении ответить всем и сразу чтоб не плодить кучю сообщений, темболее эту тему какраз обсуждали т.к. она в какойто степени касается плагина ВК.

Да, войти нельзя. Но к плагину протокола ВК это никакого отношения не имеет.
С учётом этого сообщения
Технически невозможно.
То кроме костыля в плагине ВК который будет помечять чят как онлайн и выводить историю без ников только с ID или ники из кэша, то невозможно. Да и врятли тебе с этим охото будет заморачиваться, такчто не критично.

Вот как раз-таки все нормальные разработчики не лепят свои костыли на каждый чих, а используют стандартное средство для текущей среды. И то, что не на 100% поддерживается операционная система, от всяческой поддержки которой уже много лет как отказался ее производитель... Я б давно отстрелил без всякой жалости.
Производитель просто деградировал + превратился в торгашеское ничтожество, умышленно создавая несовместимости с XP причём по большей части тупо переименовав точки входа в процедуры системных DLL или изменив PE заголовки EXE файлов, исправляется это с помощью HEX и PE редакторов.
И подобная хрень щяс не только с виндой, паразиты пытаются поиметь прибыль отовсюду, превращяя в дермо всё куда дотягиваются их руки, при этом вытесняя нормальных программистов.
Тебе просто пофигу на чём сидеть, неудивлюсь если у тебя на компе установлен какойнибуть касперский и яндекс браузер или официальная сборка хрома, а на телефоне отсутствует Root.
Я тебя не осуждаю, просто понятно что тебе эта морока не нужна и хаваеш что суют, но ненадо это навязывать другим людям, которые прекрасно видят что это далеко не "сладкий хлеб" как ты считаешь а коечто нехорошее.
...ну так ее поддержку не отстрелили совсем, вот и на том спасибо кто-нибудь мог бы Хазану сказать.
Хазан, незнаю кто ты но спасибо тебе большое, ты разумный человек, понимающий что если чтото делаешь для людей то делать это надо так чтобы это у всех работало, и понимаешь важность репутации и скорей всего осознаёш всю гниль нынешнего майкрософта.
Если на чтото и переходить с XP то только на Linux, т.к. гуглил много различных сборок вин 7+ и досихпор не нашол идеальной.

Вот и шел бы ты со своим секундомером в какую-нибудь другую тему или форум себе компаньонов искать. Меня только не записывай, я своей текущей деятельностью вполне удовлетворен, сколько бы я каких процентов своего времени на что бы не тратил. А в этой теме пусть будут вопросы по конкретному плагину - она для этого создана.
Я конкретно от тебя ничего не требую, неохото - не надо себя заставлять или курни чтобы расслабиться и повысить творческий потенциал, главное чтобы хотябы плагин ВК нормально работал)
Сорян за офтоп, но реально както некрасиво бы вышло, люди мне сообщения тут написали, а Я их бы проигнорил. Я итак все ответы в одном сообщении написал чтобы флуд не разводить, постораюсь ответы на сообщения не по теме плагина ВК писать им в личку или в других темах.
Всё данное сообщение не по теме пишу в этой теме последний раз.

Да, блин, юзер просит убрать поле ввода у чата, куда нельзя писать - делаем. Теперь оказывается, что другому юзеру неудобно. И чо делать?
Можно подумать о том, чтобы не убирать, а отключать (disabled), как в оф. клиенте телеграма, когда в чате выдают мут (поле ввода становится некликабельным с текстом, мол, администратор вас попячил в правах). Но тогда возникает проблема, как отличать чат-группу, где писать конкретно нам запрещено, от чата, где писать вообще не предусмотрено, например, если это канал или RSS-лента, или ещё какая-то штука, куда отправлять сообщения технически невозможно.
Дак а чего сложного то?
Кнопка показать/скрыть окно ввода текста которая присутствует всегда, а скрывать поумолчянию или нет будет решать уже протокол.
Если есть возможность то в окне ввода текста вывести фоновую надпись с причиной почему нельзя писать, но чтобы можно было при этом вводить текст и нажимать Отправить.
Сообщения с причиной на подобии:
Данный контакт является лишь формой вывода информации.
Настройки приватности данного контакта не позволяют отправить ему сообщения.
Или как ты привёл пример "с текстом, мол, администратор вас попячил в правах"

При нажатии Отправить, в случяе если это чтото куда сообщения отправить технически невозможно будет вылазить сообщение в трее что "отправить не возможно т.к. это...", а лучше если сообщение будет туда отправляться но в локальную историю в качестве заметки, чтобы проще было найти нужную информацию и прочитать описание для чего ты её отметил.
С контактами и чатами всё как было раньше - сообщение отправляется несмотря ниначто, а если уже после отправки приходит ошибка с сервера то она выводится в трее или в окне чата.


Это будет уже не Миранда, а какой-то другой клиент.
Была Miranda-IM, стала Miranda-NG, будет Miranda-PRO ну или чтото подобное.

Нужен глубокий рефакторинг и многие вещи переписывать. Делать это некому и вряд ли это изменится, учитывая, что софт не востребованный. Никто не запрещает начать писать свой клиент с нуля, или влиться в существующие проекты типа Pidgin или qutIM (разработка первого почти заглохла, а разработка второго умерла много лет назад, так что это будут те же яйца, только помельче, учитывая, что по кол-ву плагинов Миранда кроет их обоих, как бык овцу).
Может тему на форуме создать, ктонибуть да откликниться со временем?
Многие просто бояться в чужой проект лезти особенно с предложением кардинальной переделки, наглядный пример с Isotoxin'ом - чел запилил Tox клиент несколько лет назад, причём самый навороченый даже по сравнению с нынешними свежими Tox клиентами, внёс изменения в токсовское ядро которое пилили официальные разрабы токса и исходники которого есть в открытом доступе, значительно его улучшив при этом не внося изменений в сам протокол, выложил у себя в репозитории исходники своего клиента и исходники улучшенного ядра, в рускоязычном чяте написал про это, дак прикинь через какоето время на него наехали официальные разрабы америкосы вроде, мол ты совсем охренел, какого хрена ты модифицировал наше ядро если ты не входиш в нашу команду, вместо того чтобы сказать спасибо и использовать егоные наработки, и ведь они так досихпор на месте топчятся а он там кучю полезных фичь добавил.

P.S. Pidgin на XP не робит, проверял(


« Last Edit: 07 04 2024, 20:22:31 by MIR »
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1661 on: 07 04 2024, 12:05:05 »
Да предлагать-то желающих полно, а вот делать, при этом, не ломая совместимость с плагинами и не ломая пользователям их настроенные сетапы... я местами даже не могу даже название значка в настройках значков поправить, потому что имя значка порой используется как имя ключа в базе и тогда у всех, у кого вместо этого значка назначен другой, значок слетит. И исправить это (добавив значку какой-то альяс, под которым он будет фигурировать в базе, как следовало бы сделать 20 лет назад) уже нельзя.

А если ломать, то это уже будет не Миранда и в кодовую базу мы такое точно не возьмем.
« Last Edit: 07 04 2024, 12:08:44 by dartraiden »
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1662 on: 07 04 2024, 12:09:36 »
dartraiden'у придётся на гитхаб всё пересылать
А вот если бы пользователи сами ходили на гитхаб, создавали тикеты, то им бы приходили уведомления, когда баг будет исправлен ;)
 

Offline dartraiden

Re: Протокол VKontakte
« Reply #1663 on: 07 04 2024, 12:12:12 »
Хазан, незнаю кто
Это @ghazan, на котором весь проект и держится. Человек, который реализует почти все фичи и исправляет почти все баги. Без него проект сразу помрёт.

И, кстати, он тоже считает XP окаменелым говном мамонта :) Вообще, у нас в команде, к счастью, нет людей, которые верят в подобную шизу про заговоры корпораций и деньгизло (интересно, кстати, у кого на шее сидят эти люди, если работать за деньги им западло). Еще там на борде где-то был шиз, который задвигал речи в духе "XP ИСТИННАЯ, а все прочие операционки ЛЖИВЫЕ", но, куда-то пропал, видать, его таки спровадили в дурку. Я в тот топик периодически набегаю поржать, очень поднимает настроение.

Поддержка XP сохраняется исключительно до тех пор, пока геморрой, который она приносит не превышает числа пользователей. Можно на неё наяривать сколько угодно, но с точки зрения программиста это дерьмо, которое требует вкорячивать в код костыли для поддержки даже базовых вещей типа потоковых  переменных. Но пользователи XP этого ужаса не видят, поэтому считают, что всё замечательно. А оно не замечательно, оно тихий ужас за кулисами.
« Last Edit: 07 04 2024, 12:38:04 by dartraiden »
 

Offline MIR

Re: Протокол VKontakte
« Reply #1664 on: 07 04 2024, 20:13:12 »
Версия 0.96.5 alpha build #27069 (b538ebf8e9) XP SP3, миранда намертво зависает при открытии окна настроек.

Да предлагать-то желающих полно, а вот делать, при этом, не ломая совместимость с плагинами и не ломая пользователям их настроенные сетапы...
В ЛС ответил а то Elzor уже ругается что не по теме пишим
« Last Edit: 07 04 2024, 20:20:49 by MIR »