* * *
Разбудил меня, однако, чёртов интик.
— Боз, я пришёл, — сообщил он мне зачем-то очевидный факт.
— Сколько времени? — я достал комм и убедился, что благополучно проспал все его попытки меня разбудить. — Ага, вижу.
— Мы работаем, боз? Там у входа полис так и стоит.
— Похоже, что нет, но хорошо, что ты пришёл. Возьми тряпку, ведро и вон то моющее средство, с полки.
— А разве уборщица…
— Раз мы закрыты, не придёт. Она одна на несколько заведений и постоянно перебирает разрешённую рендом загрузку, приходится платить пеню, а Киралик жадный. Но у меня есть ты, и я собираюсь извлечь из этого досадного факта максимум пользы.
Седьмая лежит на спине, как я её и оставил. Таймер я пропустил, так что надо срочно влить ещё смеси, но для начала…
— Ой, почему так воняет?
Ещё бы не воняло. Жидкость, которую я влил в мапу, всосалась в желудке, попала в кровь, купировала обезвоживание и запустила процесс вывода метаболитов, как естественных, так и из миоблоков. Поскольку имплы были в какой-то момент в перегрузе, то метаболитов много, а запах у них… специфический. Ничего, покрытие на кровати все впитало, а запах… Ну, не зря же я интика притащил?
— Берись за ноги, — велел я ему, — потащим в сервисный модуль. Надо помыть, а то кожа попортится. Она и так долго в луже лежала, может быть раздражение.
— А что с ней, боз?
— Сломалась, — кратко пояснил я. — Да берись ты, не бойся, она в отключке.
Отнесли, сгрузили в поддон душа.
— Моющее средство знаешь где, перчатки в ящике, душ вот он — вперёд.
— Я должен её мыть? Это не шутка, как прошлый раз?
— Ну, сама себя она не помоет. Да, должен. Нет, не шутка. Во внутренние полости не лезь, но помой тщательно. Везде. Да, там тоже. Чёрт, парень, хватит краснеть, бледнеть и трястись! Ты в борделе работаешь, привыкай. Оборудование есть оборудование.
Я вернулся в комнату и, морщась от запаха, поднял кровать, положив её на бок. Тяжеленная штука, даже когда не прикручена к полу. Вытащил из ремонтного кейса тяжёлый молоток и принялся править деформированные крепёжные узлы. Интик выскочил на грохот, выпучил на меня изумлённые глаза, но я махнул сердито рукой, и он вернулся к мытью. Облапает, небось, всю мапу. Да и ладно, с неё не убудет, а ему урок анатомии.
Электрогайковёртом вывернул болты из пола, опустил на место кровать и прикрутил её, подложив под головки широкие стальные шайбы.
— Интик, закончил там?
— Да, да, боз! — торопливо ответил тот. — Уже… э… вытираю.
— Иди сюда. Я смотал мокрое покрытие, твоя задача заменить рулон, сумеешь? Я показывал тебе как.
— Да, боз, я постараюсь, боз!
Пока он сопел и кряхтел, справляясь с этой элементарной, в общем, задачей, я снова вставил мапе желудочный зонд и залил смесь. Она отреагировала вонючей струйкой. Выводящая система работает, но из поддона я её не вынимал, так что плевать. Интик ещё раз помоет, не переломится.
Потом мы перенесли её на кровать, и я, отмотав с метр впитывающего покрытия, сложил его и всунул между ног на манер памперса. Меньше мороки будет в следующий раз.
— А никак нельзя, ну… — начал жалобно интик.
— Что? Катетер вставить? Нет у нас его.
— Нет, я имел в виду отключить как-то…
— Это биологический уровень, он не программируемый. К счастью. Потому что если его, к примеру, можно было отключить, то мапа бы загнулась от интоксикации метаболитами. Теперь: видишь эти пятна на стенах? Бери пульверизатор с очистителем, тряпку, воду и вперёд. Отмоешь — свободен, вали домой. Завтра придёшь в это же время, может, Киралик уже порешает вопросы с полисами, и мы откроемся.
* * *
Ненавижу просматривать логфайлы. Скукотища та ещё. Но сейчас читаю как детектив, надеясь найти намёк на то, кто убийца. Чёртов убийца прошивок. Почему обновление не встало? Вот мапа. Вот апдейт для мап. Официальный, хочу отметить, стабильная сборка, не бета какая-нибудь. С центрального офсервера в Башне Креона, подписанный билд. Он, конечно, должен ставиться оттуда напрямую, а ставился с моего сервака, но для мапы разницы нет, я имитирую тот же сетевой адрес локально. Хлопот чуть больше, зато ничей любопытный нос не сунется в мою программную кухню. Свеженькая прошивка скачана на мой сервер целиком, контрольная сумма проверена. Вот здесь я открыл мапе порт, она пинганула сеть, обнаружила доступ к тому, что считает апдейт-гейтом, и запустила проверку наличия обновлений.
Вот это она нашла прошивку, сверила номера версий, обрадовалась, запросила разрешение обновиться, потому что автообновление залочено. Я разрешение дал, лончер скачался, распаковался и запустился, программа проверила, что мапа в сервисном режиме, а не под клиентом, и пошёл качаться основной пакет. На этом этапе я её и бросил без присмотра вчера, потому что: ну, а что вообще может пойти не так? Штатная же процедура. Нет никакой причины сидеть и пялиться на прогресс-бар, других дел полно.
Вот пакет скачался. Запросил системное разрешение распаковаться в служебную память, лончер проверил, хватит ли места, и разрешил.
Создалась временная папка, отработал архиватор, лончер обратился к пусковому файлу, проверил сигнатуру и целостность, ещё раз сверил номера прошивок, новой и старой, и дал команду.
Стартовал процесс нижнего уровня, создавший точку восстановления, то есть дамп текущего состояния, выгрузивший из памяти систему, отформатировавший системный раздел и запустивший установку новой.
Дальше в логах длинный-длинный список вида «создана папка такая-то по адресу такому-то, создан файл такой-то, права такие-то…». Я проматываю эту простыню вполглаза, отмечая, что ошибок нет, всё, что должно создаться, создалось, что должно прописаться — прописалось. Ни один человек на свете не помнит всех этих файлов, да и не нужно. Достаточно