Отладчик
Глава 1. Закрытие квартала
Квартал закрывался третьи сутки.
Не в том смысле, что бухгалтерия пила кофе, вздыхала и красиво подбивала цифры. В том смысле, что база стояла колом, как трамвай на рельсах, по которым забыли пустить ток.
Я сидел перед монитором и смотрел на полоску загрузки.
Полоска смотрела на меня.
Девять процентов. Час назад тоже было девять. Если честно, девять процентов было ещё вчера, но вчера я верил, что это другие девять процентов.
— Лёш, — сказал телефон голосом Вадима Сергеевича. — Лёш, ну что там?
Вадим Сергеевич звонил каждые десять минут. Он был коммерческим директором и свято верил, что база ускоряется от вопросов. Как чайник от взгляда.
— Работает, — сказал я.
— Точно работает?
— Точно. Просто медленно.
— А можно быстрее?
— Можно. Если вы перестанете звонить, она решит, что её больше никто не любит, и заработает назло.
Пауза. Вадим Сергеевич не понимал шуток после десяти вечера. До десяти он тоже не очень понимал, но хотя бы делал вид.
— Лёш, у нас маркетплейсы. У нас отчёты. У нас носки на четыре миллиона не разнесены.
— Носки подождут, — сказал я. — Они в коробке. Им тепло.
Он положил трубку. Я знал, что он сейчас напишет в общий чат. Он всегда писал в общий чат, когда ему становилось одиноко. Так и вышло: телефон дзинькнул, и на экране всплыло сообщение с тремя восклицательными знаками. Четвёртый, видимо, не влез.
Меня зовут Алексей Гордеев. Мне тридцать два года. Я работаю айтишником в компании, которая продаёт носки, футболки и крем для лица на всех маркетплейсах страны, а ещё немного в Казахстане. На визитке у меня написано «руководитель направления информационных технологий». На практике это значит, что, если что-то не работает, виноват я. Если всё работает — значит, я ничего не делаю и мне можно урезать премию.
Офис был пустой. В опенспейсе горел один светильник — над моим столом. Остальные давно ушли: кто домой, кто в бар, кто в декрет. Кулер в углу иногда булькал, будто тоже хотел что-то сказать про закрытие квартала, но стеснялся.
Полоска загрузки дёрнулась.
Десять процентов.
— Ну вот, — сказал я ей. — Можешь же, когда хочешь.
Полоска подумала и откатилась обратно на девять.
Это было обидно. Я встал, хрустнул спиной так, что кулер испуганно булькнул, и пошёл в серверную.
Серверная у нас была гордостью компании. Так говорил генеральный, когда водил по офису инвесторов. Инвесторам показывали стеклянную дверь, мигающие огоньки и кондиционер. Инвесторы кивали. Никто из них ни разу не спросил, почему кондиционер обмотан скотчем, а один из серверов стоит на двух кирпичах.
Кирпичи, кстати, были мои. В смысле, я их принёс. Два года назад сервер начал перегреваться, и я поднял его повыше, к холодному воздуху. Сработало. С тех пор кирпичи стали частью инфраструктуры. Я даже внёс их в таблицу оборудования: «Кирпич силикатный, 2 шт., назначение — охлаждение».
Главбух подписала таблицу не глядя.
Я открыл дверь. Внутри было холодно и гудело. Огоньки мигали зелёным. Почти все.
Один мигал красным.
Красный огонёк был на том самом сервере, который стоял на кирпичах. На главном. На том, где жила база.
— Привет, — сказал я ему. — Плохо тебе, да?
Сервер не ответил. Серверы вообще редко отвечают, это я ценю в них больше, чем в людях.
У айтишников есть одно правило. Оно старше любых инструкций и важнее любой документации. Его не пишут на стенах, его передают устно, от админа к админу, как сказку у костра.
«Не трогай. Оно работает».
Если система работает — пусть криво, пусть на кирпичах, пусть с девятью процентами — её нельзя трогать. Потому что никто не знает, на чём она держится. Возможно, на кирпичах. Возможно, на молитве. Возможно, на том, что когда-то давно кто-то поставил в коде костыль, а потом уволился и унёс секрет с собой.
Но у правила есть продолжение. Его говорят тише.
«А если не работает — перезагрузи».
Я посмотрел на часы. Без пятнадцати полночь. Квартал закрывался ровно в полночь. Если база не разнесёт носки до утра, Вадим Сергеевич съест меня за планёркой. Без соли.
Я положил руку на кнопку питания.
Кнопка была тёплая. Это меня тогда почему-то не насторожило. А должно было. Кнопки питания не бывают тёплыми. Они пластиковые. Им не с чего.
Я нажал и держал, пока огоньки не погасли.
Все. Разом. На всех серверах, хотя нажал я только на один.
Кондиционер замолчал. Гул оборвался. Стало так тихо, что я услышал собственное сердце. Оно стучало неровно, как полоска загрузки.
— Так, — сказал я в темноту. — Это нормально. Это просто автомат выбило.
В темноте что-то щёлкнуло.
А потом на сером экране перед моими глазами — не на мониторе, монитора здесь не было, а прямо в воздухе, на уровне носа, — загорелась строка. Белые буквы на чёрном фоне. Шрифт моноширинный, как в старой консоли.
Инициирована перезагрузка.
Сохранение текущего состояния… ошибка.
Откат к последней стабильной версии… выполняется.
Я моргнул. Строка не исчезла.
— Ага, — сказал я. — Галлюцинации. Третьи сутки без сна. Надо было есть.
Выполнено 9%.
Девять процентов.
Ну конечно.
Пол ушёл из-под ног. Не в переносном смысле. Буквально: плитка стала мягкой, как пластилин, и потекла вниз, а я вместе с ней. Я успел схватиться за стойку сервера, стойка тоже потекла, и последнее, что я увидел, — два силикатных кирпича. Они висели в пустоте, абсолютно целые, и вращались, как планеты.
Кирпичам было всё равно. Кирпичи пережили бы и конец света.
* * *
Очнулся я от того, что кто-то тыкал меня палкой в лицо.
Палка была сухая и пахла пылью. Тыкали деловито, без злобы. Так тыкают в дохлую кошку, проверяя, точно ли она дохлая или можно ещё забрать ошейник.
— Живой, — сказал голос сверху. Женский, хрипловатый. — Жаль.
— Почему жаль? — спросил я, не открывая глаз.
— С мёртвых снимать удобнее. Не дёргаются.
Я открыл глаза.
Надо мной было небо. Серое, низкое, без солнца — как потолок в подвале, который покрасили в цвет мокрого асфальта. На фоне неба стояла девушка. Худая, в куртке курьера с выцветшим логотипом, в велосипедных перчатках без пальцев. Рыжие волосы стянуты в хвост резинкой от денег. В одной руке у неё была палка. В другой — мой телефон.
— Это моё, — сказал я.
— Было твоё, — согласилась она. — Тут он всё равно не ловит. Тут ничего не ловит.
— Где — тут?
Она посмотрела на меня так, как смотрят на ребёнка, который спросил, откуда берутся налоги.
— Новенький, — сказала она. Не мне. Себе. С тоской. — Ну конечно. Мне всегда достаются новенькие.
Я сел. Голова гудела, как серверная до перезагрузки. Я огляделся.
Я лежал посреди улицы. Улицу я знал. Это была моя улица — та, что ведёт от офиса к вокзалу. Вон аптека. Вон шаурмичная «У Ашота», где шаурма стоит дороже бизнес-ланча, но зато Ашот знает тебя по имени. Вон остановка с рекламой стоматологии, где на плакате улыбается женщина с зубами белее, чем совесть генерального.
Всё было на месте. Только неправильное.
Аптека стояла без вывески. Вывеска лежала на асфальте рядом, аккуратно, буквами вверх, будто её сняли для протирки и забыли повесить обратно. Шаурмичная была закрыта ставнями, а ставни поросли чем-то серым и пушистым, вроде плесени. Женщина на плакате улыбалась. Но у неё не было глаз. Просто гладкое место над улыбкой, как на недорисованной картинке.
И ни души. Ни машин, ни людей, ни голубей. Даже ветра не было. Воздух стоял неподвижно, пыльный и тёплый, как в квартире, где долго никто не жил.
— Ладно, — сказал я. — Я понял. Я в коме.
— Не, — сказала девушка.
— Я умер?
— Тоже не. Пока.
— Тогда где я?
Она вздохнула, сунула мой телефон в карман и присела рядом на корточки.
— Изнанка, — сказала она. — Так это называют. Кто-то говорит «Предел», кто-то «Песочница», но Изнанка прижилось. Ты здесь, потому что там, — она ткнула пальцем в небо, — что-то случилось. Ты был рядом. Тебя засосало. Добро пожаловать.
— А обратно?
— Обратно никто не уходил.
— Никто?
— Ну, может, кто-то и уходил. Но назад не возвращался рассказать. Так что мы считаем — никто.
Она поднялась и отряхнула колени.
— Короче, новенький, расклад такой. Сейчас у тебя откроется интерфейс. Не пугайся, не ори, не пытайся его закрыть — не закроется. Посмотришь класс. Если класс нормальный — пойдёшь со мной, я отведу тебя на рынок и сдам кланам. Тебя возьмут, мне заплатят. Если класс фиговый — извини, оставлю тут. Мне балласт не нужен.
— А если я не захочу на рынок?
— Тогда до ночи ты не доживёшь.
— А что ночью?
Она улыбнулась. Улыбка у неё была красивая и совершенно невесёлая.
— Ночью Откат, — сказала она. — Увидишь.
И тут перед глазами снова загорелись белые буквы.
Обнаружен новый пользователь.
Регистрация… выполнено.
Добро пожаловать в Изнанку, Алексей Гордеев.
Подбор класса… выполняется.
Полоска загрузки. Конечно. Куда без неё.
Я смотрел, как она ползёт, и почему-то совсем не удивлялся. Я восемь лет работал с корпоративным софтом. После корпоративного софта человека трудно удивить. Если бы мне сказали, что Изнанку писали те же люди, что делали нашу учётную систему, я бы поверил сразу и без доказательств.
Анализ профиля… выполнено.
Основная характеристика: Терпение (аномально высокое).
Дополнительная характеристика: Цинизм (аномально высокий).
Физическая подготовка: ниже среднего.
Подходящий класс не найден.
Поиск альтернатив…
— Чего застыл? — спросила девушка. — Что там у тебя?
— Пишет, подходящий класс не найден.
Она присвистнула.
— Ого. Такого я ещё не видела. Обычно хоть «Носильщика» дают. Или «Приманку».
— «Приманка» — это класс?
— Ага. Очень популярный. Живут, правда, недолго.
Альтернатива найдена.
Внимание: класс является нестандартным.
Внимание: класс не прошёл тестирование.
Внимание: использование класса может привести к непредсказуемым последствиям.
Вы уверены, что хотите продолжить? [Да] [Да]
Я посмотрел на две кнопки. Обе говорили «Да».
— Знаешь, — сказал я девушке, — кажется, я понимаю, кто это всё писал.
— Кто?
— Подрядчики.
Я ткнул в левую кнопку. Просто из принципа.
Класс присвоен: ОТЛАДЧИК.
Уровень: 0.
Описание класса: отсутствует.
Доступные навыки:
— «Лог» (пассивный). Позволяет просматривать записи событий.
— «Костыль» (активный). Позволяет временно исправить или нарушить работу объекта. Действует до ближайшего Отката.
— «????» (заблокирован).
Технический долг: 0.
Я перечитал два раза. Потом третий. Технический долг. Ну, это я знал, что такое. Это когда ты что-то чинишь на скорую руку, вместо того чтобы сделать нормально. А потом это «на скорую руку» копится, копится, и однажды всё падает тебе на голову. Обычно в пятницу вечером. Обычно в ночь закрытия квартала.
— Ну? — нетерпеливо спросила девушка.
— Отладчик.
— Кто?
— Отладчик. Это… — я задумался, как объяснить. — Это такой человек, который ищет, почему что-то не работает.
— И чинит?
— Иногда. Чаще находит, кто виноват.
Она смотрела на меня долго. Я видел, как она в уме прикидывает, сколько за меня дадут на рынке. Судя по лицу, получалось немного.
— Драться умеешь? — спросила она.
— Нет.
— Бегать?
— До шаурмичной.
— Колдовать?
— Я умею перезагружать роутер, — сказал я. — Иногда это выглядит как колдовство.
Она закатила глаза так сильно, что я испугался, не застрянут ли они.
— Балласт, — сказала она. — Так и знала.
Она развернулась и пошла прочь по пустой улице. Быстро, легко, не оглядываясь. Курьерская походка — так ходят люди, у которых заказ остывает.
— Подожди! — крикнул я. — Как тебя зовут?
— Тебе зачем?
— Ну, если я умру, хочу знать, кого проклинать.
Она остановилась. Повернула голову.
— Ника, — сказала она. — Проклинай на здоровье.
И пошла дальше.
Я остался сидеть на асфальте. Рядом лежала вывеска аптеки. Буквы на ней были немного неправильные: вместо «АПТЕКА» было написано «АПТЕКА_копия(2)». Я сначала не заметил. А теперь заметил и не мог развидеть.
Я посмотрел на вывеску внимательнее. И что-то в голове щёлкнуло — как переключатель в серверной. Мир перед глазами слегка дёрнулся, и поверх вывески проступили белые строки.
Объект: Вывеска «Аптека».
Статус: отсоединена от родительского объекта.
Причина: ошибка привязки при последнем Откате.
Рекомендация: отсутствует.
«Лог». Пассивный навык. Он просто был. Как зрение. Я посмотрел на остановку — и над безглазой женщиной на плакате появилась надпись: «Текстура повреждена. Загрузка не завершена. Попыток: 4012».
Четыре тысячи двенадцать попыток. Бедная женщина. Её пытались загрузить четыре тысячи раз, и она всё ещё без глаз.
Мне вдруг стало её жалко. Глупо, конечно. Это плакат. Но я знал это чувство. Когда тебя четыре тысячи раз запускают, а ты всё никак не загрузишься.
— Ника! — заорал я. — Стой!
Она уже была у перекрёстка. Остановилась — не потому что я крикнул, а потому что впереди, на перекрёстке, что-то изменилось.
Я не сразу понял что. А потом понял.
Свет.
Серое небо темнело. Не как вечером, когда сумерки наползают плавно и красиво. Нет. Темнело рывками. Как будто кто-то крутил ручку яркости у старого монитора. Щёлк — темнее. Щёлк — ещё темнее.
Ника обернулась. Лицо у неё было белое.
— Рано, — сказала она. Тихо, но в мёртвой тишине улицы я расслышал. — Рано же. Ещё часа три должно быть.
Внимание.
Обнаружено внеплановое событие.
Откат начнётся через: 00:04:59.
Пять минут.
— Ника, — сказал я. — У нас пять минут.
— Откуда ты знаешь?
— Мне написали.
Она подбежала ко мне. Быстро, очень быстро — за две секунды, хотя до перекрёстка было метров пятьдесят. Схватила меня за воротник и рывком поставила на ноги.
— Слушай меня, балласт, — сказала она прямо мне в лицо. Глаза у неё были зелёные и злые. — Когда начинается Откат, всё, что не сохранено, исчезает. Всё. Здания, вещи, люди. А потом из тумана выходят они.
— Кто — они?
— Откатыши. Не спрашивай, как выглядят. Если увидишь — уже поздно. Нам надо в укрытие. В нормальное, сохранённое укрытие. Ближайшее — на вокзале.
— До вокзала километр.
— Я добегу за минуту.
— А я?
Она посмотрела на меня. На мои офисные ботинки. На мой живот, который восемь лет рос под руководством шаурмичной «У Ашота».
— А ты нет, — сказала она честно.
Откат начнётся через: 00:04:12.
Я понял, что она сейчас уйдёт. Не потому что злая. Потому что так здесь устроено. Курьер не ждёт клиента, который не вышел к двери.
Я посмотрел по сторонам. Аптека. Шаурмичная. Остановка. Ничего, что выдержит конец света.
И тут я увидел стену.
Обычная стена дома между аптекой и шаурмичной. Серая штукатурка. Трещина. Граффити «Вадик лох» — не мой Вадим Сергеевич, другой Вадик, но мне всё равно было приятно. Я посмотрел на стену, и поверх неё поползли строки.
Объект: Стена жилого дома.
Статус: ошибка коллизии.
Описание: объект не имеет физической плотности в области 1,2 × 0,8 м.
Причина: неизвестна.
Создан: 21 год назад.
Изменён: пользователем [ДАННЫЕ УДАЛЕНЫ].
Ошибка коллизии. Я знал, что это. В играх так бывает: стена есть, а пройти сквозь неё можно. Баг. Дыра в текстуре. Через такие дыры игроки проваливаются под карту или прячутся там, где их никто не найдёт.
«Изменён пользователем». Кто-то это сделал. Специально. Двадцать один год назад.
— Ника, — сказал я. — Иди сюда.
— Ты больной? Нам бежать надо!
— Ты бежать. Я — сюда.
Я подошёл к стене, вытянул руку и сунул её в штукатурку чуть ниже надписи про Вадика.
Рука вошла. Без звука, без сопротивления. Будто в холодную воду. Стена вокруг запястья пошла рябью, как плохо прогруженная картинка.
Ника замерла.
— Это как? — спросила она.
— Баг, — сказал я. — Тут дыра. Кто-то сделал её давно. Не знаю, переживёт ли она Откат, но она пережила уже… — я быстро прикинул, — много Откатов. Двадцать один год.
Откат начнётся через: 00:02:30.
Небо стало почти чёрным. А в конце улицы, у вокзала, появился туман. Белый, плотный, он полз по асфальту, как молоко, которое убежало из кастрюли. И там, в тумане, что-то двигалось. Много чего. Я не видел, что именно. Видел только очертания. Слишком длинные руки. Слишком много суставов. Голова, которая поворачивалась не в ту сторону.
Над туманом загорелась надпись. Я не хотел её читать. Прочитал.
Объект: [Откатыш].
Состав: удалённые данные, 34 источника.
Статус: враждебен.
Количество: 117.
Сто семнадцать.
— Решай, — сказал я Нике. — Километр по улице, где их сто семнадцать. Или дыра в стене, которую сделал неизвестно кто.
Она смотрела на туман. Потом на меня. Потом снова на туман.
Я видел, как она борется сама с собой. Курьер внутри неё кричал: «Беги, ты успеешь». А что-то другое, старое и осторожное, шептало: «Не успеешь. Не в этот раз».
Откат начнётся через: 00:01:00.
— Если это ловушка, — сказала Ника, — я тебя убью.
— Если это ловушка, — сказал я, — ты не успеешь. Там внутри нас обоих убьют быстрее.
Она фыркнула. И первой шагнула в стену.
Я — следом.
Внутри было темно и тесно. Ниша, метр на метр, не больше. Пахло бетоном и почему-то мандаринами. Мы стояли вплотную, нос к носу, и я слышал, как часто дышит Ника.
Через штукатурку, как через мутное стекло, была видна улица. Туман дошёл до аптеки. Залил шаурмичную. Накрыл остановку.
И мир начал откатываться.
Это было страшнее всего, что я видел в жизни. А я видел, как бухгалтерия обновляла конфигурацию без бэкапа.
Здания не рушились — они разбирались. Слой за слоем. Сначала исчезли цвета, остался серый каркас. Потом исчезли окна. Потом стены стали прозрачными, как сетка, и сквозь них было видно другие стены, другие сетки, бесконечные, уходящие во все стороны. Вывеска аптеки на асфальте мигнула и пропала. Плакат с безглазой женщиной сжался в точку.
А из тумана выходили Откатыши.
Я увидел одного вблизи. Он прошёл мимо стены в полуметре от моего лица. Высокий, сутулый, сделанный из кусков. Одна рука была от манекена. Другая — человеческая, в рукаве старого пиджака. Вместо лица — мозаика: глаз, кусок рекламного щита, клавиша от клавиатуры с буквой «Ж». Он шёл и бормотал. Тихо, на одной ноте. Я прислушался.
— …отмена… отмена… отмена…
Ника сжала мою руку так, что хрустнули пальцы. Я не возражал.
Откатыш остановился. Повернул голову к стене. Медленно, со скрипом, как поворачивается старая офисная камера наблюдения.
Посмотрел прямо на нас глазом, клавишей и куском рекламы.
Объект [Откатыш] обнаружил аномалию.
Проверка коллизии… ошибка.
Проверка коллизии… ошибка.
Проверка коллизии…
Он протянул руку. Ту, что от манекена. Пластиковые пальцы коснулись штукатурки.
И не прошли.
Стена держала. Для нас её не было, а для него — была. Баг работал в одну сторону.
Проверка коллизии… объект отсутствует.
Объект [Откатыш] продолжает движение.
Он отвернулся и побрёл дальше, бормоча своё «отмена». Остальные шли за ним. Сто шестнадцать. Сто пятнадцать. Я считал. Это помогало не думать.
Сколько это длилось, не знаю. Может, час. Может, вечность. В Изнанке со временем было плохо — как с сетью.
Потом туман начал редеть. Небо — светлеть, теми же рывками. Щёлк. Щёлк.
Откат завершён.
Сохранение текущего состояния… выполнено.
Пользователь Алексей Гордеев: статус — жив.
Пользователь Ника [фамилия скрыта]: статус — жива.
Я выдохнул. Кажется, впервые за всю ночь.
— Мы живы, — сказал я.
Ника молчала. Она всё ещё держала меня за руку и смотрела на улицу сквозь штукатурку. Улица была на месте. Аптека, шаурмичная, остановка. Как ни в чём не бывало. Только вывеска аптеки теперь висела на своём месте. И у женщины на плакате появился один глаз.
Один. Зелёный. Попытка номер четыре тысячи тринадцать.
— Слушай, балласт, — сказала наконец Ника. Голос у неё был странный. — А как ты узнал про эту дыру?
— Увидел.
— Как увидел?
— Мне подписали.
Она отпустила мою руку. Повернулась ко мне — насколько это было возможно в нише метр на метр — и посмотрела так, как будто увидела меня впервые.
— На рынке, — медленно сказала она, — за тебя дадут больше, чем я думала.
— Спасибо, — сказал я. — Очень трогательно.
— Я не сказала, что продам.
— А что ты сказала?
Она не ответила. Вышла из стены — та пошла рябью и выпустила её на улицу. Остановилась на тротуаре, щурясь на серое утреннее небо.
Я вылез следом.
И в этот момент перед глазами загорелась ещё одна строка. Маленькая, в правом нижнем углу, едва заметная. Я сначала решил, что показалось.
Обнаружено использование чужого костыля.
Технический долг: перенесён частично.
Технический долг: 1.
Я смотрел на единицу и чувствовал, как по спине ползёт холодок.
Я ничего не чинил. Ничего не ломал. Я просто спрятался в чужом баге.
Но кто-то двадцать один год назад этот баг сделал. Кто-то, чьё имя система удалила. И теперь его долг — маленькая часть, одна единица — достался мне.
Где-то в глубине Изнанки, я был в этом почти уверен, кто-то это заметил.
— Ну что, Отладчик, — сказала Ника, не оборачиваясь. — Идёшь на рынок или как?
Я посмотрел на стену с надписью «Вадик лох». Потом на единицу в углу экрана. Потом на одноглазую женщину на плакате.
— Иду, — сказал я. — Только сначала шаурму.
— Шаурмичная закрыта уже лет двадцать.
— Это, — сказал я, — мы ещё посмотрим.
Глава 2. Шаурмичная «У Ашота»
Шаурмичная «У Ашота» была закрыта на ставни. Ставни поросли серой плесенью. Плесень была мягкая, как мох, и тёплая на ощупь, как кошка.
Я её потрогал. Зря.
Объект: Налёт пыли (декоративный).
Статус: декоративный.
Описание: отсутствует.
— Не трогай, — сказала Ника.
— Уже потрогал.
— Тогда не трогай второй раз. Тут всё такое. Вроде пыль, а потом у тебя рука по локоть пыльная. Навсегда.
Я посмотрел на свою руку. Рука была обычная. Немного пыльная. Я вытер её о брюки, и брюки тоже стали немного пыльные. Надеюсь, не навсегда. Брюки были единственные.
Ника стояла посреди тротуара и нетерпеливо крутила на пальце резинку от денег. Курьеры не умеют ждать. Это у них профессиональное. Если курьер ждёт больше двух минут, у него в организме начинают вырабатываться штрафы.
— Слушай, Отладчик, — сказала она. — Я понимаю, ты голодный. Я тоже голодная. Тут все голодные. Это нормальное состояние. Но в эту шаурмичную никто не заходил двадцать лет. Ставни не открываются. Их пробовали ломом, топором и один раз гранатой.
— Откуда тут граната?
— Из Отката выпала. Неважно. Ставни целы. Граната — нет. Парень, который её бросал, — тоже нет. Пошли на рынок, там хоть сухари есть.
Я не ответил. Я смотрел на ставни.
Как я уже говорил, «Лог» работал сам. Не надо было ничего нажимать. Достаточно было смотреть — и смотреть по-особенному. Как смотришь на код, когда ищешь ошибку. Не на то, что написано, а на то, что не так.
Ставни были не так.
Объект: Ставни металлические, рольставни.
Статус: заблокировано.
Причина блокировки: флаг «Не трогать» (установлен вручную).
Создан: 21 год назад.
Изменён: пользователем [ДАННЫЕ УДАЛЕНЫ].
Флаг «Не трогать».
Я хмыкнул. Мне стал нравиться этот удалённый пользователь. Кем бы он ни был, он думал как я. Двадцать один год назад он поставил на шаурмичную флаг «Не трогать». Значит, внутри было что-то, что трогать не стоило. Или что-то, что он очень не хотел отдавать другим.
А флаг — это не стена. Флаг — это галочка. Галочку можно снять.
Наверное.
У меня был второй навык. «Костыль». Активный. Вчера я его не использовал — повезло, хватило чужого бага. Сегодня я на него смотрел, как смотрят на незнакомую кнопку в серверной. С уважением и страхом.
— Ника, — сказал я. — А что будет, если я сделаю одну глупость?
— Ты уже сделал. Ты попал в Изнанку.
— Я про другую глупость. Поменьше.
Она остановилась. Перестала крутить резинку.
— Что ты задумал?
— Хочу снять галочку.
— Какую галочку?
— Которая не даёт открыть ставни.
Ника посмотрела на меня. Потом на ставни. Потом снова на меня. Я видел, как у неё в голове вертятся две мысли. Первая: «Этот балласт сейчас умрёт, и придётся снимать с него ботинки». Вторая: «А если не умрёт?»
Вторая мысль, судя по лицу, ей нравилась больше.
— Только быстро, — сказала она и отошла на три шага. Потом подумала и отошла ещё на пять.
Я поднял руку и коснулся ставней. Там, где под плесенью проступал холодный металл.
И мысленно сказал: «Костыль».
* * *
Ничего не произошло.
Секунду. Две. Три.
Потом перед глазами вывалилось окно. Не строка, как раньше. Целое окно, серое, с рамкой и кнопками. Такие окна я видел каждый день на работе. Обычно в них было написано, что операция не может быть выполнена и надо обратиться к администратору.
Навык «Костыль».
Выбран объект: Ставни металлические.
Выберите действие:
[Снять флаг] [Изменить флаг] [Игнорировать флаг]
Внимание: изменения действуют до ближайшего Отката.
Внимание: изменения увеличивают технический долг.
Три кнопки. Я подумал.
Снять флаг — это честно. Но тогда, если я правильно понимаю эту кривую систему, кто угодно сможет открыть ставни. До следующего Отката, конечно. Но всё равно.
Изменить флаг — это интересно, но непонятно.
Игнорировать флаг — вот это по-нашему. Это любимое действие любого айтишника. Не чинить. Не разбираться. Просто сделать вид, что проблемы нет. Для себя.
Я нажал «Игнорировать».
Укажите, для кого игнорировать флаг.
[Для всех] [Для себя]
— Для себя, — сказал я вслух.
Выполнено.
Технический долг: +3.
Технический долг: 4.
Ставни дёрнулись. С них посыпалась серая пыль — тёплая, мягкая, как пепел. А потом они поехали вверх. Со скрипом, с лязгом, с тем самым звуком, с которым каждое утро двадцать лет назад их поднимал Ашот. Или кто тут был вместо Ашота.
Ника сделала шаг назад. Потом ещё один. Лицо у неё было такое, будто я только что достал из кармана живого кролика и кролик заговорил.
— Ты… — сказала она. — Ты их открыл.
— Ага.
— Двадцать лет. Ломом. Гранатой. А ты рукой.
— Ну, не совсем рукой, — честно сказал я. — Скорее, бюрократией.
Внутри было темно. Пахло пылью, старым жиром и почему-то мандаринами. Опять мандаринами. Я уже начинал думать, что это запах всей Изнанки. Как у каждой квартиры есть свой запах, так и у этого мира — мандарины и пыль. Как в новогоднюю ночь, когда все уже разошлись, а гирлянда на ёлке всё мигает и мигает.
Я шагнул внутрь. Ника — за мной.
То есть она попыталась.
Её ударило. Невидимой стеной, прямо в лоб. Она отлетела назад, на тротуар, и села на асфальт. Глаза круглые.
— Ой, — сказал я. — Это я сделал «для себя».
— Что?! — Она потёрла лоб. — Что значит «для себя»?
— Флаг игнорируется только для меня. Для тебя он работает.
— Так поменяй!
— Это ещё плюс долг.
— Мне плевать на твой долг!
— Мне не плевать, — сказал я. — Это мой долг. Я его не понимаю. А то, чего я не понимаю, я экономлю.
Она сидела на асфальте и смотрела на меня снизу вверх. Злая, как кошка, которую не пускают на кухню. Я понял, что сейчас она либо уйдёт, либо попробует меня убить. Либо — что хуже всего — будет ныть.
Я вздохнул.
— Сиди тут. Я посмотрю, что внутри, и принесу. Если там что-то есть.
— А если ты оттуда не выйдешь?
— Тогда, — сказал я, — заберёшь мои ботинки. Ты же хотела.
* * *
Внутри шаурмичная была такой же, какой я её помнил. Только старше. Или моложе. Сложно сказать, когда смотришь на что-то из прошлого.
Стойка. Два высоких стула. Вертикальный гриль — без мяса, холодный, покрытый тонким серым налётом. На стене меню. Цены в меню были смешные. Шаурма — шестьдесят рублей. Шаурма большая — восемьдесят. Я посмотрел на эти цифры, и мне стало грустно. Где-то там, в нормальном мире, за восемьдесят рублей сейчас можно было купить только воздух, которым дышал Ашот.
Объект: Меню.
Статус: архивный.
Актуальность цен: 0%.
Спасибо, «Лог». Без тебя бы не догадался.
За стойкой была дверь на кухню. Простая, деревянная, с табличкой «Посторонним вход воспрещён». Табличку кто-то подправил маркером: «Посторонним» было зачёркнуто, сверху написано «Никому». А ниже, мелко, другим почерком: «Кроме меня».
Почерк был кривой и торопливый. Так пишут люди, которые много печатают и мало пишут руками.
Так пишут айтишники.
У меня по спине прошёл холодок. Я толкнул дверь.
Кухня была маленькой. Плита. Мойка. Стол для нарезки. И холодильник.
Холодильник гудел.
В мёртвом, пыльном, двадцать лет закрытом мире — холодильник гудел. Тихо, ровно, по-домашнему. Над его дверцей горела маленькая зелёная лампочка.
Я подошёл и посмотрел на него «Логом».
Объект: Холодильник бытовой «Бирюса».
Статус: исключён из Отката.
Режим: восстановление содержимого к сохранённому состоянию.
Последнее сохранение: 21 год назад.
Изменён: пользователем [ДАННЫЕ УДАЛЕНЫ].
Я перечитал. Медленно. Потом ещё раз.
Исключён из Отката. Восстановление содержимого к сохранённому состоянию.
Я открыл дверцу.
Внутри был свет. Внутри был холод. Внутри лежало: три килограмма замаринованной курицы в синем пластиковом тазике, пачка лаваша, две банки соуса, вилок капусты, пять помидоров, пучок кинзы и шесть бутылок минералки. Местной. С оленем на этикетке.
Всё было свежее. Будто положили вчера.
Я закрыл дверцу. Подождал. Открыл снова.
Всё было на месте.
Я понял, что сейчас произошло. Тот удалённый пользователь двадцать один год назад сделал себе бесконечный холодильник. Каждую ночь, когда Откат стирал мир, холодильник возвращался в своё сохранённое состояние. С курицей. С лавашом. С кинзой.
Каждую ночь. Двадцать один год.
И никто не мог его открыть, потому что на двери стоял флаг «Не трогать».
— Ну ты жук, — сказал я пустой кухне. — Ну ты гений.
Кухня не ответила. Но холодильник загудел чуть громче. Как будто ему было приятно.
* * *
Я не повар. Я айтишник. Но шаурму в своей жизни я съел столько, что мог бы считаться её почётным спонсором. А ещё я видел, как это делает Ашот. Тысячу раз. Он делал это быстро, красиво, с тем выражением лица, с которым хирурги делают сложную операцию. Я стоял у стойки и смотрел. Это было лучше любого сериала.
Гриль не работал. Я посмотрел на него.
Объект: Гриль вертикальный.
Статус: отключён от питания.
Причина: питание отсутствует во всём районе.
Питание отсутствует во всём районе. А холодильник гудит. Значит, холодильник запитан от чего-то другого. От чего — непонятно. Я поискал провод. Провода не было. Холодильник просто работал. Потому что кто-то ему так сказал.
Можно было поставить костыль на гриль. Сказать ему: «У тебя есть питание». Но это ещё плюс долг. А я помнил своё правило: того, чего не понимаешь, экономь.
На плите была газовая конфорка. Я покрутил ручку. Зашипело.
Газ. Работал газ. Двадцать лет никто не платил за газ, а он работал. Я даже не стал смотреть «Логом». Просто порадовался. Иногда лучше не знать, почему что-то работает. Это первое правило. Не трогай.
Я нашёл сковородку. Нарезал курицу. Обжарил. Порезал помидоры и капусту — криво, но с любовью. Нашинковал кинзу. Развернул лаваш. Намазал соусом. Завернул.
Получилось нечто. Не шаурма Ашота. Но где-то рядом, на соседней улице.
Я сделал две. Потом подумал и сделал третью. Взял две бутылки минералки и вышел на улицу.
Ника сидела на бордюре у входа. Обхватила колени и смотрела в серое небо. Когда она услышала шаги, она вскочила, и рука её сама собой легла на рукоять ножа на поясе. Я раньше не замечал у неё ножа. Видимо, она умела его прятать так же хорошо, как своё настроение.
Потом она увидела, что у меня в руках.
Нож вернулся на место.
Я протянул ей шаурму. Она взяла. Медленно, обеими руками, как будто это была не еда, а младенец. Или граната. Понюхала.
— Это… курица? — спросила она шёпотом.
— Курица.
— Настоящая?
— По «Логу» — настоящая.
Она откусила. Закрыла глаза. И замерла.
Я стоял и смотрел, как курьер Ника, которая ещё вчера собиралась снять с меня ботинки, сидит на бордюре в мёртвом городе и плачет над шаурмой. Тихо. Без всхлипов. Просто слёзы текут по щекам и капают на лаваш.
Я отвернулся. Есть вещи, на которые не надо смотреть. Это я тоже знал по работе. Например, когда главбух плачет над закрытием года. Надо просто тихо поставить рядом чай и уйти.
Я сел рядом и стал есть свою шаурму. Было вкусно. Было очень вкусно. Это была лучшая шаурма в моей жизни, хотя объективно она была так себе.
— Сколько ты тут? — спросил я, когда она доела.
— Полгода.
— И всё время…
— Сухари. Консервы, если повезёт. Иногда что-то падает с Откатышей. Один раз выпала целая коробка лапши быстрого приготовления. Я её три недели растягивала. — Она вытерла лицо рукавом. Рукав был грязный, и лицо стало грязнее. — Здесь нет еды, Отладчик. Понимаешь? Магазины есть. Полки есть. А на полках — муляжи. Как в мебельном. Пластиковые яблоки. Пластиковый хлеб. Красивые. Есть нельзя.
— А откуда сухари?
— С Откатышей. Они выходят из тумана, и в них… всякое. Обрывки. Если убьёшь — что-то выпадает. Иногда еда. Иногда вещи. Иногда минуты.
— Минуты?
— Потом расскажу. — Она посмотрела на меня. Долго, внимательно. Глаза у неё были красные, но злость из них никуда не делась. Просто к ней прибавилось что-то ещё. — Там ещё есть?
— Курицы — кило два с половиной.
— А завтра?
Я помолчал. Вот это был правильный вопрос. Курьеры умеют задавать правильные вопросы. Им всегда интересно не что ты привёз, а когда привезёшь следующее.
— Завтра, — сказал я, — будет столько же. И послезавтра. И через год. Он восстанавливается.
— Кто?
— Холодильник.
Ника смотрела на меня. А потом засмеялась. Хрипло, неуверенно, как человек, который давно не смеялся и забыл, как это делается.
— Бесконечная курица, — сказала она. — Отладчик. Ты понимаешь, что ты нашёл?
— Шаурму?
— Ты нашёл самую дорогую вещь в Изнанке. — Она перестала смеяться. Совсем. — И если об этом кто-то узнает, тебя убьют. Не Откатыши. Люди. Кланы. Первый же, кто узнает.
Я дожевал. Подумал.
— Тогда давай никому не скажем.
— Давай, — сказала Ника. — Но есть проблема.
— Какая?
— Я уже вижу одного.
Она смотрела мне за спину. Я обернулся.
На другой стороне улицы, у остановки с одноглазой женщиной на плакате, стоял человек. Лысый, в спортивном костюме, с битой на плече. Бита была обмотана колючей проволокой. Над его головой я машинально прочитал «Логом»:
Пользователь: Толян.
Класс: Громила.
Уровень: 7.
Статус: голоден.
Толян смотрел на нас. Точнее, на шаурму. Точнее, на третью шаурму, которую я держал в руке и не успел убрать.
Он медленно втянул носом воздух. Как собака.
— Курица, — сказал Толян. Голос у него был низкий, удивлённый. — Это чё, курица?
Ника встала. Рука снова легла на нож.
— Седьмой уровень, — сказала она мне тихо, не поворачивая головы. — Я третий. Ты ноль. Ты понимаешь, как это?
— Как в армрестлинге с бульдозером?
— Хуже.
Толян пошёл через улицу. Не спеша. Он вообще никуда не спешил — у него была бита с колючкой и седьмой уровень. Такие люди не спешат. Мир сам к ним приходит.
— Слышь, — сказал он, подходя. — Делиться надо.
— Мы и делимся, — сказал я. И протянул ему третью шаурму.
Ника посмотрела на меня так, будто я выстрелил себе в ногу.
Толян тоже растерялся. Он, видимо, рассчитывал на драку. Или хотя бы на сопротивление. Он взял шаурму, повертел, понюхал. Откусил.
Жевал он долго. Лицо у него менялось. Сначала было подозрительное. Потом удивлённое. Потом — почти детское.
— Ты где взял? — спросил он с набитым ртом.
— Сделал.
— Из чего?
— Из курицы.
— А курицу где взял?
— На рынке выменял, — сказал я. — У одного деда. Последнюю.
Это было враньё. Я врал как айтишник, который говорит начальнику, что сервер упал из-за солнечной активности. Уверенно. С выражением лица человека, которому самому очень жаль.
Толян жевал и думал. Думать ему было тяжело, это было видно. Мысли ворочались у него в голове, как мешки с цементом.
— Последнюю, — повторил он.
— Последнюю.
— Жалко, — сказал Толян. Доел. Облизал пальцы. Посмотрел на шаурмичную с открытыми ставнями.
И я понял, что сейчас будет плохо.
— А чё это у вас ставни открыты? — спросил он. — Их же двадцать лет никто…
Я посмотрел на ставни. Быстро, «Логом». Флаг «Не трогать». Игнорируется — для меня. Для всех остальных он работает.
— Попробуй, — сказал я. — Зайди.
Толян пожал плечами. Шагнул к двери.
И его ударило. Как Нику. Только Толян был тяжелее, и полетел он красивее. Метра на три. Спиной в остановку. Остановка задрожала. Одноглазая женщина на плакате посмотрела на него своим одним глазом с явным неодобрением.
Толян сел. Потряс головой. Посмотрел на ставни. Потом на меня.
— Ни хрена себе, — сказал он с уважением.
— Защита, — объяснил я. — Ставни открылись, а войти нельзя. Мы тоже пробовали. Думаем, это ловушка.
Толян сидел и думал. Мешки с цементом в голове ворочались медленно, но в правильную сторону.
— Ловушка, — согласился он. — Точно ловушка. — Он встал. Отряхнулся. Посмотрел на меня ещё раз, внимательно. — Слышь, повар. Если ещё курицу достанешь — я куплю. Нормально заплачу. Минут десять дам.
— Договорились, — сказал я.
Толян кивнул и ушёл. Бита с колючкой покачивалась у него на плече.
Мы с Никой смотрели ему вслед, пока он не свернул за угол.
— Ты, — сказала Ника медленно, — врёшь как дышишь.
— Это профессиональное.
— Ты айтишник или мошенник?
— А есть разница? — спросил я.
Она подумала. И впервые за всё время улыбнулась нормально. Не зло, не насмешливо. Просто улыбнулась.
— Ладно, Отладчик, — сказала она. — Пошли на рынок. Ботинки свои пока оставь. Пригодятся.
Я встал. Ставни за моей спиной висели поднятыми. Я посмотрел на них и мысленно попрощался. До Отката. После Отката флаг вернётся, ставни закроются. А завтра я снова их открою. И снова будет плюс три.
Я посчитал в уме. Плюс три каждый день. Девяносто в месяц. Тысяча в год.
Я не знал, сколько можно задолжать этому миру, прежде чем он придёт за долгом. Но что-то мне подсказывало, что не тысячу.
Технический долг: 4.
Маленькая цифра в правом нижнем углу. Безобидная. Как первая сигарета. Как первый кредит. Как первый костыль в коде, который ты ставишь со словами «потом переделаю».
Никто никогда ничего не переделывает потом.
Я это знал лучше всех.
Глава 3. Лифт, который едет вбок
До вокзала был километр по прямой.
По прямой мы не пошли.
— Лаг, — сказала Ника и остановилась так резко, что я врезался ей в спину.
Улица впереди выглядела нормально. Серый асфальт, серые дома, серое небо. Посреди проезжей части стоял троллейбус. Двери открыты, рога опущены. Обычный мёртвый троллейбус в обычном мёртвом городе.
Только над ним висел голубь.
Висел в воздухе. Неподвижно. Крылья раскинуты, клюв открыт. Как на фотографии.
— Это что? — спросил я.
— Лаг, — повторила Ника. — Там время тормозит. Зайдёшь — и застрянешь. Ты будешь думать, что прошла секунда, а снаружи пройдёт день. Или неделя. Или Откат.
— А голубь?
— А голубь тут уже месяц висит. Я его каждый раз вижу. Сначала жалела. Потом привыкла.
Я посмотрел на голубя «Логом».
Объект: Голубь сизый.
Статус: зависание процесса.
Причина: превышено время ожидания ответа.
Время в зависании: 34 дня, 6 часов, 12 минут.
Тридцать четыре дня голубь ждал ответа. Я знал людей, которые так ждали ответа от техподдержки. Они тоже выглядели примерно так. Крылья раскинуты, клюв открыт.
— А обойти?
— Справа — тоже лаг, через два квартала. Слева — Пустырь. Туда не ходим.
— Почему?
— Потому что оттуда не возвращаются.
— Это у вас тут любимая фраза, да?
— Это у нас тут правда, — сказала Ника. — Пойдём через «Вертикаль».
«Вертикаль» был торговый центр. Самый большой в городе. Восемь этажей стекла и бетона, на крыше — светящиеся буквы, которые никогда не светились полностью: всегда горело что-то вроде «ВЕРТИ ЛЬ». Я туда ходил за носками. Ирония в том, что носки, которые продавала наша компания, в «Вертикали» тоже продавались. В три раза дороже, чем на маркетплейсе. Я каждый раз стоял у стенда и чувствовал гордость и стыд одновременно.
— Через седьмой этаж, — объясняла Ника на ходу. — Там переход. Крытый мост до здания вокзала. Пройдём по нему — и мы на крыше вокзала. С крыши спуск прямо на рынок.
— А лифт там работает?
— В Изнанке ничего не работает, Отладчик. Пойдём по лестнице.
Мы вошли в «Вертикаль».
Внутри было красиво. Это я признаю. Мёртвые торговые центры вообще красивые — как соборы, из которых ушёл бог. Огромный атриум, стеклянный купол, сквозь который сочился серый свет. Фонтан посередине. Воды в фонтане не было, но в чаше лежали монетки. Много монеток. Я подошёл посмотреть. Монетки были настоящие. Пять рублей, десять, две копейки. Видимо, люди и здесь продолжали загадывать желания.
Магазины стояли открытыми. Витрины, манекены, вешалки. На вешалках — одежда. Я потрогал куртку в ближайшем магазине. Пластик. Твёрдый, гладкий, как у игрушки.
Объект: Куртка мужская (муляж).
Статус: декоративный.
Функциональность: отсутствует.
— Всё тут такое, — сказала Ника. — Красиво, а толку ноль. Как витрина в интернете.
Мы пошли к лестнице.
Лестницы не было.
То есть она была. На первом этаже. Ровно до середины пролёта. А дальше — ничего. Ступени обрывались в воздух, и между первым и вторым этажом зияла дыра. Ровная, аккуратная, как вырезанная ножницами.
— Вчера была, — растерянно сказала Ника.
— А сегодня нет.
— Вижу, что нет! — Она подошла к краю, заглянула наверх. — Откат иногда так делает. Что-то забывает вернуть. Обычно мелочи. Вывеску. Дверную ручку. А тут целая лестница.
Я посмотрел на дыру.
Объект: Лестничный пролёт (этажи 1–8).
Статус: не загружен.
Причина: ошибка при последнем Откате.
Ожидаемое время загрузки: не определено.
— Эскалатор? — спросил я.
— Муляж. Едет только на картинке.
Я огляделся. В углу атриума, за фонтаном, стоял лифт. Стеклянная капсула в стеклянной шахте. Панорамный. Я его помнил: в нормальном мире в нём вечно катались дети, вверх-вниз, вверх-вниз, а их мамы стояли внизу и делали вид, что не знают их.
Двери лифта были открыты. Внутри горел свет.
Горел.
— Ника, — сказал я. — А лифт, значит, ничего не работает?
Она обернулась. Увидела свет. Нахмурилась.
— Он всегда так. Свет есть, а не едет. Я пробовала. Все пробовали.
Я подошёл к лифту и посмотрел на него «Логом». Долго смотрел. Строки шли одна за другой, как в консоли при загрузке старого компьютера.
Объект: Лифт пассажирский панорамный.
Статус: исправен.
Питание: есть (источник не определён).
Ошибка: отсутствует целевой этаж.
Описание ошибки: этажи 2–8 не зарегистрированы в системе лифта.
Возможная причина: несовпадение версий объектов «Лифт» и «Здание».
Я засмеялся. Не удержался.
— Что? — подозрительно спросила Ника.
— Он не знает, куда ехать.
— В смысле?
— Лифт исправен. Но у него в памяти нет этажей. Он думает, что здание одноэтажное. Ему некуда ехать, вот он и стоит.
— И что?
— А то, что ему можно подсказать.
Она смотрела на меня с подозрением, которое я уже начинал узнавать. Это было подозрение курьера, которому клиент говорит: «Да вы просто поднимитесь, домофон не работает, но дверь всегда открыта».
— Это снова твой костыль?
— Снова.
— И снова плюс долг?
— Наверное.
— А ты понимаешь, сколько?
— Нет, — честно сказал я.
Ника посмотрела на дыру вместо лестницы. Потом на меня. Потом на свой нож. Потом вздохнула.
— Давай. Только в этот раз — для обоих. Я не собираюсь снова лететь спиной в стену.
* * *
Я вошёл в лифт и положил руку на панель с кнопками. Кнопок было девять: от «1» до «8» и ещё одна, без цифры, с маленьким колокольчиком. Вызов диспетчера. Интересно, кто тут был диспетчером.
«Костыль».
Навык «Костыль».
Выбран объект: Лифт пассажирский панорамный.
Выберите действие:
[Добавить параметр] [Изменить параметр] [Удалить параметр]
Я выбрал «Добавить параметр».
Введите параметр.
Вот тут я задумался. Ввести параметр. Куда? Как? Клавиатуры не было. Я попробовал просто подумать. Чётко, как пишут в техзадании.
«Целевой этаж: 7».
Параметр «Целевой этаж: 7» не может быть добавлен.
Причина: объект «Этаж 7» не найден.
Укажите целевой объект по координатам или выберите существующий.
По координатам. Ну конечно. Этажей в системе нет. Значит, надо указать не этаж, а место. Я примерно представлял, где седьмой этаж и где переход до вокзала. Над нами, метров двадцать вверх, и чуть в сторону — к западной стене.
Я сосредоточился. Представил точку. Вверх. Двадцать метров. Чуть в сторону. И подумал: «Вот сюда».
Координаты получены.
Внимание: указанные координаты не совпадают с осью движения объекта.
Скорректировать ось движения? [Да] [Нет]
Тут, наверное, надо было остановиться. Подумать. Почитать документацию. Посоветоваться с коллегами.
Но документации не было. Коллега стояла рядом, нетерпеливо постукивая ногой по полу. А я был айтишником, который трое суток не спал, а потом провалился в другой мир. Мой лимит на осторожность был исчерпан ещё в серверной.
Я нажал «Да».
Ось движения скорректирована.
Технический долг: +5.
Технический долг: 9.
Двери закрылись.
— Поехали? — спросила Ника.
— Поехали, — сказал я.
Лифт дёрнулся.
И поехал вбок.
* * *
Не вверх. Не вниз. Вбок. Горизонтально. Как вагон метро.
Стеклянная капсула вышла из шахты — просто прошла сквозь её стенку, как сквозь воду, — и поплыла через атриум. Над фонтаном. Мимо манекенов. Мимо пластиковых курток. Ника вцепилась в поручень так, что побелели пальцы. Я вцепился в Нику.
— Отладчик! — заорала она. — Что ты сделал?!
— Скорректировал ось!
— Куда?!
— Туда!
Я ткнул пальцем в направлении западной стены. Лифт, будто услышав, прибавил скорость. Стена «Вертикали» приближалась. Толстая, бетонная, с огромной рекламой мобильного оператора, на которой счастливая семья смотрела в телефоны.
— Мы врежемся!
— Не врежемся! — крикнул я. И подумал: «Наверное».
Мы не врезались.
Лифт прошёл сквозь стену. Сквозь счастливую семью, сквозь бетон, сквозь арматуру. Я видел всё это изнутри — серые слои, металлические прутья, пустоты, в которых висела пыль. Это длилось секунду. А потом мы были снаружи.
Висели над улицей. На высоте третьего этажа. Стеклянная капсула лифта в пустом сером воздухе, без шахты, без тросов, без ничего.
И продолжали двигаться.
Внимание: объект «Лифт» нарушил коллизию объекта «Стена несущая».
Технический долг: +1.
Технический долг: 10.
— Он не останавливается, — сказала Ника. Тихо. Слишком тихо. Так говорят люди, у которых паника перешла в ту стадию, где уже всё равно.
— Вижу.
— Почему он не останавливается?
Я посмотрел на лифт «Логом». Строки бежали быстро, я едва успевал читать.
Целевые координаты: [—].
Ошибка: целевые координаты сброшены при пересечении границы объекта «Здание».
Движение продолжается по инерции.
Ограничение движения: отсутствует.
— Он потерял точку, — сказал я. — Когда мы вышли из здания, координаты сбросились. Они были привязаны к «Вертикали». А теперь он просто едет. Пока не упрётся.
— Во что?
Я посмотрел вперёд.
Мы проплыли над улицей. Над крышей аптеки. Над троллейбусом и висящим голубем — я успел подумать, что голубю, наверное, странно видеть летящий лифт, но голубь был занят своим зависанием. Потом — над жилым кварталом. Над детской площадкой с пластиковыми горками. Над гаражами.
А потом город кончился.
Не постепенно. Не как обычно кончаются города — частным сектором, промзоной, полями. Город просто оборвался. Вот последний гараж, вот последний забор. А за ним — серая плоскость. Ровная, бескрайняя, как стол. И по ней — сетка. Тонкие белые линии, квадратами, до самого горизонта.
— Пустырь, — прошептала Ника. — Мы летим на Пустырь.
* * *
Лифт пересёк границу.
Звук пропал. Не стал тише — пропал совсем. Я открыл рот, сказал «Ника», и не услышал собственного голоса. Ника что-то кричала мне — я видел, как шевелятся её губы, — но не слышал ни слова.
Свет тоже изменился. Он стал плоским. Без теней. Как в старых компьютерных играх, где у предметов ещё не было объёма, а была только форма.
Под нами шла сетка. Белые линии на сером. Иногда между линиями торчало что-то недоделанное. Половина дерева — с одной стороны ствол и листья, с другой пустота. Скелет дома — только каркас, белые рёбра, без стен. Дорога, которая начиналась ниоткуда и уходила в никуда. Фонарный столб, вросший в землю горизонтально.
Зона: [не загружена].
Описание: отсутствует.
Внимание: пребывание в незагруженной зоне не рекомендуется.
Причина: не определена.
«Не рекомендуется. Причина не определена». Это было самое страшное сообщение, которое я видел. Хуже, чем «сто семнадцать Откатышей». Там хотя бы было понятно, чего бояться.
Ника дёрнула меня за рукав. Показала пальцем вниз и вправо.
Я посмотрел.
Там, на сетке, стоял человек.
Далеко. Метров двести, может, больше. Маленькая фигурка на бесконечной серой плоскости. Высокий. В длинном сером пальто. Руки в карманах. Он стоял неподвижно и смотрел — я это почувствовал, хотя лица на таком расстоянии разглядеть было нельзя, — смотрел на нас.
На меня.
Я попытался прочитать его «Логом».
Объект: [—].
Статус: [—].
Доступ запрещён.
Доступ запрещён. Впервые. До этого «Лог» читал всё: стены, голубей, лифты, людей. А тут — запрещён.
Фигура в сером пальто вынула руку из кармана. Медленно. И подняла её. Не помахала. Просто подняла, раскрытой ладонью к нам. Как поднимают руку, когда хотят остановить такси.
Или когда хотят сказать: «Я тебя вижу. Я запомнил».
Меня прошиб холодный пот. По-настоящему, весь, с головы до ног. Я не знал, кто это. Не знал, что это. Но всё моё тело, весь мой мозг, вся моя айтишная интуиция, которая годами предупреждала меня о падении серверов за полчаса до падения, — всё это заорало одним словом.
Беги.
А бежать было некуда. Я был в стеклянной коробке, которая плыла над пустотой.
В правом нижнем углу мигнула цифра.
Технический долг: 10.
Мигнула. Ещё раз. Красным. А потом снова стала белой.
Фигура опустила руку.
И вдруг её не стало. Просто не стало. Только что стояла — и нет. Серая плоскость, сетка, недоделанное дерево. Пусто.
Ника трясла меня за плечо. Я обернулся. Она показывала вперёд, и лицо у неё было белое.
Впереди сетка начинала подниматься. Медленно, плавно, как волна. Белые линии загибались вверх, к небу, складывались в стену. Огромную, до горизонта, во всю ширину. Граница. Край карты. И мы плыли прямо на неё.
Я не знал, что будет, если лифт упрётся в край карты. В играх обычно ничего хорошего. Либо застреваешь навсегда, либо проваливаешься в бесконечное падение. Ни то ни другое меня не устраивало.
Я положил руку на панель.
«Костыль».
Навык «Костыль».
Выбран объект: Лифт пассажирский панорамный.
[Добавить параметр] [Изменить параметр] [Удалить параметр]
Изменить параметр. Ось движения.
Назад. Мне нужно было назад. В город. Куда-нибудь, где есть звук, тени и нормальные предметы. На вокзал. Я представил вокзал. Его крышу — плоскую, с вентиляционными коробами, с ржавой антенной. Я её видел из окна офиса каждый день, восемь лет. Я знал её лучше, чем свою квартиру.
Вот туда.
Координаты получены.
Внимание: указанные координаты находятся вне текущей зоны.
Внимание: изменение оси движения в незагруженной зоне увеличивает технический долг вдвое.
Продолжить? [Да] [Нет]
Стена из белых линий была уже близко. Метров пятьдесят. Я видел, как дрожит воздух у её подножия.
— Да, — сказал я беззвучно.
Ось движения скорректирована.
Технический долг: +10.
Технический долг: 20.
Лифт остановился. Так резко, что мы с Никой впечатались в стекло. Потом развернулся — на месте, плавно, как стрелка компаса, — и поехал обратно.
Быстро. Очень быстро. Быстрее, чем раньше. Сетка под нами слилась в серое пятно. Недоделанные деревья мелькали, как столбы за окном поезда.
Граница города надвинулась и пропустила нас.
Звук вернулся. Сразу, весь, будто кто-то выдернул вату из ушей. Свист ветра. Скрип стекла. И Ника, которая орала мне прямо в ухо:
— …идиот! Ты идиот! Ты понимаешь, что ты сделал?! Ты понимаешь, куда ты нас?..
— Понимаю, — сказал я.
Мой голос. Я его слышал. Никогда ещё мне не было так приятно слышать свой голос.
Лифт пролетел над гаражами. Над детской площадкой. Над голубем, который всё так же висел над троллейбусом. Над аптекой. Впереди показалась крыша вокзала — плоская, с вентиляционными коробами и ржавой антенной.
Лифт начал снижаться. Мягко, аккуратно. Как будто он всю жизнь только этим и занимался — летал над городом и садился на крыши.
Коснулся крыши. Остановился. Двери открылись.
Целевые координаты достигнуты.
Объект «Лифт пассажирский панорамный» завершил движение.
Внимание: объект находится вне родительского объекта «Здание».
Объект будет возвращён на исходную позицию при ближайшем Откате.
Мы вывалились наружу. Я сел прямо на крышу, на пыльный рубероид, и некоторое время просто дышал. Ника стояла рядом, согнувшись, упираясь руками в колени. Её трясло.
— Кто это был? — спросила она наконец. Не про лифт. Не про Пустырь. Сразу про главное.
— Не знаю.
— Ты же всё видишь. Ты же всё читаешь.
— Его — не смог. Доступ запрещён.
Ника выпрямилась. Посмотрела в сторону, откуда мы прилетели. Там, за домами, за гаражами, был Пустырь. Отсюда его не было видно. Но я знал, что он там. И что там, на сетке, стоял кто-то в сером пальто и поднимал руку.
— Я про него слышала, — сказала Ника тихо. — Про серое пальто. Думала — байки. На рынке рассказывают. Что если долго жить в Изнанке и много брать, к тебе приходит Серый. И ты пропадаешь. Не умираешь. Пропадаешь. Как будто тебя никогда не было.
— Много брать?
— Так говорят. Я не знаю, что это значит.
Я посмотрел в правый нижний угол.
Технический долг: 20.
Двадцать. Почти за одно утро. Шаурма — три. Лифт — шестнадцать. Плюс один — от того, первого, чужого бага.
Я ещё не знал, где у этой шкалы конец. Но я уже знал, что у неё есть кто-то, кто за ней следит. И этот кто-то только что поднял руку.
«Я тебя вижу. Я запомнил».
— Ника, — сказал я. — Ты говорила, рынок внизу?
— Внизу.
— Пошли. Мне надо срочно поговорить с кем-нибудь, кто здесь давно.
— Зачем?
— Затем, — сказал я, вставая и отряхивая брюки, — что я, кажется, только что взял кредит. И даже не прочитал договор.
Ника посмотрела на меня. Потом на стеклянный лифт, который стоял посреди крыши вокзала, как сувенир, привезённый из очень плохого отпуска.
— Отладчик, — сказала она. — Пообещай мне одну вещь.
— Какую?
— Больше никогда. Никогда. Не нажимай «Да», не прочитав, что там написано.
Я подумал. Честно подумал. Перед глазами встали восемь лет работы. Тысячи окон. Тысячи кнопок «Да». Лицензионные соглашения на шестьдесят страниц, которые никто никогда не читал. Обновления, которые я ставил, не открывая список изменений. Сервер на двух кирпичах.
— Не могу, — сказал я. — Это было бы враньё.
— Ты же и так врёшь как дышишь.
— Тебе — не буду, — сказал я. И сам удивился, что сказал это всерьёз.
Ника хмыкнула. Отвернулась. Пошла к краю крыши, где из люка торчала верхушка пожарной лестницы.
— Рынок внизу, — бросила она через плечо. — Не отставай, балласт. И держи руки в карманах. Там за такие руки, как у тебя, убивают.
Глава 4. Рынок у вокзала
Рынок был в здании вокзала. В главном зале, где раньше продавали билеты и ждали электричек.
Билетов больше не продавали. Электрички не ходили. Но ждать тут по-прежнему умели.
Мы спустились по пожарной лестнице, обошли здание и вошли через боковую дверь. У двери стояли двое. Один — в кожанке, с арбалетом. Второй — огромный, в чёрной форме охранника, с щитом из дорожного знака «Уступи дорогу». Знак был погнутый и весь в царапинах. Видно, уступать дорогу ему приходилось часто и неохотно.
— Минута с носа, — сказал тот, что с арбалетом.
— Я новенький, — сказал я.
— Значит, минута с носа и ещё одна за то, что новенький.
Ника молча ткнула пальцем в воздух перед собой. Что-то там сделала — я видел, как дрогнули её зрачки, будто она читала невидимый экран. Арбалетчик кивнул.
— Две минуты. Проходите.
Огромный в форме охранника посмотрел на меня сверху вниз. У него было доброе круглое лицо, как у ребёнка, которого зачем-то поставили сторожить ворота. На бейдже, приколотом к груди, было написано: «Георгий. Служба безопасности ТЦ „Вертикаль“».
Я его узнал. В смысле, не лично. Но в «Вертикали» он стоял у входа, когда я ходил за носками. Каждый раз говорил «добрый день» и каждый раз провожал меня взглядом до самого стенда. Видимо, у меня было лицо человека, который собирается украсть носки.
— Добрый день, — сказал он.
— Добрый, — сказал я.
Он кивнул и отступил в сторону.
Пользователь: Георгий.
Класс: Танк.
Уровень: 9.
Особенность: [Обет правды].
«Обет правды». Интересно. Я хотел посмотреть подробнее, но Ника уже тянула меня внутрь.
* * *
Если вы никогда не были на рынке в мире, где деньги отменили, — представьте себе обычный рынок. А потом уберите из него деньги. И добавьте страх.
Главный зал вокзала был огромным. Высокий потолок с лепниной, люстры без лампочек, мозаика на стене: колхозница с снопом, рабочий с молотом, и почему-то пограничник с собакой. Под мозаикой, вдоль стен, стояли прилавки. Столы, ящики, перевёрнутые тележки. На прилавках лежало всё подряд. Консервы. Сухари. Батарейки. Ножи. Обувь. Аккуратные стопки одежды — настоящей, не пластиковой. Бутылки с мутной жидкостью. Детская игрушка — плюшевый заяц без одного уха. Велосипедный насос. Утюг.
Людей было много. Человек двести, может, триста. Все грязные, усталые, с одинаковым выражением лица — когда человек давно не спал по-настоящему и уже не помнит, что так бывает. Но они торговались. Громко, азартно, со вкусом. Как на любом рынке в любом мире.
— Три минуты за банку тушёнки? Ты с ума сошёл?
— Она со звёздочкой! Это ГОСТ!
— Это Откат её выплюнул, какой ГОСТ!
Минуты. Тут платили минутами.
— Объясни, — попросил я Нику.
Она остановилась у колонны, прислонилась к ней спиной и заговорила быстро, как курьер, который объясняет клиенту, почему его заказ приехал холодным.
— Каждое утро, после Отката, Система даёт тебе минуты. Сколько — зависит от того, как ты прожил ночь. Просто пересидел в укрытии — мало. Убил Откатыша — больше. Убил много — много. Минуты — это сохранение. Понимаешь?
— Нет.
— Смотри. — Она достала из кармана мой телефон. — Вот твоя трубка. Она пережила Откат, потому что была у тебя в кармане, а ты пережил Откат. Но если ты её положишь на прилавок, уйдёшь, а ночью будет Откат — её не станет. Всё, что не на тебе и не в сохранённом месте, исчезает. Чтобы вещь пережила ночь сама по себе, на неё надо потратить минуты. Привязать. Маленькая вещь — минута. Большая — больше. Дом — тысячи.
— А еда?
— Еда, которую съел, — твоя. Внутри тебя её никакой Откат не достанет. Еда в кармане — тоже твоя, пока ты жив. А еда на прилавке — исчезнет, если торговец на неё минуты не потратил.
— То есть торговцы…
— Тратят минуты, чтобы сохранить товар. А потом продают товар за минуты, чтобы было чем сохранить следующий товар. — Ника пожала плечами. — Экономика.
Я смотрел на рынок, и до меня медленно доходило. Это был не рынок. Это была гигантская система резервного копирования. Каждый человек здесь платил за то, чтобы мир не стёр его вещи. Каждую ночь. Каждый день. Бесконечно.
Я восемь лет пытался объяснить генеральному, почему нам нужны бэкапы. Он восемь лет отвечал, что это лишние расходы.
Генеральному бы здесь понравилось. Тут за бэкапы платили все. И никто не жаловался.
— А сколько у меня? — спросил я.
— Посмотри.
Я посмотрел. Мысленно, в интерфейс. Как я делал с «Логом», только внутрь себя. И нашёл. Маленькая строка, рядом с техническим долгом, которую я раньше не замечал.
Минуты: 0.
Технический долг: 20.
— Ноль, — сказал я.
— Ну конечно ноль, — сказала Ника. — Ты прятался в стене. За прятки не платят.
— А у тебя?
Она посмотрела на меня. Оценивающе, долго. Как человек, который решает, можно ли сказать соседу по палате ПИН-код от карточки.
— Сто сорок, — сказала она наконец. — Было сто сорок две. Две я только что заплатила за тебя на входе. Запиши.
— Записал.
— Нет, правда запиши. Ты мне должен две минуты. И шаурму.
— Шаурму я тебе уже дал.
— Это была первая шаурма. Она не считается. Она была за то, что я тебя не обобрала.
Логика у курьеров своя. Спорить я не стал.
* * *
— Мне нужен кто-то, кто здесь давно, — сказал я. — И кто знает про Серого.
Ника поморщилась при слове «Серый». Как будто я выругался в церкви.
— Таких двое. Первый — Кремень. Хозяин вокзала, глава клана «Стальной Нарзан». Он здесь лет восемь. Знает всё. Но спрашивать его ни о чём нельзя.
— Почему?
— Потому что за ответ он потом спросит с тебя. С процентами. Его ребята стоят на входе и берут плату — ты видел. Ещё они забирают половину лута у всех, кто ночует под этой крышей. Ещё они держат весы.
— Весы?
— Вон там. — Она показала в дальний угол зала. — Официальные весы. Если ты сдаёшь лут перекупщикам, всё взвешивают там. Сколько весит — столько минут. Весы держит Палыч. Это второй.
— Палыч?
— Счетовод. Старый дед. Он здесь ещё дольше Кременя. Говорят, лет пятнадцать. Говорит мало. Берёт дорого. Но врёт — никогда.
— Пошли к Палычу.
В дальнем углу, у бывшей кассы номер четыре, стоял стол. На столе — весы. Большие, старые, советские, с двумя чашами и стрелкой, которая подрагивала, как нос у собаки. Рядом с весами — счёты. Деревянные, с костяшками. Я таких не видел лет двадцать пять, с тех пор как бабушка пыталась научить меня на них считать и сдалась на сложении.
За столом сидел старик.
Маленький, сухой, в очках с толстыми линзами и в вязаной жилетке поверх рубашки. Рубашка была чистая. Это меня поразило больше всего — в мире, где все ходили грязными, у старика была чистая, отглаженная рубашка. С воротником.
Он не поднял головы, когда мы подошли. Он перекидывал костяшки на счётах. Щёлк. Щёлк. Щёлк-щёлк.
Над его головой «Лог» вывел:
Пользователь: Пётр Павлович.
Класс: Счетовод.
Уровень: 14.
Навык (известный): «Оценка».
Четырнадцатый уровень. Самый высокий, что я видел. Выше Толяна. Выше Георгия у входа.
— Пётр Павлович, — начал я.
— Палыч, — сказал старик, не поднимая головы. — Пётр Павлович остался в девяносто восьмом году вместе с моей пенсией. Чего надо?
— Информацию.
Щёлк. Щёлк.
— Информация стоит.
— У меня ноль минут.
Он поднял голову. Посмотрел на меня поверх очков. Глаза у него были светло-серые, водянистые, и очень, очень внимательные. Я вдруг почувствовал себя так, будто меня разложили на составные части и сейчас каждую часть взвесят.
Так оно, видимо, и было.
— Алексей, — сказал Палыч. Не спросил — сказал. — Уровень ноль. Класс… — Он запнулся. Брови его поползли вверх. Медленно, как два шлагбаума. — Отладчик.
Ника рядом со мной напряглась.
— Ты видишь класс? — спросил я.
— Я вижу цену, — сказал Палыч. — Всего. Цену вещи. Цену услуги. Цену человека. Класс — это часть цены. — Он снова посмотрел на меня, на этот раз как-то сбоку, будто прицеливаясь. — Цена тебе сегодня — двенадцать минут. Это немного. Ноль уровней, ноль минут, физическая форма… — он поморщился, — не будем об этом. Но есть ещё одна строка. Которую я давно не видел.
Он замолчал. Щёлкнул костяшкой.
— Минус двадцать, — сказал Палыч тихо. — Долг. У тебя долг, Алексей. Двадцать.
— Ты и это видишь?
— Я вижу цену. Долг — тоже цена. Только в другую сторону.
— Вы знаете, что это?
Палыч помолчал. Потом положил ладонь на счёты, сдвинул все костяшки влево. Чистый лист.
— Знаю, — сказал он. — Это стоит дорого. У тебя нет минут.
— Можно в долг?
Палыч засмеялся. Сухо, коротко, как будто кашлянул.
— У тебя уже есть один долг, мальчик. Не надо второго.
* * *
Я понял, что так ничего не добьюсь. Старик был не из тех, кто делает скидки. Таких я знал. Главбухи старой закалки. Они помнят каждую копейку с девяносто первого года. Им бесполезно жаловаться, их бесполезно умолять. С ними можно только меняться. Баш на баш.
Я посмотрел на весы.
Просто так посмотрел. От нечего делать. Чтобы потянуть время, пока придумаю, что предложить. Большие советские весы, две чаши, стрелка.
Объект: Весы рычажные товарные.
Статус: исправны.
Погрешность: 7,2% (в сторону уменьшения).
Причина: изменение параметра «Калибровка».
Изменён: пользователем Кремень (8 месяцев назад).
Я перечитал. Медленно. Я почувствовал знакомое тепло где-то в груди. То самое, которое бывает, когда находишь в чужом коде ошибку, из-за которой три месяца падали отчёты. Тепло пополам со злостью.
— Пётр Павлович, — сказал я. — То есть Палыч. Вы на этих весах всё взвешиваете?
— Весь лут, который сдают перекупщикам. Уже восемь лет.
— И считаете по ним минуты?
— Килограмм — минута. Тяжёлое — дороже. Так заведено.
— А вы знаете, что весы врут?
Щёлканье прекратилось.
Палыч медленно снял очки. Протёр их краем жилетки. Надел обратно.
— Что?
— Весы занижают вес. На семь целых две десятых процента. Уже восемь месяцев. Кто-то поменял калибровку.
— Кто?
Я посмотрел на Нику. Ника смотрела на меня большими глазами и мотала головой. Очень быстро и очень выразительно. Её голова говорила: «Не надо. Не говори. Ты не понимаешь, где ты».
— Это стоит дорого, — сказал я Палычу.
Старик смотрел на меня. Долго. За нашими спинами шумел рынок. Кто-то торговался за тушёнку. Кто-то ругался из-за батареек. А мы с Палычем смотрели друг на друга, как два бухгалтера на годовой проверке.
И вдруг он улыбнулся. Едва заметно. Одним уголком рта.
— Сорок минут, — сказал он.
— Шестьдесят.
— Сорок пять. И ответ на твой вопрос. Тот, про долг.
Я протянул руку. Палыч пожал её — у него была сухая, твёрдая ладонь, как у человека, который всю жизнь держал в руках ручку и счёты.
Получено: 45 минут.
Минуты: 45.
Сорок пять минут. Я почувствовал себя богачом. Глупо, конечно. Но я впервые в этом мире чем-то владел.
— Кремень, — сказал я. — Восемь месяцев назад.
Палыч не удивился. Совсем. Только лицо у него стало другим. Не злым — уставшим. Как у человека, который давно подозревал, что жена ему изменяет, и вот наконец увидел.
— Восемь месяцев, — повторил он. — Семь процентов. С каждой сделки. Через мои руки в день проходит минут шестьсот. Это… — Пальцы сами потянулись к счётам, щёлкнули. — Сорок две минуты в день. Тысяча триста в месяц. Десять тысяч за восемь месяцев.
Он помолчал.
— Десять тысяч минут. Которые эти люди, — он кивнул на рынок, — заработали ночью. Под Откатышами. А потом принесли сюда, ко мне. Потому что знали — Палыч не врёт.
— Это не вы соврали, — сказал я. — Это весы.
— Весы мои, — сказал Палыч. — Значит, и враньё моё.
Мне стало его жалко. Как плакат с одноглазой женщиной. Как голубя, который висел над троллейбусом.
Здесь вообще очень легко было начать всех жалеть. Я подумал, что это, наверное, тоже опасно.
* * *
— Теперь мой вопрос, — сказал я.
Палыч кивнул. Он снова взял себя в руки — сел прямее, поправил очки, сдвинул костяшки. Деловой старик. Сделка есть сделка.
— Технический долг, — сказал он. — Я видел его один раз. Давно. У одного человека.
— У кого?
— Это другой вопрос. Он стоит отдельно. — Палыч не улыбнулся, но мне показалось, что ему хочется. — Слушай, что я скажу. И запомни. Здесь всё имеет цену. Каждая вещь. Каждое действие. Система считает всё. Обычные люди платят минутами, потому что они берут у мира то, что мир им дал. Это честно. Мир дал — ты заплатил.
— А я?
— А ты берёшь то, что мир тебе не давал. — Палыч постучал пальцем по столу. — Ты меняешь правила. Чинишь то, что сломано. Ломаешь то, что целое. Открываешь закрытое. За это нельзя заплатить минутами. Это записывается в долг.
— А потом?
— А потом долг надо отдать.
— Кому?
Палыч долго молчал. Посмотрел на рынок. На мозаику с колхозницей и пограничником. На люстры без лампочек.
— Когда у тебя будет пятьдесят, — сказал он, — приходи. Поговорим про Серого. Сейчас рано. Сейчас ты ещё можешь остановиться.
— А если не остановлюсь?
— Тогда пятьдесят будет очень скоро, — сказал Палыч. — Я тебя знаю, мальчик. Видел таких. Такие не останавливаются.
Я хотел спросить ещё. Много чего. Про того человека, у которого он видел долг. Про Серого. Про пятьдесят. Но в этот момент за нашими спинами наступила тишина.
Не полная. Рынок не может замолчать полностью — это против его природы. Но громкость упала сразу на несколько делений. Как будто кто-то повернул ручку.
Я обернулся.
Через зал шли трое. Впереди — высокий, жилистый, лет пятидесяти, с седым ёжиком волос и шрамом через всю левую щёку. В расстёгнутой кожаной куртке. Под курткой — тельняшка. На поясе — тесак, длинный, как рука. Он шёл не спеша, и люди расступались перед ним сами. Не потому что он их толкал. Потому что так было правильно.
За ним шли двое. Одного я узнал сразу. Лысый, в спортивном костюме, с битой на плече.
Толян.
Толян тоже меня узнал. Его глаза расширились. Он наклонился к уху седого и что-то быстро зашептал.
— Кремень, — тихо сказала Ника. — Ну всё. Приехали.
Пользователь: Кремень.
Класс: Вожак.
Уровень: 19.
Статус: заинтересован.
Девятнадцатый уровень. Я почувствовал, как сорок пять минут в моём интерфейсе вдруг стали очень маленькими.
Кремень подошёл к столу Палыча. Остановился. Посмотрел на меня. Глаза у него были чёрные и спокойные. Глаза человека, который в своей жизни видел всё. Включая людей вроде меня. Особенно людей вроде меня.
— Палыч, — сказал Кремень. Голос был негромкий, хрипловатый, вежливый. — Как торговля?
— Торгуем, — сказал Палыч.
— Весы в порядке?
Это был вопрос. Простой, обычный вопрос. Но Палыч замер. Совсем чуть-чуть, на долю секунды. Пальцы на счётах дрогнули.
Кремень это заметил. Такие люди замечают всё.
— В порядке, — сказал Палыч. — Как всегда.
Он соврал. Палыч, который никогда не врёт, соврал. Ради меня. Или ради себя. Я не знал. Я только знал, что если бы он сказал правду, через минуту меня бы уже не было.
Кремень кивнул. Медленно перевёл взгляд на меня.
— А это кто?
— Новенький, — сказал Палыч. — Пришёл оценить себя.
— И как?
— Двенадцать минут.
Кремень усмехнулся.
— Дёшево. — Он помолчал. — Толян говорит, ты повар.
— Немного, — сказал я.
— Говорит, курицу где-то достал. Настоящую.
— Последнюю.
— Последнюю, — повторил Кремень. Он смотрел на меня, и я видел, что он не верит ни одному слову. И что ему это даже нравится. — Знаешь, повар, у нас тут правило. Всё, что находишь в моём городе, — половина моя. Это за охрану. За крышу. За то, что ты ночью спишь здесь, а не на улице.
— Я ещё здесь не спал.
— Будешь. — Кремень улыбнулся. Шрам на щеке изогнулся. — Все рано или поздно приходят спать сюда. Когда понимают, что на улице не выжить. И тогда платят. За всё, что нашли. С процентами.
Он повернулся и пошёл прочь. Толян и второй — за ним. Через три шага Кремень остановился и сказал, не оборачиваясь:
— Палыч. Завтра проверю весы. Сам.
И ушёл.
Рынок снова зашумел. Постепенно, неуверенно, как оркестр после того, как дирижёр уронил палочку.
Палыч сидел неподвижно. Смотрел на весы.
— Завтра он проверит весы, — сказал он тихо. — Увидит, что я знаю. И тогда…
— Тогда что?
— Тогда я здесь больше не сижу. — Палыч снял очки. Без очков он выглядел совсем старым. — Пятнадцать лет. Пятнадцать лет за этим столом.
Я посмотрел на весы. Потом на свой интерфейс.
Минуты: 45.
Технический долг: 20.
Я мог починить весы. Одним костылём. Вернуть калибровку. Кремень придёт завтра, увидит правильные весы и… что? Поймёт, что кто-то их починил. Узнает кто. Всё равно поймёт.
Нет. Здесь нужно было что-то другое. Не чинить. Ломать.
Или вообще ничего не трогать.
«Не трогай. Оно работает».
— Палыч, — сказал я. — А вы когда-нибудь ночевали не на вокзале?
Старик посмотрел на меня. Долго. Потом перевёл взгляд на Нику. Потом обратно.
— Лет пятнадцать как нет.
— Хотите попробовать?
— Где?
Я наклонился к нему и сказал тихо, чтобы никто, кроме него и Ники, не услышал:
— У меня есть одно место. Там холодильник. И в нём курица. Каждый день.
Палыч смотрел на меня. Его водянистые серые глаза медленно, очень медленно оценивали. Меня. Мои слова. Мою цену.
— Двенадцать минут, — пробормотал он. — Я ошибся. Ох, как я ошибся.
— В какую сторону?
Палыч не ответил. Он встал из-за стола. Взял счёты. Сунул их под мышку, как солдат берёт винтовку. Посмотрел на весы, на которых пятнадцать лет взвешивал чужую жизнь.
— Пошли, — сказал он. — Пока Кремень не передумал ждать до завтра.
Ника схватила меня за рукав.
— Ты понимаешь, что ты делаешь? — прошипела она. — Ты только что увёл у Кременя его весовщика. На его рынке. Средь бела дня.
— Я никого не уводил. Он сам идёт.
— Кремень так не подумает.
— Кремень, — сказал я, — подумает то, что подумает. Я на это не влияю.
Мы шли к выходу. Втроём. Мимо прилавков с тушёнкой, мимо плюшевого зайца без уха, мимо мозаики. Люди провожали нас глазами. Многие узнавали Палыча. Кто-то здоровался. Кто-то отводил взгляд.
У дверей стоял огромный охранник с дорожным знаком вместо щита. Георгий. Он посмотрел на Палыча. На счёты под мышкой. На меня.
— Пётр Павлович, — сказал Георгий. — Вы уходите?
— Ухожу, Гоша.
— Насовсем?
Палыч остановился. Посмотрел на великана снизу вверх.
— Гоша, — сказал он. — Если Кремень спросит, куда я ушёл, что ты ему скажешь?
Гоша подумал. Честно, медленно, морща лоб.
— Правду, — сказал он. — Что вы ушли с новеньким и с рыжей. В сторону аптеки.
Палыч кивнул. Как будто именно этого и ожидал.
— Тогда, Гоша, лучше тебе не смотреть, куда мы пойдём.
Гоша подумал ещё. Потом медленно, торжественно закрыл глаза. Обеими ладонями. Большими, как лопаты.
— Я не смотрю, — сказал он из-под ладоней. — Честно.
И я понял, что это правда. Он не смотрел. Он не мог смотреть, потому что пообещал. И не мог соврать, потому что не умел.
Особенность [Обет правды]: пользователь не может произнести заведомо ложное утверждение.
Штраф за нарушение: [данные скрыты].
Я посмотрел на этого огромного доброго человека, который стоял на страже бандитского вокзала и закрывал глаза ладонями, чтобы не выдать старика. И подумал: в мире, где все врут, человек, который не может соврать, — это либо святой, либо смертник.
А скорее всего, и то и другое.
— Пошли, — сказала Ника.
Мы вышли на улицу. Серое небо. Пустая площадь. Где-то вдалеке, в стороне Пустыря, на сером горизонте мне почудилась фигура в длинном пальто. Я моргнул — и её не стало.
Технический долг: 20.
Двадцать. Пока. До пятидесяти, сказал Палыч, ещё можно остановиться.
Я очень хотел ему верить.
Глава 5. Танк, который не умеет врать
Палыч ел шаурму так, как едят люди, которые пятнадцать лет не ели ничего, кроме сухарей. То есть медленно. С уважением. Маленькими кусочками. Не роняя ни крошки.
Он сидел на бордюре у шаурмичной, на том же месте, где утром сидела Ника. Счёты лежали рядом. Очки он снял и убрал в нагрудный карман — видимо, решил, что на шаурму смотреть надо невооружённым глазом.
Ника сидела на капоте мёртвой «девятки» напротив и ела вторую порцию. Первую она съела за сорок секунд, как будто боялась, что отнимут. Вторую растягивала.
Я стоял в дверях шаурмичной и вытирал руки о фартук. Фартук я нашёл на кухне. Он был белый, с надписью «Лучший повар в мире». Надпись выцвела, но читалась. Не знаю, чей это был фартук — Ашота или того, удалённого. Но на мне он смотрелся неплохо.
— Это, — сказал Палыч, дожевав, — стоит минут тридцать. Порция.
— Дорого.
— Это я ещё по старой цене считаю. По новой — сорок. Курицы ни у кого нет. Ни у Кременя, ни у кого. Это не еда, Алексей. Это валюта.
— Пусть будет еда, — сказал я. — Валют у меня и так хватает. Минуты. Долг.
Палыч посмотрел на меня поверх несуществующих очков. По привычке.
— Долг у тебя сколько?
Я проверил.
Минуты: 45.
Технический долг: 24.
Двадцать четыре. Плюс четыре — за то, что я поменял флаг на ставнях. Теперь «Не трогать» игнорировали трое: я, Ника и Палыч. Система долго думала, прежде чем это разрешить. Потом выдала окно с тремя предупреждениями и списком из двенадцати пунктов, которые я, конечно, не прочитал. Ника стояла рядом и смотрела на меня так, что я прочитал первые два. Ничего не понял, но прочитал.
— Двадцать четыре, — сказал я.
Палыч щёлкнул костяшкой на счётах.
— Быстро растёт.
— Я заметил.
— Это не упрёк. Это наблюдение.
— Палыч, — сказал я. — Почему вы сказали Кременю, что весы в порядке?
Старик помолчал. Положил недоеденный кусок шаурмы на колено, аккуратно, на салфетку.
— Потому что, если бы я сказал правду, он бы спросил, откуда я знаю. А я бы не смог не ответить. Я ведь, Алексей, не умею врать. Ну, то есть умею. Но плохо. Пятнадцать лет не практиковался. — Он помолчал. — Это первый раз за пятнадцать лет. Сегодня. Ради тебя.
— Спасибо.
— Не благодари. Это не подарок. Это вложение.
— А если вложение не окупится?
— Тогда, — спокойно сказал Палыч, — я ошибся в оценке. Это бывает. Редко. Но бывает.
* * *
Солнце в Изнанке не садилось. Солнца тут вообще не было. Но вечер всё равно наступал: небо становилось из светло-серого тёмно-серым, тени — длиннее, а воздух — холоднее. И в этом воздухе появлялось что-то тревожное. Как в офисе в пятницу в шесть вечера, когда все уже собираются домой, а у тебя на мониторе висит письмо с темой «СРОЧНО!!!».
— Через пару часов Откат, — сказала Ника, глядя в небо. — Пора решать, где ночуем.
— Здесь, — сказал я.
— Здесь?
— Шаурмичная пережила двадцать лет Откатов. Флаг «Не трогать». Откатыши в неё не заходят.
— А флаг для нас — твой костыль, — сказал Палыч. — Который действует до ближайшего Отката.
Я замолчал.
Об этом я не подумал. Мой костыль. До Отката. А что будет, когда Откат начнётся? Ставни закроются. Флаг вернётся. И для Ники с Палычем он снова будет работать.
А они будут внутри.
Я посмотрел на шаурмичную «Логом». Специально, внимательно, ища ответ.
Объект: Шаурмичная «У Ашота».
Статус: исключена из Отката.
Активные изменения: 1 (временное).
Поведение при завершении временного изменения: пользователи, находящиеся внутри объекта и не имеющие доступа, будут [не определено].
Не определено.
— Не определено, — сказал я вслух.
— Что не определено?
— Что будет с вами, если вы будете внутри, когда костыль кончится.
Палыч кивнул, как будто ждал именно этого.
— Тогда это плохое место для ночёвки, — сказал он. — «Не определено» в Изнанке значит «плохо». Всегда.
— Тогда вокзал, — сказала Ника. Сказала и сама поморщилась.
— После сегодняшнего? — Палыч усмехнулся. — Кремень пустит нас на вокзал. Конечно. Сначала в зал. Потом — в подвал. А потом нас никто не найдёт.
И в этот момент из-за угла вышел Гоша.
* * *
Он шёл медленно, тяжело, как идёт усталый медведь. Дорожный знак «Уступи дорогу» висел у него за спиной на ремне. Бейдж «Георгий. Служба безопасности ТЦ „Вертикаль“» болтался на груди.
Он увидел нас и остановился. Посреди улицы. Метрах в тридцати.
Ника соскочила с капота. Нож снова оказался у неё в руке — я опять не заметил, когда.
— Стой, где стоишь, — сказала она.
Гоша остановился. Послушно. Он вообще, кажется, всё делал послушно.
— Я стою, — сказал он.
— Тебя Кремень послал?
— Да.
— Зачем?
Гоша подумал. Честно, долго. Морщил лоб. Шевелил губами, как будто подбирал слова и проверял каждое на правдивость.
— Он сказал три вещи, — сказал Гоша. — Первое — передать Петру Павловичу, что Кремень его ждёт. Сегодня. До Отката. Второе — узнать, где повар берёт курицу. Третье — принести завтра утром половину моей заначки.
— Твоей заначки? — переспросил я.
— У меня есть заначка, — сказал Гоша. Просто и грустно. — Лекарства. В «Вертикали», в комнате охраны. Я их два года собирал. С Откатышей. Таблетки, бинты, мазь. Антибиотики есть. Это дорого.
— А зачем тебе лекарства?
— Не мне. — Гоша пожал огромными плечами. — Людям. Кто болеет. Я раздаю. Бесплатно.
Ника медленно опустила нож.
— Бесплатно, — повторила она. Таким тоном, каким говорят «единорог».
— Ну да. Они же болеют.
— А Кремень узнал.
— Он спросил, — сказал Гоша. — Сегодня. Прямо спросил: «Гоша, у тебя есть заначка?» А я не могу сказать «нет». Если есть — не могу. — Он развёл руками, большими, как лопаты. — Вот. Теперь он хочет половину. Говорит, всё, что под его крышей, — половина его. А я под его крышей два года сплю.
Я посмотрел на Гошу «Логом». Внимательно. На ту строку, которую видел утром.
Особенность [Обет правды].
Описание: пользователь не может произнести заведомо ложное утверждение.
Источник: добровольно принятая клятва (до попадания в Изнанку).
Штраф за нарушение: потеря класса; потеря уровней; [данные скрыты].
Добровольно принятая клятва. До Изнанки.
— Гоша, — сказал я. — А ты что, в прошлой жизни кому-то поклялся не врать?
Гоша покраснел. Медленно, от шеи до ушей. Это было удивительное зрелище — двухметровый охранник краснел, как школьник.
— Маме, — сказал он. — Когда мне было семь. Я разбил вазу и сказал, что это кот. А кота у нас не было. Мама плакала. Не из-за вазы. Из-за того, что я соврал. Я поклялся. Больше никогда.
— И не врал?
— Ни разу.
— Тридцать лет?
— Тридцать два. — Гоша подумал. — Наверное, тридцать два. Я не очень хорошо считаю.
Палыч, сидевший на бордюре, издал странный звук. Что-то среднее между смешком и вздохом.
— А Система, — сказал он, — взяла и записала. Как особенность класса. С штрафом. Она любит такие вещи. Обещания. Клятвы. Долги. Всё записывает.
Гоша стоял посреди улицы, огромный, красный и несчастный. Как собака, которую хозяин выгнал под дождь и она не понимает за что.
— Я не хочу отдавать лекарства Кременю, — сказал он. — Он будет их продавать. За минуты. А у кого нет минут — те умрут.
— Так не отдавай.
— Я обещал ему, что спрошу у Петра Павловича. И узнаю про курицу. И что приду завтра.
— Ты обещал принести половину?
Гоша нахмурился. Задумался. Шевелил губами.
— Нет, — сказал он медленно. — Он сказал: «Принесёшь половину». А я сказал: «Я приду». Только это.
— Значит, ты обещал прийти. Но не обещал принести.
— Ну… да.
— Тогда приходи, — сказал я. — С пустыми руками.
Гоша смотрел на меня. В его круглых добрых глазах медленно, очень медленно разгоралась надежда. Как лампочка на старом холодильнике.
— А если он спросит, где лекарства?
— А ты знаешь где?
— В комнате охраны.
— А если не будешь знать?
— Как это — не буду знать?
— Очень просто, — сказал я. — Ника, ты быстро бегаешь?
Ника посмотрела на меня. Потом на Гошу. Потом снова на меня.
И впервые за всё время нашего знакомства я увидел, как курьер Ника по-настоящему, широко, по-хулигански улыбается.
* * *
План был простой. Как все мои планы. Простой, кривой, на двух кирпичах.
Ника бежит в «Вертикаль». Через первый этаж — лестница не нужна, комната охраны рядом с главным входом. Забирает лекарства. Приносит сюда. Мы их прячем. Где — Гоше не говорим. Гоша идёт к Кременю и честно говорит: «Лекарств у меня нет. Где они — не знаю». И это будет правда.
— Лекарства сохранены, — сказал Гоша. — Я на каждую упаковку минуты тратил. Они не исчезнут, где бы ни лежали.
— Тем лучше.
— А если Кремень спросит: «Ты кому-то их отдал?»
— Ты не отдавал. Их взяла Ника.
— А если он спросит: «Ты знаешь, кто их взял?»
Я задумался. Гоша был прав. Кремень не дурак. Кремень будет задавать вопросы, пока не найдёт тот, на который Гоша не сможет ответить без правды.
— Тогда, — медленно сказал Палыч, — Гоше не надо идти к Кременю.
Все посмотрели на него.
— Он обещал прийти, — сказал я.
— Он обещал прийти завтра утром, — поправил Палыч. — Завтра — не сегодня. До утра много чего может случиться. Откат, например. — Он снова щёлкнул костяшкой. — Гоша, ты когда-нибудь ночевал не на вокзале?
Гоша моргнул. Тот же вопрос, который я задал Палычу. Палыч задал его Гоше. Нашими же словами. Мне стало странно — как будто я смотрел на запись самого себя.
— Два года — нет, — сказал Гоша.
— Хочешь попробовать?
Гоша посмотрел на шаурмичную. На ставни. На нас.
— А тут курица? — спросил он.
— Тут курица.
Гоша подумал. Очень долго. Потом снял со спины дорожный знак, поставил его на асфальт, как зонтик, и сел рядом с Палычем на бордюр. Бордюр скрипнул.
— Тогда я с вами, — сказал Гоша. — Если вы не против.
— А Кремень? — спросила Ника.
— Я не обещал ему, что буду с ним, — сказал Гоша. — Я обещал только прийти. Я приду. Завтра. Скажу, что ухожу.
— Он тебя убьёт.
— Может быть, — согласился Гоша. Без страха. Просто констатация. — Но врать я всё равно не буду.
* * *
Ника принесла лекарства через двадцать минут. Огромную спортивную сумку, набитую коробками, пузырьками и бинтами. Сумку она тащила за ремень, волоком, и ругалась всю дорогу так, что я узнал несколько новых слов.
— Тяжёлая, — сказала она, бросая сумку у моих ног. — Если бы это был заказ, я бы взяла двойной тариф.
— Запиши, — сказал я.
— Записала.
Я затащил сумку в шаурмичную. В кухню. Поставил в угол, за холодильником. Гоша сидел на бордюре спиной к двери и честно не смотрел. Он закрыл глаза ладонями, как днём, и сидел так всё время, пока я прятал сумку.
Когда я вышел, Палыч смотрел на меня.
— Ты понимаешь, что у тебя теперь самый дорогой склад в городе? — спросил он. — Бесконечная курица и лекарства на тысячи минут. В одной комнате. За ставнями, которые открываешь только ты.
— Понимаю.
— И что если кто-то узнает…
— Палыч, — сказал я. — Все меня об этом предупреждают. Я уже понял. Если кто-то узнает — меня убьют.
— Нет, — сказал Палыч спокойно. — Если кто-то узнает — тебя будут держать живым. Очень долго. Чтобы ты открывал ставни. Каждое утро. Это хуже.
Об этом я не подумал.
Я вдруг очень ясно себе представил. Подвал под вокзалом. Цепь. Каждое утро Толян ведёт меня к шаурмичной, я открываю ставни, Нарзан выносит курицу. Каждый день. Год. Десять лет. Как голубь в лаге. Как плакат, который грузится в четыре тысячи тринадцатый раз.
«Не трогай. Оно работает».
Меня передёрнуло.
* * *
Они пришли, когда небо стало почти чёрным.
Шестеро. Толян впереди, бита с колючкой на плече. За ним — пятеро. Двое с арбалетами, один с копьём из лыжной палки и кухонного ножа, двое просто с кулаками. Кулаки у них были такие, что оружие не требовалось.
Кремня с ними не было. Видимо, Кремень не ходил лично на такие мелочи.
Толян остановился посреди улицы. Метрах в двадцати. Посмотрел на шаурмичную с открытыми ставнями. На Палыча. На Нику. На меня в фартуке «Лучший повар в мире».
И на Гошу.
— Гоша, — сказал Толян. Удивлённо и немного обиженно. — А ты чё тут?
— Сижу, — сказал Гоша.
— Тебя Кремень за Палычем послал.
— Я передал. Пётр Павлович не захотел идти.
— А курица?
— Я узнал, где повар берёт курицу, — сказал Гоша. И замолчал.
Толян ждал. Гоша молчал.
— Ну? — сказал Толян.
— Я не скажу, — сказал Гоша.
— Как это — не скажешь?
— Я обещал узнать. Я узнал. Я не обещал сказать.
Толян стоял с открытым ртом. Я видел, как мешки с цементом в его голове пытаются уложиться в эту логику и не могут.
— Гоша, — сказал он наконец. — Ты чё, с ними?
Гоша встал. Медленно, тяжело. Поднял с асфальта дорожный знак. Повесил на руку, как щит.
— Да, — сказал он. — С ними.
— А заначка? Кремень сказал — половину.
— У меня нет заначки.
Толян прищурился.
— Гонишь.
— Я не гоню. Я не умею. Ты же знаешь.
Толян знал. Все знали. Это было видно по лицам его бойцов — они переглядывались. Гоша не врёт. Весь вокзал это знает. Если Гоша говорит, что заначки нет, — заначки нет.
— А где она?
— Не знаю, — сказал Гоша. Честно. Абсолютно честно.
Толян почесал лысину битой. Это было опасно — колючая проволока, — но он, кажется, привык.
— Короче, — сказал он. — Мне сказали: если Гоша будет с ними, всех взять. Повара — живым. Палыча — живым. Остальных — как получится.
Он снял биту с плеча.
— Без обид, Гош.
— Без обид, — серьёзно ответил Гоша.
И они пошли.
* * *
Я не боец. Я уже говорил. Последний раз я дрался в шестом классе, с мальчиком Серёжей, из-за того, кто первый пойдёт к компьютеру в кабинете информатики. Серёжа победил. Я потом три года писал ему домашку по информатике, чтобы он не победил ещё раз.
Поэтому я сделал то, что умею.
Я посмотрел.
Шестеро. Толян. Два арбалетчика. Копейщик. Два кулачника. «Лог» выдал по каждому строку, и строки полились на меня водопадом.
Пользователь: Толян. Класс: Громила. Уровень 7.
Пользователь: Санёк. Класс: Стрелок. Уровень 5.
Пользователь: Мага. Класс: Стрелок. Уровень 6.
…
Нет. Не то. Мне не нужны были их классы. Мне нужно было то, что можно сломать.
Я посмотрел на асфальт под их ногами.
Объект: Покрытие дорожное асфальтобетонное.
Параметр «Трение»: 0,7.
Уклон: 4° (в сторону перекрёстка).
Четыре градуса уклона. Улица шла немного под горку. Я никогда раньше этого не замечал. В нормальном мире четыре градуса — это ничего. А вот если убрать трение…
«Костыль».
Выбран объект: Покрытие дорожное (участок 15 × 8 м).
[Изменить параметр]
Параметр «Трение»: 0,7 → 0,0.
Технический долг: +5.
Технический долг: 29.
Арбалетчики поскользнулись первыми. Сразу, на первом же шаге. Ноги разъехались в стороны, как у новорождённых телят, и оба грохнулись на асфальт. Арбалеты выстрелили — один в небо, второй в окно аптеки. Стекло осыпалось.
Кулачники упали следом. Один попытался встать, схватился за товарища, и они вдвоём поехали. Медленно, плавно, на спинах, как на санках. Вниз по улице. В сторону перекрёстка.
Копейщик упёрся копьём в асфальт. Копьё скользнуло. Он тоже поехал.
Толян устоял.
Он стоял, широко расставив ноги, опустив центр тяжести, и бита в его руках не дрожала. Седьмой уровень. Громила. Он, кажется, вообще не понимал, что происходит, но тело его понимало и держало равновесие само.
Он поднял на меня глаза. Медленно. Злые.
— Ты, — сказал он. — Это ты.
И пошёл ко мне. Скользя, но пошёл. Маленькими шагами, как по льду. Бита поднялась.
Гоша шагнул ему навстречу.
Дорожный знак «Уступи дорогу» встретил биту с колючкой. Звон был такой, будто ударили в колокол. Толян отлетел назад — и тут же поскользнулся, наконец, на моём асфальте без трения. Взмахнул руками. Бита вылетела у него из рук, крутанулась в воздухе и улетела куда-то за остановку.
Толян рухнул на спину и поехал вниз по улице. Вслед за своими.
Я смотрел, как шестеро бойцов «Стального Нарзана» медленно, торжественно, на спинах, уезжают в сторону перекрёстка. Как пингвины с горки в документальном фильме. Один из арбалетчиков пытался грести руками. Это не помогало.
— Отладчик, — сказала Ника за моей спиной. Голос у неё был странный. — Это что сейчас было?
— Трение, — сказал я. — Я его выключил.
— Выключил трение.
— На участке пятнадцать на восемь. До Отката.
Ника помолчала.
— А если бы мы туда шагнули?
— Тоже бы поехали.
Палыч, всё это время сидевший на бордюре и не шевельнувшийся, вдруг засмеялся. Тихо, сухо, долго. Он смеялся, вытирая глаза платком, и счёты у него на коленях позвякивали.
— Пятнадцать лет, — сказал он сквозь смех. — Пятнадцать лет я смотрю, как они всех гнут. А тут — на спинах. Как дети с горки.
Гоша стоял посреди улицы, на границе моего костыля, с дорожным знаком в руке. Смотрел вниз, на перекрёсток, где шестеро Нарзанцев пытались встать и снова падали.
— Им не больно? — спросил он.
— Нет, — сказал я. — Обидно.
— Обидно — это ничего, — решил Гоша. — Обидно — это пройдёт.
* * *
Нарзанцы выбрались с моего катка минут через десять. Доползли до края на четвереньках, держась за бордюр. Толян нашёл свою биту за остановкой. Посмотрел на нас издалека. Долго.
— Ворота для вас закрыты! — крикнул он. — Ночью не приходите! Все! Слышишь, повар? Сдохнете на улице — сами виноваты!
И они ушли.
Мы остались вчетвером. На тёмной улице. У шаурмичной, в которую нельзя на ночь. С закрытыми воротами вокзала. И с небом, которое становилось всё темнее.
Внимание.
Откат начнётся через: 01:12:44.
Час двенадцать.
— Ну что, Отладчик, — сказала Ника. — Ещё есть гениальные идеи?
Я посмотрел на свой интерфейс.
Минуты: 45.
Технический долг: 29.
На Палыча. На Гошу. На Нику.
На крышу вокзала, которая виднелась над домами. Плоская, с вентиляционными коробами, с ржавой антенной. И со стеклянным лифтом посередине.
— Есть одна, — сказал я. — Только вам она не понравится.
— Мне уже ничего не нравится, — сказала Ника. — Говори.
— Крыша вокзала.
Палыч перестал улыбаться.
— На крыше иногда ночуют, — сказал он медленно. — Те, у кого нет минут на зал. Здание сохранённое. Откатыши в здание не входят. На крышу обычно не лезут.
— Обычно?
— Обычно, — повторил Палыч. — Пока там не стоит стеклянный лифт, которого там быть не должно.
Мы все посмотрели на крышу. На лифт. Он поблёскивал в сумерках, как ёлочная игрушка.
Как маяк.
— Ну, — сказал Гоша, — я пойду первым. Я Танк. Мне положено.
Он взял знак. Повесил на руку. И пошёл в сторону вокзала. Не оборачиваясь. Как будто уже всё решил.
Мы пошли за ним.
Глава 6. Ночь на крыше
На крыше вокзала мы были не одни.
У вентиляционного короба, завернувшись в одеяло, сидел мужик лет шестидесяти. Небритый, в кепке-восьмиклинке и в старой кожанке таксиста. Рядом с ним — женщина. Полная, в пуховике, с термосом в руках. Они сидели плечом к плечу и смотрели на нас без страха. Без интереса. Как смотрят люди, которых уже ничем не удивишь.
— Дядя Миша, — сказала Ника, подходя. — Тётя Лара. Привет.
— Привет, рыжая, — сказал дядя Миша. — Ты чего здесь? Ты ж в зале ночуешь.
— Уже нет.
— Кремень?
— Кремень.
Дядя Миша кивнул, как будто это всё объясняло. Видимо, объясняло.
— А это кто?
— Это Отладчик, — сказала Ника. — Палыча ты знаешь. Гошу знаешь.
Дядя Миша посмотрел на Палыча, на Гошу. Потом на меня. Потом на стеклянный лифт, который стоял посреди крыши.
— Это ваше? — спросил он, кивая на лифт.
— Моё, — признался я.
— Хорошая штука, — сказал дядя Миша. — Утром прилетел. Мы с Ларой думали — кино снимают.
— Какое кино, Миша, — вздохнула тётя Лара. — Какое тут кино.
Она открыла термос и налила в крышку что-то горячее. Протянула Гоше. Гоша взял, подул, отпил.
— Чай, — сказал он удивлённо.
— Чай, — подтвердила тётя Лара. — Сохранённый. Три минуты пачка. Пей, сынок.
Я сел на рубероид, привалившись спиной к вентиляционному коробу. Отсюда был виден весь город. Серые крыши, серые улицы. Шпиль какой-то церкви. Вывеска «ВЕРТИ ЛЬ» над торговым центром. А дальше, за последними домами, — ровная серая плоскость, расчерченная белыми линиями.
Пустырь.
Я смотрел туда, пока не заболели глаза. Никого. Ни фигуры, ни пальто.
— Сколько осталось? — спросил Палыч.
Откат начнётся через: 00:18:31.
— Восемнадцать минут.
— Тогда слушай, — сказал Палыч, усаживаясь рядом и поджимая под себя ноги. Счёты он положил на колени. — Откатыши в здание не входят. Здание сохранено. Это правило, оно работает уже много лет. Но крыша — не совсем здание. Крыша — это граница. Откатыши обычно до неё не поднимаются. Им незачем. Им нужно то, что на улице. Что не сохранено.
— Обычно, — повторил я.
— Обычно, — согласился Палыч. — Сегодня у нас тут есть кое-что, что не сохранено.
Он кивнул на лифт.
Я посмотрел на лифт «Логом».
Объект: Лифт пассажирский панорамный.
Статус: вне родительского объекта.
Внимание: объект является аномалией.
Аномалии привлекают объекты класса [Откатыш].
Аномалии привлекают Откатышей.
— Отлично, — сказал я. — То есть я поставил на крышу приманку.
— Ты поставил на крышу маяк, — поправил Палыч. — Приманка — это ты сам.
— Почему я?
— Потому что ты тоже аномалия, Алексей, — спокойно сказал Палыч. — Ты что, ещё не понял?
Я посмотрел на себя «Логом». Впервые. Мне раньше почему-то не приходило в голову это сделать. Как будто смотреть в зеркало, которое показывает не лицо, а внутренности.
Пользователь: Алексей Гордеев.
Класс: Отладчик (нестандартный).
Уровень: 0.
Технический долг: 29.
Внимание: пользователь является аномалией.
Я закрыл интерфейс. Быстро, как закрывают вкладку, которую не стоило открывать на работе.
— Можно ещё уйти, — сказала Ника. Тихо, мне одному. — Спрыгнуть. Убежать. Пусть они тут…
— Тут дядя Миша, — сказал я. — И тётя Лара. С термосом.
Ника посмотрела на стариков. На чай. На Гошу, который допивал из крышки и улыбался, как ребёнок.
Она ничего не сказала. Только достала нож и положила рядом с собой. На рубероид. Лезвием наружу.
* * *
Откат начался по расписанию.
Небо потемнело рывками. Щёлк. Щёлк. Щёлк. Город внизу стал серым каркасом, потом сеткой, потом бесконечными прозрачными слоями, уходящими в никуда. Только вокзал под нами оставался вокзалом — тёплым, плотным, настоящим. Как остров в океане.
Из тумана вышли Откатыши.
Сначала — как вчера. Медленно, бесцельно, бормоча своё «отмена, отмена». Шли по улицам, как по коридорам. Обходили вокзал стороной, как вода обходит камень.
А потом один остановился.
Я видел его отсюда, сверху. Высокий, сутулый, сделанный из кусков. Он стоял на площади перед вокзалом и медленно, со скрипом, поворачивал голову. Вверх. К крыше.
К лифту.
Объект [Откатыш] обнаружил аномалию.
Приоритет цели: высокий.
Второй остановился рядом с ним. Третий. Десятый.
— Палыч, — сказал я. — Они смотрят.
— Вижу.
— Много.
— Вижу, — повторил Палыч. Он снял очки. Протёр. Надел. — Сколько?
Я посчитал «Логом».
Объектов [Откатыш] в радиусе 100 м: 41.
Объектов, сменивших приоритет цели: 38.
— Тридцать восемь.
Дядя Миша, который всё это время сидел у короба, медленно встал. Снял кепку. Посмотрел в неё, будто там было что-то написано. Надел обратно.
— Лара, — сказал он. — Держи термос крепче.
* * *
Они полезли.
По пожарной лестнице. По водосточным трубам. По стенам — прямо по стенам, цепляясь пальцами за кирпичную кладку, за лепнину, за трещины. Тридцать восемь тварей, собранных из чужих обрывков, ползли на крышу, как муравьи на сахар.
Гоша встал у пожарного люка. Широко расставил ноги. Поднял знак «Уступи дорогу».
Первый Откатыш высунулся из люка — голова, собранная из куска манекена и экрана от старого телевизора. Гоша ударил его знаком. Звон, хруст — и голова исчезла обратно в люке. Вместе с телом.
— Один, — сказал Гоша.
Второй полез по водосточной трубе на противоположном углу. Ника оказалась там раньше, чем я успел моргнуть. Рывок — я впервые понял, как она это делает: она не бегала, она просто переставала быть в одном месте и начинала быть в другом. Нож мелькнул. Откатыш соскользнул с края крыши и полетел вниз.
— Два, — сказала Ника.
Третий. Четвёртый. Они лезли со всех сторон. Гоша держал люк. Ника металась по периметру, рыжий хвост мелькал в темноте. Дядя Миша, к моему огромному удивлению, достал из-за пазухи монтировку и встал у второй водосточной трубы. Бил он редко, но точно. Как человек, который тридцать лет водил такси в девяностые.
Палыч сидел у вентиляционного короба и смотрел. Губы у него шевелились. Пальцы перебирали костяшки на счётах. Щёлк, щёлк, щёлк.
— Гоша! — крикнул он. — Слева, тот, что с колесом вместо руки, — у него запас прочности на два удара! Два, не три!
Гоша ударил дважды. Откатыш с колесом развалился.
— Ника! Тот, что на трубе, — он медленнее тебя на четверть секунды! Не жди его, бей сразу!
Ника ударила сразу.
Я понял, что делает Палыч. «Оценка». Он видел цену. Цену каждого удара, каждого движения, каждой твари. Он считал. Как главбух считает смету. Сколько стоит этот Откатыш. Сколько ударов нужно, чтобы его списать.
А я стоял посреди крыши и ничего не делал.
Совсем ничего.
Объектов [Откатыш] на крыше: 3.
Объектов [Откатыш] на подъёме: 24.
Двадцать четыре на подъёме. А нас пятеро бойцов и одна тётя Лара с термосом. Гоша уже тяжело дышал. Ника пропустила удар — Откатыш задел её когтями по плечу, куртка порвалась, и на рукаве проступило тёмное пятно.
— Отладчик! — крикнула она, не оборачиваясь. — Сделай что-нибудь!
Я смотрел. Смотрел изо всех сил. Искал.
Объект [Откатыш]. Состав: удалённые данные. Параметр «Коллизия»: активна.
Коллизия.
Коллизия — это то, что не даёт предметам проходить друг сквозь друга. Стена не даёт тебе пройти, потому что у неё есть коллизия. Крыша держит Откатыша, потому что у них обоих есть коллизия.
А если её убрать?
Тогда крыша перестанет их держать. Они провалятся. Сквозь крышу. Вниз.
А внизу — здание. Сохранённое здание. Куда Откатыши не входят.
Что будет с Откатышем, который окажется внутри сохранённого здания? Я не знал. Но предполагал — так же, как предполагаешь, что сервер, на который пустили чужой процесс, этот процесс убьёт. Защита. Иммунитет. Здание их уничтожит.
Наверное.
Я обещал Нике читать, прежде чем нажимать «Да». Я помнил. Но Ника сейчас истекала кровью на краю крыши, а Гоша держал люк из последних сил, и времени читать не было.
Я так себе это объяснил. Потом. Много раз.
«Костыль».
Навык «Костыль».
Выбраны объекты: [Откатыш] × 27 (в зоне видимости).
[Изменить параметр]
Параметр «Коллизия» относительно объекта «Крыша здания вокзала»: активна → отключена.
Внимание: массовое изменение.
Внимание: технический долг будет начислен за каждый объект.
Внимание: изменение затрагивает родительский объект «Здание вокзала». Возможные последствия: [список, 14 пунктов].
Продолжить? [Да] [Нет]
Четырнадцать пунктов. Я их не прочитал.
Я нажал «Да».
Изменение применено.
Технический долг: +27.
Технический долг: 56.
* * *
Они провалились.
Все разом. Как будто крыша под ними стала водой. Откатыш, который замахнулся на Гошу, ухнул вниз по пояс, по грудь, по шею, — и исчез. Тот, что вцепился в Нику, разжал когти и ушёл в рубероид, как камень в болото. Те, что ползли по стенам, добирались до края — и проваливались, едва переступив через карниз.
Тишина.
Гоша стоял у люка с поднятым знаком и смотрел на пустое место, где только что был враг. Ника держалась за плечо. Дядя Миша опустил монтировку.
— Это ты? — спросила Ника.
— Я.
— Куда они…
И тут снизу закричали.
Не один голос. Много. Сразу. Крик поднялся из-под наших ног — сквозь рубероид, сквозь бетонные перекрытия, сквозь лепнину. Крик сотни людей, которые спали в главном зале вокзала, в своём сохранённом, безопасном здании, под крышей, куда Откатыши не входят.
А теперь Откатыши были внутри.
Я посмотрел вниз «Логом». Сквозь крышу. Строки шли, накладываясь одна на другую.
Объекты [Откатыш] × 27 находятся внутри периметра «Здание вокзала».
Защита периметра: применяется к объектам, пересекающим границу снаружи.
Объекты не пересекали границу. Объекты переместились сквозь неё.
Защита периметра: не применяется.
Не применяется.
Защита работала только на вход. На двери, на окна, на стены. Её строили, чтобы не пустить снаружи. Никто не подумал, что кто-то может просто… уронить Откатышей сквозь потолок.
Никто не подумал. Кроме меня. Только я подумал неправильно.
Пользователь: Санёк. Статус: удалён.
Строка всплыла сама. Я её не искал.
Пользователь: Нина Сергеевна. Статус: удалён.
— Нет, — сказал я. — Нет, нет, нет.
Пользователь: [без имени]. Статус: удалён.
Гоша уже был у люка. Отбросил крышку. Посмотрел на меня — один раз, быстро. В его круглых глазах не было упрёка. Только вопрос: «Ты идёшь?»
И прыгнул вниз.
* * *
Я не помню, как спустился. Помню пожарную лестницу внутри здания, узкую, железную, крутую. Помню, что поскользнулся и проехал пол-пролёта на спине. Помню, что Ника обогнала меня — она двигалась рывками, как всегда, и с каждым рывком оставляла на перилах тёмные пятна.
Потом я был в главном зале.
Было темно. Люстры без лампочек висели над головой, как скелеты. Свет давали только костры — люди жгли что-то в металлических бочках, — и в этом свете по залу метались тени. Люди. Откатыши. Не разберёшь, где кто.
Кто-то кричал. Кто-то бежал. Кто-то лежал и не двигался.
Мозаика на стене — колхозница, рабочий, пограничник с собакой — смотрела на всё это равнодушно. Она и не такое видела.
Я увидел Кременя.
Он стоял посреди зала, у бывшей кассы номер четыре, у стола Палыча, и рубил. Тесак в его руке двигался так быстро, что превращался в серебряную дугу. Откатыши подходили к нему — и разваливались. Один. Второй. Третий. Он не тратил ни одного лишнего движения. Девятнадцатый уровень. Вожак. Рядом с ним Толян махал битой, неуклюже, но страшно.
Гоша пробивался к ним через зал. Знак «Уступи дорогу» гремел о чужие головы. Он не дрался — он прикрывал. Встал над какой-то женщиной, упавшей у прилавка, и держал. Просто держал. Откатыши били по знаку, знак гнулся, Гоша стоял.
Ника была везде. Вспышка рыжего — и Откатыш падал. Вспышка — ещё один.
А я…
Я стоял у входа на лестницу. С пустыми руками. В фартуке «Лучший повар в мире».
Ко мне повернулся Откатыш. Маленький, ниже меня. Собранный из детской куклы, обрывка ковра и чего-то металлического. У него были глаза из пуговиц, и он смотрел на меня, наклонив голову, как будто узнавал.
— …отмена… — сказал он. — …отмена…
Я посмотрел на него «Логом». Машинально. По привычке.
Объект [Откатыш].
Состав: удалённые данные, 7 источников.
Источник 1: [Детская игрушка «Кукла Маша»]. Удалена 19 лет назад.
Источник 2: [Ковёр настенный]. Удалён 19 лет назад.
Источник 3: [Пользователь — данные удалены].
Пользователь. В нём был человек. Кусок человека. Удалённого девятнадцать лет назад.
Откатыш шагнул ко мне. Поднял руку — металлическую, с крючьями.
Рядом со мной на стене висел огнетушитель. Красный, советский, с облупленной краской. Я сорвал его и ударил. Не думая. Как Серёжу в шестом классе.
Откатыш упал. Я ударил ещё. И ещё. Он перестал двигаться. Рассыпался — на куклу, на ковёр, на ржавые крючья. А потом исчез и это.
Объект [Откатыш] уничтожен.
Получено: 4 минуты.
Четыре минуты.
Я стоял с огнетушителем в руках и смотрел на пустое место на полу. Четыре минуты. Вот сколько стоил кусок человека, удалённого девятнадцать лет назад. Четыре минуты.
— Алексей!
Палыч. Он спустился следом за нами — медленно, по лестнице, со счётами под мышкой. Стоял рядом и смотрел на меня.
— Не стой, — сказал он. — Или дерись, или уходи. Стоять — нельзя.
Я дрался.
Плохо, неумело, с огнетушителем. Палыч стоял у меня за спиной и говорил, куда бить. «Левее». «Ниже». «Сейчас». «Не этого, он уже кончается, следующего». Я бил. Иногда попадал. Мне было страшно, мне было тошно, но больше всего мне было стыдно.
Это сделал я. Я их сюда уронил.
Каждый раз, когда «Лог» выдавал строку «Пользователь удалён», я её видел. Я не мог её не видеть. «Лог» был пассивным навыком. Его нельзя выключить.
Пользователь: Мага. Статус: удалён.
Мага. Арбалетчик Толяна. Тот, который днём ехал на спине по моему катку и пытался грести руками.
Я снова поднял огнетушитель.
* * *
Откат кончился под утро.
Небо посветлело рывками. Щёлк. Щёлк. Последние Откатыши в зале замерли — и рассыпались сами. Как будто кто-то нажал «Отмена», и на этот раз она сработала.
Откат завершён.
Сохранение текущего состояния… выполнено.
Я сидел на полу у стены, под мозаикой. Огнетушитель лежал рядом. Пустой — я где-то в середине ночи сорвал с него чеку и залил пеной трёх Откатышей. Пена не помогла, но Откатыши, кажется, удивились.
Зал был разгромлен. Прилавки опрокинуты. Товары рассыпаны. Плюшевый заяц без уха лежал посреди пола, весь в пене.
Люди сидели вдоль стен. Перевязывали друг друга. Молчали. Кто-то плакал.
А в центре зала, накрытые чем попало — куртками, одеялами, картонками, — лежали те, кого больше не было. Нет, не так. Те, кто был, но уже ничего не значил. Удалённые не оставляли тел. Они исчезали. А это лежали вещи, которые от них остались. Куртка. Ботинки. Арбалет.
Семь кучек вещей. Семь человек.
Я сосчитал. Два раза. Потом закрыл глаза.
Подведение итогов ночи.
Уничтожено объектов [Откатыш]: 6 (лично), 21 (косвенно).
Получено минут за косвенное уничтожение: 168.
Получено минут за личное уничтожение: 24.
Минуты: 237.
Двести тридцать семь минут.
Система заплатила мне. За то, что я сбросил Откатышей на спящих людей. Сто шестьдесят восемь минут — «за косвенное уничтожение». Она посчитала это моей работой. Моей заслугой.
Я закрыл интерфейс. Мне хотелось его выбросить. Выдрать из головы. Не получалось.
Кто-то сел рядом. Я не открывал глаз. По запаху понял — пыль, бензин, тельняшка.
— Это ты, — сказал Кремень.
Не вопрос.
— Я.
— Толян видел. С крыши они провалились. Все разом. Как в люк. — Кремень помолчал. — Никто такого не умеет. Никто. Восемь лет я здесь. Никто.
Я открыл глаза.
Кремень сидел рядом, на полу, вытянув ноги. Тесак лежал у него на коленях. Весь в чём-то тёмном, что медленно испарялось. Лицо у Кременя было серое, усталое. Шрам на щеке казался глубже.
— Я хотел спасти крышу, — сказал я. — Думал, здание их уничтожит.
— Думал, — повторил Кремень.
— Думал.
Он долго молчал. Смотрел на семь кучек вещей посреди зала.
— Санёк у меня шесть лет был, — сказал он. — Мага — четыре. Нина Сергеевна тут торговала нитками. Ещё до меня. Она, знаешь, всем шила. Бесплатно. Пуговицы пришивала. — Он помолчал. — Остальных не знаю. Новенькие. Месяц, два.
Я молчал. Что тут скажешь.
— Ты знаешь, что я с тобой должен сделать? — спросил Кремень.
— Знаю.
— И что?
— Ничего, — сказал я. — Делай.
Кремень повернул голову и посмотрел на меня. Долго, внимательно, своими чёрными спокойными глазами. Я выдержал. Мне было уже всё равно.
— Нет, — сказал он наконец.
— Почему?
— Потому что ты сидишь тут и считаешь их, — сказал Кремень. — Я видел. Ты их считал. Два раза. — Он встал. Тяжело, опираясь на тесак. — Те, кто за такое не отвечает, — не считают. А ты считаешь. Значит, тебе и так хуже, чем я могу сделать.
Он постоял. Посмотрел вниз, на меня.
— До вечера, повар. До вечера тебя в моём городе быть не должно. Тебя, Палыча, рыжей. Гоша — пусть сам решает. Ещё раз увижу тебя у вокзала — разговора не будет. Понял?
— Понял.
Кремень ушёл. Толян пошёл за ним. На полпути Толян обернулся и посмотрел на меня. Не со злостью. Как-то странно. Как будто хотел что-то сказать. Потом не сказал. Ушёл.
* * *
Гоша сидел на ступеньках вокзала. Снаружи. Дорожный знак «Уступи дорогу» лежал рядом — погнутый так, что теперь на нём было не «Уступи», а что-то вроде «Уст пи». Гоша смотрел на серую площадь.
Ника сидела рядом с ним. Плечо у неё было перевязано — Гоша перевязал, из своих же бинтов, которые, как выяснилось, всегда носил в кармане. Она смотрела в другую сторону.
Палыч стоял чуть поодаль. Протирал очки.
Я вышел на ступеньки. Сел. Никто не повернулся.
— Тётя Лара и дядя Миша? — спросил я.
— Живы, — сказал Гоша. — Они на крыше остались. Там после тебя никого не было.
Хоть что-то.
— Я считал, — сказал я. Не знаю зачем. — Семеро.
— Семеро, — подтвердила Ника. Не поворачиваясь.
— Я не читал. Четырнадцать пунктов. Я не прочитал.
— Знаю.
— Ты просила. А я не прочитал.
Ника наконец повернулась. Посмотрела на меня. Глаза у неё были красные и злые, и где-то глубоко за злостью была усталость. Такая же, как у меня. Такая же, как у всех.
— Если бы ты прочитал, — сказала она, — ты бы не стал?
Я подумал. Честно, долго. Как Гоша.
— Не знаю, — сказал я. — Наверное, стал бы. Только по-другому.
— Вот именно, — сказала Ника. — Ты бы стал. Ты всегда будешь. Я это поняла ещё вчера, в стене. — Она отвернулась. — Просто в следующий раз читай. Хоть иногда. Хоть для меня.
Я ничего не ответил. Посмотрел в правый нижний угол.
Минуты: 237.
Технический долг: 56.
Пятьдесят шесть.
Палыч надел очки. Подошёл ко мне. Сел рядом на ступеньку — медленно, по-стариковски.
— Пятьдесят, — сказал он тихо. — Ты перешёл пятьдесят.
— Перешёл.
— Тогда пора поговорить, — сказал Палыч. — Про Серого.
Глава 7. Технический долг
Палыч рассказывал в шаурмичной.
Мы сидели на кухне, все четверо. Я — на табуретке у плиты. Ника — на столе для нарезки, болтая ногами. Гоша — на полу, потому что ни одна табуретка его не выдерживала, а стол был занят. Палыч — на единственном нормальном стуле, который я принёс из зала.
Холодильник гудел. На плите шкворчала курица. Пахло жареным мясом, кинзой и почему-то мандаринами.
Гоша успел сходить к Кременю. С утра, как обещал. Пришёл, встал перед ним и сказал: «Я ухожу». Кремень посмотрел на него и ответил: «Иди». И всё. Ни драки, ни угроз. Гоша рассказал это так просто, будто сходил за хлебом. Я подумал, что после этой ночи Кременю, наверное, было не до Гоши. А может, Кремень просто знал, что человека, который не умеет врать, нельзя удержать силой. Его можно удержать только правдой. А правды у Кременя для Гоши не нашлось.
— Пятнадцать лет назад, — начал Палыч, — я был новеньким. Как ты. Только старым.
Он помолчал. Взял кружку — минералка с оленем на этикетке, я разлил всем по кружкам, которые нашёл в шкафу. Отпил.
— Я попал сюда из бухгалтерии санатория. Закрывал год. Тридцать первое декабря, вечер. Сижу, свожу баланс. Не сходится на четыре копейки. Я его так, я его сяк. Четыре копейки. — Он усмехнулся. — И вот я нашёл эти четыре копейки. В три часа ночи. Нажал «Провести». И очнулся здесь.
— Из-за четырёх копеек? — спросила Ника.
— Из-за того, что я провёл документ в ту секунду, когда что-то случилось. Здесь у всех так. Кто-то что-то нажал. Кто-то что-то перезагрузил. Кто-то что-то сохранил. А мир в этот момент дёрнулся — и прихватил его с собой. — Палыч посмотрел на меня. — Ты ведь тоже что-то нажал. Так?
— Кнопку питания, — сказал я.
— Вот. А Гоша?
Гоша подумал.
— Я закрывал «Вертикаль» на ночь, — сказал он. — Нажал кнопку сигнализации. На пульте. Всё.
— А ты? — Палыч посмотрел на Нику.
Ника отвернулась.
— Не важно.
Палыч не стал настаивать. Кивнул и продолжил.
— Первые полгода я жил на вокзале. Тогда там не было Кременя. Тогда там вообще ничего не было — люди, страх и ночь. Я научился считать. Здесь мой класс как будто для меня сделали. «Оценка». Я смотрел на вещи — и видел, сколько они стоят. На людей — и видел, сколько они стоят. Меня стали звать. «Палыч, посмотри. Палыч, оцени. Палыч, честно скажи». Так я стал весовщиком.
Он снова отпил.
— А потом пришёл Стас.
* * *
— Стас был… — Палыч задумался, подбирая слово. — Стас был везучий. Так все думали. Молодой, быстрый, весёлый. Класс у него был обычный — Разведчик. Но он нашёл одну вещь.
— Какую?
— Дверь. В подвале старого универмага. Обычная дверь, деревянная, крашеная. Только если её открыть и подумать, куда хочешь, — она открывалась туда. В любое место в городе. На крышу. В подвал. На другой конец улицы. Хоть в запертую комнату.
Я выпрямился.
— Костыль.
— Тогда я этого слова не знал, — сказал Палыч. — Но да. Сейчас я понимаю. Кто-то когда-то поставил эту дверь. Кто-то, кто умел то же, что и ты.
Холодильник загудел громче. Или мне показалось.
— Стас пользовался дверью каждый день. Ходил через неё на охоту. Забирался туда, куда никто не мог. Таскал лут из запертых квартир, из банковского хранилища, из закрытых магазинов. Богател. Минуты у него были тысячами. А я смотрел на него и видел…
Он поставил кружку.
— Я видел, что у него растёт цена. В другую сторону. Как у тебя. Минус пять. Минус десять. Минус тридцать. Я ему говорил. Он смеялся. Говорил: «Палыч, ну какой минус, у меня три тысячи минут». А минус рос.
— Чужой костыль, — сказал я тихо. — Когда пользуешься чужим костылём, долг переходит на тебя. Частично.
Палыч кивнул.
— Ты это знаешь?
— Мне написали. В первую ночь. Когда мы прятались в стене. Плюс один.
— Вот, — сказал Палыч. — У Стаса было плюс один каждый раз, когда он открывал дверь. Каждый день. Иногда по десять раз в день. Год.
Я посчитал. В уме. Быстро, как привык.
— Он должен был дойти до ста месяца через три.
— Через три с половиной, — сказал Палыч. — Он ещё платил. Минутами. Когда я ему сказал, что минус растёт, он попробовал отдать. Система взяла. Десять минут — минус единица. Плохой курс. Очень плохой. Но у Стаса были тысячи, и он отдавал. И всё равно ходил через дверь. Потому что, — Палыч развёл руками, — ну как не ходить, если можно?
— И что было на ста?
Палыч долго молчал.
— Я был на рынке, — сказал он наконец. — Днём. Стас пришёл сдавать лут. Мешок, тяжёлый. Поставил его на весы. Я смотрю на весы, а потом поднимаю глаза — и вижу цифру. Над ним. Минус сто.
Он сглотнул.
— А рядом с ним стоит человек. В сером пальто.
Ника перестала болтать ногами.
— Я не видел, как он пришёл, — продолжал Палыч. — Он просто стоял. Рядом. Близко, как стоят в очереди. Высокий. Руки в карманах. Лица я не запомнил. Я пятнадцать лет пытаюсь вспомнить его лицо — и не могу. Как будто его нет. Как будто вместо лица — то место, куда не смотришь.
Мне стало холодно. Несмотря на плиту.
— Стас его не видел. Никто его не видел. Только я. Я хотел крикнуть — не смог. Горло не работало. А Серый вынул руку из кармана и положил её Стасу на плечо. Легко. Как старый знакомый.
— И что?
— Стас стал серым, — сказал Палыч. — Сначала плечо. Потом рука. Потом весь. Как будто из него вытекли цвета. Он даже не успел испугаться. Он смотрел на меня и улыбался — он хотел что-то сказать про мешок, про цену, — а потом его не стало.
— Он умер?
— Нет. — Палыч покачал головой. — Он пропал. Это другое. Когда человек умирает здесь, от него остаются вещи. Куртка, ботинки. Ты видел сегодня ночью. А от Стаса не осталось ничего. Ни мешка. Ни минут. Ничего. Серый просто убрал руку обратно в карман — и ушёл. А люди вокруг…
Он замолчал.
— Что люди?
— Люди его забыли, — тихо сказал Палыч. — Все. Сразу. Я на следующий день спрашивал. «Помнишь Стаса? Весёлый такой, Разведчик?» Никто. Ни один человек. Как будто его никогда не было. Только я помню. Потому что я его оценивал. Цена остаётся. Даже если человека нет — цена остаётся у меня в голове. Это моё проклятие, наверное.
На кухне было тихо. Только шкворчала курица и гудел холодильник.
— Дверь? — спросил я. — Та, в подвале универмага?
— Исчезла. На следующую ночь. После Отката её не было.
— Серый забрал и её.
— Наверное, — сказал Палыч. — Он забирает долг. Весь. С тем, что этот долг создало.
* * *
Я открыл интерфейс. Посмотрел.
Минуты: 237.
Технический долг: 61.
Порог взыскания: 100.
Строку «Порог взыскания» я раньше не видел. Она появилась, видимо, когда я перешёл пятьдесят. Скромно, в самом низу, мелким шрифтом. Как пункт в договоре, который никто не читает.
Красного цвета.
— Сто, — сказал я вслух. — Порог взыскания — сто.
— У Стаса было так же, — кивнул Палыч.
— У меня шестьдесят один.
— За три дня, — сказал Палыч. — Стасу понадобилось три месяца.
Ника спрыгнула со стола.
— Значит, хватит, — сказала она. — Всё. Больше никаких костылей. Ни одного. Отладчик, ты понял? Ни одного.
— Тогда ночью нам некуда идти, — сказал я.
— Найдём.
— Где? Вокзал закрыт. Крыша — тоже, если ты не хочешь ещё раз. Шаурмичная — мой костыль, плюс пять. Без него вы не войдёте.
— А в стене?
— В стене метр на метр. Нас четверо. Гоша один занимает метр на метр.
Гоша виновато пожал плечами. Плечи стукнулись о холодильник.
— Тогда плати минутами, — сказала Ника. — У тебя двести тридцать семь. Это двадцать три единицы. Отдай.
Я посмотрел на неё. Потом на Палыча.
Палыч молча щёлкал костяшками. Я видел, что он считает. Не меня. Не мой долг. Он считал что-то другое — и не говорил.
— Палыч, — сказал я. — Что вы считаете?
Он поднял глаза.
— Двести тридцать семь минут, — сказал он. — Из них сто шестьдесят восемь — за тех, кто провалился сквозь крышу. Сто шестьдесят восемь минут, которые Система тебе заплатила за семерых.
— Я знаю.
— Ты хочешь их отдать за свой долг?
Я молчал.
— Это твоё дело, — сказал Палыч. — Я не учу. Я считаю. Отдать двести минут — минус двадцать долга. Это много. Но этого мало. Ты не перестанешь. Я видел Стаса. Ты такой же. Ты будешь ставить костыли, потому что ты умеешь, и потому что каждый раз будет причина. Хорошая причина. Ночь. Откатыши. Друзья. — Он помолчал. — Значит, вопрос не в том, отдать или нет. Вопрос в том, что ты купишь на эти минуты, если не отдашь.
— А что можно купить?
— Время, — сказал Палыч. — Время, чтобы понять, как это работает. По-настоящему. Не через Стаса. Через тебя.
Я подумал.
Потом открыл интерфейс. Нашёл строку «Технический долг». Ткнул в неё — мысленно, как тыкал в «Лог».
Погашение технического долга.
Курс: 10 минут = 1 единица.
Укажите количество минут.
— Сто пятьдесят, — сказал я.
— Почему сто пятьдесят? — спросила Ника.
— Потому что сто шестьдесят восемь — их, — сказал я. — А у меня принципы. Не все, но некоторые. Восемнадцать минут я оставлю себе. На чай для тёти Лары. Остальное верну.
— Кому вернёшь? Системе?
— Системе. Она мне их дала — пусть заберёт обратно.
Погашено: 150 минут.
Технический долг: −15.
Технический долг: 46.
Минуты: 87.
Сорок шесть. Красная строка «Порог взыскания» не исчезла. Но стала, кажется, чуть бледнее.
Ника смотрела на меня. Долго. Потом снова села на стол и снова начала болтать ногами.
— Дурак ты, Отладчик, — сказала она. — Но не самый плохой.
* * *
Остаток дня мы потратили на то, что Палыч назвал «аудитом».
Я не спорил. Слово было правильное.
Палыч сел за стол в зале шаурмичной. Положил перед собой счёты. Попросил у Гоши блокнот — у Гоши, как выяснилось, был блокнот, маленький, в клеточку, с надписью «Журнал обходов». И начал задавать вопросы.
Каждый костыль. Когда. Что. Сколько.
Я отвечал. Палыч записывал. Кривыми цифрами, в столбик.
— Стена. Плюс один. Чужой.
— Ставни. Плюс три.
— Лифт, ось. Плюс пять.
— Лифт, коллизия со стеной. Плюс один.
— Лифт, Пустырь. Плюс десять. Почему десять?
— Незагруженная зона. Двойной тариф.
— Записал. Флаг для троих. Плюс четыре.
— Сегодня утром, флаг для четверых. Плюс пять.
— Трение. Плюс пять.
— Крыша. Плюс двадцать семь.
Палыч смотрел на столбик цифр. Щёлкал костяшками.
— Вижу закономерность, — сказал он наконец.
— Какую?
— Цена зависит не от того, что ты меняешь. А от того, сколько ты меняешь. И где. — Он ткнул пальцем в блокнот. — Ставни — один объект, плюс три. Трение — один участок, плюс пять. Крыша — двадцать семь объектов, плюс двадцать семь. Один объект — одна единица, плюс что-то за сложность. Пустырь — двойной тариф. Значит, есть места, где дороже. Может, есть места, где дешевле.
— Может, — согласился я.
— И ещё. — Палыч поднял на меня глаза. — Все твои костыли — до Отката. Ставни закрываются. Трение возвращается. Лифт улетает на место. А долг — остаётся.
— Остаётся.
— Значит, ты платишь каждый раз заново. За одно и то же. Ставни — каждый день плюс пять. Это сто пятьдесят в месяц. Ты дойдёшь до порога только на ставнях.
Я сам это уже считал. Но когда Палыч сказал вслух, стало хуже.
— Что делать?
— Не знаю, — честно сказал Палыч. — Я Счетовод. Я не Отладчик. Я вижу цену. Решать, платить или нет, — тебе.
Он закрыл блокнот. Протянул его Гоше. Гоша взял его осторожно, двумя пальцами, как будто это была чужая святыня.
— Можно я его сохраню? — спросил Гоша. — Минутой?
— Сохрани, — сказал Палыч. — Это первая бухгалтерия Отладчика. Когда-нибудь будет дорого стоить.
* * *
К вечеру я придумал.
Я сидел на бордюре у шаурмичной, смотрел на ставни и думал. Ставни были подняты — мой утренний костыль ещё действовал. Флаг для четверых: я поставил его, когда мы вернулись с вокзала. Плюс пять.
Костыль действует до Отката. Когда Откат начинается, костыль кончается. Ставни закрываются. Флаг «Не трогать» снова работает для всех, кроме меня. Все, кто внутри и без доступа, — «не определено».
А что, если поставить новый костыль после того, как Откат начнётся?
Я посмотрел на ставни «Логом». Медленно. Внимательно. Прочитал всё — каждую строку, каждое предупреждение. Как обещал. Пять минут читал. Ника ходила кругами вокруг меня и молчала. Это было для неё подвигом.
Временные изменения действуют до начала ближайшего Отката.
Изменения, внесённые после начала Отката, считаются внесёнными в следующий цикл.
Следующий цикл.
Значит, если я поставлю костыль через секунду после начала Отката — он будет действовать до следующего Отката. Целые сутки. Всю ночь. Весь день. До следующей ночи.
Только надо, чтобы в эту секунду никого не было внутри. Потому что «не определено».
— Ника, — сказал я. — Мне нужны все четверо снаружи. Когда начнётся Откат. Прямо у двери. Небо щёлкнет — ставни упадут — я ставлю костыль заново, ставни поднимаются — все внутрь. Секунд десять. Может, пятнадцать.
— А Откатыши?
— Они выходят из тумана. Туман идёт от вокзала. До нас — километр. Минуты две у нас есть.
Ника думала.
— А если не успеешь?
— Тогда мы все стоим на улице во время Отката, — сказал я. — И у нас есть стена с дыркой метр на метр. Вон там. Через дорогу. Я проверял.
— На четверых.
— Гоша выдохнет.
Гоша, сидевший рядом на асфальте, серьёзно кивнул.
— Я могу выдохнуть, — сказал он. — Я пробовал. Минуту могу.
Палыч слушал молча. Потом сказал:
— Плюс пять каждую ночь. Как сегодня утром.
— Как раньше, — согласился я. — Но без «не определено».
— Это не решение. Это отсрочка.
— Палыч, — сказал я. — Восемь лет я работал айтишником. Знаете, сколько раз я принимал решения? Ни разу. Только отсрочки. Вся наша отрасль стоит на отсрочках. Это называется «временное решение». Самое постоянное, что есть в мире.
Палыч хмыкнул. Отвернулся. Но я видел, что он улыбается.
* * *
Небо щёлкнуло ровно в тот момент, когда я на него смотрел.
Откат начинается.
Ставни упали. С лязгом, с грохотом, как гильотина. Серая плесень мгновенно наросла на металл — я видел, как она расползается, как будто кто-то перематывал видео.
Флаг «Не трогать». Для всех.
Я положил руку на ставни.
«Костыль». Читаю. Быстро, но читаю. Каждую строку. Ника стоит у меня за спиной и дышит мне в затылок.
Выбран объект: Ставни металлические.
[Изменить флаг] для: Алексей Гордеев, Ника, Пётр Павлович, Георгий.
Изменение будет внесено в следующий цикл.
Технический долг: +5.
Продолжить? [Да] [Нет]
Да.
Технический долг: 51.
Ставни поехали вверх.
— Внутрь! — крикнул я.
Гоша протиснулся первым — боком, задевая плечами косяк. Палыч — за ним, держа счёты над головой, как знамя. Ника — рывком. Я — последним.
Обернулся на пороге.
Город за моей спиной разбирался на слои. Аптека, остановка, одноглазая женщина на плакате — всё становилось каркасом, сеткой, пустотой. А со стороны вокзала полз туман. Белый, плотный, как молоко.
И у самой кромки тумана, на перекрёстке, стоял человек.
Не в сером пальто. Нет. В белой рубашке. Отглаженной, чистой, с коротким рукавом. Брюки со стрелками. На шее — шнурок с пластиковым бейджем, как у сотрудника на конференции. В руках у него был планшет. Он смотрел прямо на меня. И что-то записывал.
Туман дошёл до него. Обтёк. Не тронул. Как будто человек в белой рубашке был частью Отката. Как будто туман его знал.
Пользователь: [скрыто].
Класс: Администратор.
Уровень: [скрыто].
Статус: фиксирует нарушение.
Фиксирует нарушение.
Человек в белой рубашке поднял голову от планшета. Улыбнулся мне — вежливо, профессионально, как улыбаются в техподдержке, когда говорят: «Ваше обращение очень важно для нас».
И исчез в тумане.
— Отладчик! — Ника дёрнула меня за рукав. — Внутрь! Что встал?
Я шагнул внутрь. Ставни остались поднятыми. Через окно было видно, как по улице идут Откатыши. Мимо. Не глядя на шаурмичную. Как вода мимо камня.
Мы были в безопасности. Все четверо. Впервые.
Я сел на табуретку на кухне. Холодильник гудел. Курица на сковороде остыла, но пахла всё равно хорошо.
— Ника, — сказал я. — Кто такие Администраторы?
Ника, которая как раз собиралась сесть на стол, замерла. Палыч, разворачивавший одеяло, тоже замер. Даже Гоша перестал жевать.
— Где ты это слово слышал? — спросил Палыч. Тихо. Очень тихо.
— Видел, — сказал я. — Только что. На перекрёстке. Белая рубашка. Бейдж. Планшет. Фиксирует нарушение.
Палыч медленно сел на свой стул. Положил счёты на колени. Не стал щёлкать.
— Тогда у нас, Алексей, — сказал он, — появилась проблема похуже Серого.
Минуты: 87.
Технический долг: 51.
Порог взыскания: 100.
Глава 8. Администраторы
— Они служат Системе, — сказал Палыч.
Было утро. Четвёртое моё утро в Изнанке. Я стоял у плиты и жарил курицу — это уже стало ритуалом, как кофе в офисе. Ника сидела на столе. Гоша — на полу. Палыч — на стуле, со счётами.
— В смысле — служат? — спросил я.
— В прямом. Они считают, что Система — это бог. Что Откат — это очищение. Каждую ночь мир становится чище, потому что лишнее уходит. А они, Администраторы, — её жрецы. Они следят, чтобы всё работало правильно. — Палыч помолчал. — По их мнению — правильно.
— Где они живут?
— В мэрии. В белом здании на площади. Туда никто не ходит. Там всегда горит свет. В Изнанке нигде не горит свет, а там горит. И окна — чистые.
— Сколько их?
— Никто не знает. Видят их редко. Двоих, троих. Всегда в белых рубашках. Всегда вежливые. — Палыч поморщился. — Очень вежливые.
— И что они делают?
Палыч перестал щёлкать.
— Забирают, — сказал он. — Тех, кто… выделяется. Был у нас один парень, лет десять назад. У него класс был странный — «Эхо». Он мог повторить любое действие, которое видел. Любой навык. Через неделю за ним пришли. Двое, в белых рубашках. Сказали: «Ваше обращение зарегистрировано». Увели. Он не сопротивлялся. Улыбался даже. Больше его никто не видел.
— А ещё?
— Женщина. Она умела разговаривать с Откатышами. Они её слушались. Её тоже забрали. И ещё кто-то, и ещё. Раз в год, раз в два года. Всегда тех, кто — как ты.
— Аномалий.
— Аномалий, — кивнул Палыч. — Они так и говорят. «Мы устраняем аномалии. Для вашего же блага». И улыбаются.
Ника спрыгнула со стола.
— Значит, уходим, — сказала она. — Сейчас. Пока они не пришли. Куда-нибудь подальше. На другой конец города.
— И бросим холодильник? — спросил я.
— Да плевать на холодильник!
— И лекарства Гоши?
Ника замолчала. Посмотрела на Гошу. Гоша смотрел в пол.
— Мне не жалко, — сказал Гоша тихо. — Лекарства не важнее людей.
— Важнее, — сказал Палыч. — Сто человек на вокзале болеют. Без этих лекарств многие умрут. Это не моё мнение. Это цена.
Мы замолчали. Курица шкворчала. Холодильник гудел.
— К тому же, — сказал я, переворачивая курицу, — они знают, где мы. Вчера стоял на перекрёстке и записывал. Мы уйдём — они найдут. В Изнанке, где все друг друга знают, не спрячешься. Тем более с Гошей.
Гоша виновато пожал плечами. Плечи стукнулись о холодильник. Холодильник загудел обиженно.
— Значит, будем драться? — спросила Ника.
— Значит, будем разговаривать, — сказал я. — Сначала.
— А потом?
— А потом — как пойдёт.
* * *
Они пришли в полдень.
Я увидел их через окно. Пятеро. Шли по улице не спеша, ровным шагом, как идут люди, которые знают, что опаздывать им некуда. Белые рубашки с коротким рукавом. Брюки со стрелками. Бейджи на шнурках. У того, что шёл впереди, — планшет.
Тот самый. С перекрёстка.
Он был лет сорока, аккуратный, гладко выбритый, с залысинами, которые он не пытался скрыть. Очки в тонкой оправе. Лицо — как у менеджера среднего звена в банке, который отказывает тебе в кредите и при этом искренне сочувствует.
Остальные четверо были моложе. Двадцать с небольшим. Тоже в рубашках, тоже с бейджами. Только бейджи у них были другого цвета — не синие, как у старшего, а жёлтые. И лица — напряжённые. Как у стажёров на первой неделе.
Пользователь: Эдуард.
Класс: Администратор (старший).
Уровень: 23.
Права: расширенные.
Пользователь: [стажёр].
Класс: Администратор (младший).
Уровень: 11.
Права: ограниченные.
Двадцать третий. Выше Кременя.
— Гоша, — сказал я. — Дверь.
Гоша встал у входа. Знак «Уст пи» на руке. Ника — у окна, нож в рукаве. Палыч — за стойкой, со счётами.
Я вышел на улицу. Один. В фартуке «Лучший повар в мире».
Эдуард остановился в пяти шагах. Стажёры встали полукругом за ним. Эдуард улыбнулся.
— Добрый день, — сказал он. Голос был мягкий, приятный. Как у оператора колл-центра. — Алексей Гордеев?
— Он самый.
— Меня зовут Эдуард. Я старший администратор. — Он слегка поклонился. — Мы получили информацию о нарушении. Ваше обращение зарегистрировано под номером четыре тысячи четыреста семьдесят один.
— Я ничего не обращался.
— Обращение было создано автоматически, — терпеливо объяснил Эдуард. — По факту обнаружения аномалии. Вы — аномалия, Алексей. Это не оценочное суждение. Это технический статус.
— И что вы хотите?
— Мы хотим вам помочь. — Улыбка не дрогнула. — Аномалии очень опасны. Для мира. Для окружающих. И в первую очередь для них самих. Вы ведь уже почувствовали, верно? Технический долг. Порог взыскания.
Он знал. Конечно, он знал.
— Мы можем это исправить, — продолжал Эдуард. — У нас есть специалисты. Есть процедуры. Вы пройдёте с нами в административный центр. Мы проведём диагностику. Обнулим ваш долг.
— А потом?
— А потом вы будете жить спокойно. Без долга. Без страха. — Эдуард развёл руками. — Разве не этого вы хотите?
Я смотрел на него. Он говорил гладко. Слишком гладко. Как говорят на тренингах продаж. Я восемь лет слушал таких на совещаниях. Подрядчики. Интеграторы. Внедренцы. Они всегда приходили с улыбкой и обещали, что после внедрения всё будет работать. Никогда не работало.
— А тот парень? — спросил я. — С классом «Эхо». Десять лет назад. Он тоже живёт спокойно?
Эдуард моргнул. Один раз. Улыбка осталась на месте.
— Обращение по этому пользователю закрыто, — сказал он. — Информация не подлежит разглашению.
— А женщина, которая разговаривала с Откатышами?
— Обращение закрыто.
— А сколько всего обращений было закрыто?
— Алексей, — мягко сказал Эдуард. — Я понимаю, вам страшно. Это нормально. Но поверьте, мы действуем в ваших интересах. — Он чуть повернул голову. — И в интересах ваших друзей. Пётр Павлович. Георгий. Девушка — без фамилии. У них тоже есть технический долг. Перенесённый. От вас. Маленький, но есть. Вы ведь знали?
Я не знал.
Я посмотрел через плечо. На Гошу в дверях. На Нику в окне.
Пользователь: Георгий.
Технический долг (перенесённый): 3.
Пользователь: Ника.
Технический долг (перенесённый): 4.
Они пользовались моими костылями. Входили через ставни. И каждый раз — частично — брали мой долг на себя.
Как Стас с дверью.
Эдуард смотрел на меня и видел, что я понял. Он кивнул. Сочувственно.
— Пройдёмте с нами, — сказал он. — И всё закончится. Для всех.
* * *
Я подумал.
Честно подумал. Потому что часть меня хотела согласиться. Маленькая, уставшая часть, которая трое суток не спала перед закрытием квартала, а потом провалилась в другой мир, а потом уронила Откатышей на спящих людей. Эта часть очень хотела, чтобы кто-то пришёл и сказал: «Всё, хватит. Мы всё исправим».
Но остальной я восемь лет работал с подрядчиками.
— Нет, — сказал я.
Эдуард вздохнул. Тихо, огорчённо, как вздыхает врач, когда пациент отказывается от операции.
— Мне жаль это слышать, — сказал он. И коснулся планшета.
Пользователь Эдуард применил: «Блокировка навыка».
Цель: Алексей Гордеев.
Навык «Костыль»: заблокирован.
Время блокировки: 10:00.
Вот так. Одним касанием. Я попробовал — мысленно — вызвать «Костыль». Ничего. Пустое место там, где раньше была кнопка. Как будто у меня отрубили руку, и я пытаюсь ею пошевелить.
— Это временная мера, — сказал Эдуард. — Для вашей безопасности. Ребята, проводите Алексея. Аккуратно, пожалуйста.
Стажёры шагнули вперёд.
И из шаурмичной вылетел Гоша.
* * *
Говорят, танки не бегают. Гоша не бежал. Он просто пошёл — быстро, тяжело, как идёт поезд, который набирает ход. Знак «Уст пи» выставлен вперёд. Первый стажёр не успел даже повернуться. Знак встретил его грудь, и стажёр отлетел метра на три, кувыркаясь, как кегля.
— Извините, — сказал Гоша.
Второй стажёр вскинул руку. С его пальцев сорвалось что-то белое, похожее на лист бумаги. Лист полетел в Гошу, приклеился к знаку — и знак замер. Застыл в воздухе. Гоша дёрнул — знак не сдвинулся.
Пользователь [стажёр] применил: «Ограничение доступа».
Объект «Знак дорожный» заблокирован.
— Ой, — сказал Гоша. Отпустил знак. Знак так и остался висеть в воздухе. — Ладно.
И ударил кулаком. Без знака. Просто кулаком. Стажёр сел на асфальт и задумался о жизни.
Ника вылетела из окна. Рыжая вспышка. Третий стажёр получил ногой в живот, не успев понять, откуда. Ника исчезла. Появилась за четвёртым. Нож у его горла.
— Стоять, — сказала она.
Эдуард коснулся планшета.
Пользователь Эдуард применил: «Блокировка навыка».
Цель: Ника.
Навык «Рывок»: заблокирован.
Четвёртый стажёр ударил локтем назад. Ника, лишённая рывка, не успела увернуться. Локоть попал ей в раненое плечо — то самое, со вчерашней ночи. Она вскрикнула. Нож выпал. Стажёр развернулся, схватил её за руку и бросил через бедро. Неумело, но сильно. Ника упала на асфальт.
На бинте на её плече проступило красное. Много красного.
Пользователь: Ника.
Статус: кровотечение.
Здоровье: 41%.
— Ника! — крикнул Гоша. Развернулся к ней.
Эдуард коснулся планшета ещё раз.
Пользователь Эдуард применил: «Вопрос».
Цель: Георгий.
— Георгий, — сказал Эдуард, всё тем же мягким голосом. — Вы хотите причинить вред сотрудникам администрации?
Гоша остановился. Как вкопанный. Лицо его исказилось — я видел, как он борется.
— Нет, — сказал он. Правду. Он не хотел. Он никогда никому не хотел вреда.
— Тогда, пожалуйста, отойдите и сядьте на бордюр, — сказал Эдуард.
— Я… — Гоша стоял. Кулаки сжаты. — Я не обещал вам сесть.
— Вы только что сказали, что не хотите причинять вред. Если вы продолжите — вы солжёте. Своими действиями. Это тоже ложь, Георгий. Вы же знаете.
Гоша замер.
Я видел, как он дрожит. Огромный, сильный, добрый — и связанный по рукам и ногам собственной правдой. Эдуард нашёл его слабость за три секунды. Не силой. Словами. Вежливо.
Гоша сел на бордюр. Медленно. Закрыл лицо руками.
— Простите, — сказал он из-под ладоней. — Простите. Я не могу.
* * *
Я стоял посреди улицы. Без костыля. Без оружия. В фартуке.
Ника лежала на асфальте, красное пятно расползалось по куртке. Гоша сидел на бордюре. Палыч — за стойкой, в шаурмичной, за стеклом. Я видел его лицо. Он смотрел на меня и щёлкал костяшками. Быстро. Очень быстро.
Двое стажёров поднимались. Двое шли ко мне.
Эдуард стоял на месте и улыбался.
— Видите, Алексей, — сказал он. — Всё могло быть проще.
Навык «Костыль»: заблокирован.
Время блокировки: 06:12.
Шесть минут.
Мне нужно было шесть минут. Или хоть что-то.
Костыль заблокирован. А «Лог»? «Лог» — пассивный. Его нельзя включить или выключить. Значит, его нельзя и заблокировать.
Я посмотрел на Эдуарда. Не на него самого — на него, я знал, не получится. «Доступ запрещён», как с Серым. Я посмотрел на его планшет.
Объект: Планшет служебный.
Владелец: Эдуард.
Права: стандартные (объект).
Активные обращения: 1.
Обращение №4471.
Тема: Аномалия «Отладчик».
Статус: В работе.
Исполнитель: Эдуард.
Связанные исполнители: [стажёр] × 4.
Действия, привязанные к обращению: «Блокировка навыка» × 2; «Ограничение доступа» × 1; «Вопрос» × 1.
Условие закрытия обращения: аномалия доставлена в административный центр ИЛИ статус изменён на «Решено».
Я перечитал. Последнюю строку — три раза.
Статус изменён на «Решено».
Всё, что они со мной делали, — блокировки, ограничения, вопросы — было привязано к обращению. К тикету. Как в любой нормальной системе техподдержки. Нет тикета — нет работы. Закрыл тикет — работа закончена. Все действия по нему — отменяются.
А планшет — обычный объект. Права стандартные. Не администраторские. Его я мог бы…
Если бы у меня был костыль.
Навык «Костыль»: заблокирован.
Время блокировки: 05:31.
Стажёры подошли. Двое. Взяли меня под руки. Вежливо, аккуратно, как в хорошей больнице берут пациента, которого надо отвести на процедуру.
— Пожалуйста, не сопротивляйтесь, — сказал один. Ему было лет двадцать два. У него на бейдже было написано «Кирилл. Младший администратор. Стаж: 2 года».
— Кирилл, — сказал я. — А ты как сюда попал?
Он моргнул.
— Это… не имеет отношения к обращению.
— Я понимаю. Просто интересно. Что ты нажал?
Он молчал. Мы шли. Медленно, вслед за Эдуардом, по улице к перекрёстку. Я тянул время. Каждым словом. Каждым шагом.
— Я обновлял прошивку на роутере, — сказал вдруг Кирилл. Тихо. — У мамы. Она попросила.
— И как?
— Не обновил.
— У меня тоже такое было, — сказал я. — Роутер потом три дня не включался. Мама звонила каждые десять минут.
Кирилл почти улыбнулся. Почти. Потом спохватился и сделал серьёзное лицо.
Время блокировки: 03:48.
— Алексей, — сказал Эдуард, не оборачиваясь. — Не надо. Кирилл хороший сотрудник. Не сбивайте его.
Мы прошли мимо аптеки. Мимо остановки. Одноглазая женщина на плакате смотрела на меня. Зелёным глазом.
* * *
Палыч вышел из шаурмичной.
Медленно, по-стариковски. Со счётами под мышкой. Он подошёл к Нике, которая всё ещё лежала на асфальте. Наклонился. Что-то сказал ей. Ника кивнула.
Потом Палыч выпрямился и пошёл за нами.
— Эдуард, — сказал он. Негромко. Но Эдуард остановился.
— Пётр Павлович, — сказал Эдуард, оборачиваясь. — Рад вас видеть. Вы что-то хотели?
— Оценить, — сказал Палыч. — Можно?
Эдуард улыбнулся. Он, видимо, решил, что старик безобиден. Что сейчас будет торговаться. Или просить.
— Пожалуйста.
Палыч посмотрел на него. Долго. Своими водянистыми серыми глазами. Я знал этот взгляд. Он раскладывал Эдуарда на части и взвешивал каждую.
— Двести сорок минут, — сказал Палыч. — Вот сколько стоит ваша блокировка, Эдуард. Каждая. Вы потратили две. Это четыреста восемьдесят. Ограничение доступа — восемьдесят. Вопрос — шестьдесят. Итого шестьсот двадцать. У вас было восемьсот. Осталось сто восемьдесят.
Улыбка Эдуарда дрогнула. Совсем чуть-чуть. Но дрогнула.
— Ещё одну блокировку вы не потянете, — продолжал Палыч спокойно. — Когда кончится время на Алексее — вы не сможете заблокировать его снова. Вы рассчитывали довести его до мэрии за десять минут. До мэрии — двенадцать. Я считал. Я, Эдуард, всегда считаю.
Время блокировки: 01:57.
Эдуард смотрел на Палыча. Потом на меня. Потом на планшет. Я видел, как он считает тоже. Быстро. Профессионально.
— Ускорьтесь, — сказал он стажёрам. Голос уже не был мягким.
Кирилл и второй потащили меня быстрее. Я упёрся ногами. Меня потащили волоком. Ботинки скребли по асфальту.
— Гоша! — крикнул Палыч.
Гоша поднял голову с бордюра.
— Гоша, — сказал Палыч. — Ты хочешь причинить вред сотрудникам администрации?
— Нет, — сказал Гоша.
— А ты хочешь помочь Алексею?
Гоша моргнул.
— Да, — сказал он. Медленно. И вдруг — я увидел — его лицо изменилось. Прояснилось. Как будто в голове открылось окно. — Да. Хочу.
— Тогда помоги, — сказал Палыч. — Не делая им вреда. Ты умеешь.
Гоша встал.
Он подошёл к нам. Спокойно, неторопливо. Стажёры смотрели на него с ужасом. Гоша не стал их бить. Он просто обнял меня. Сзади. Вместе со стажёрами. Всех троих. Огромными руками, как медведь обнимает бочку.
И сел на асфальт.
Мы сели вместе с ним. Все. Я, Кирилл, второй стажёр. В одной огромной охапке. Гоша держал нас мягко, бережно — и абсолютно неподвижно. Как гора.
— Я не делаю вам вреда, — серьёзно сказал Гоша стажёрам. — Я просто сижу.
Кирилл попробовал вырваться. С тем же успехом можно было вырываться из бетона.
Эдуард смотрел на нас. Лицо у него стало белым. Он коснулся планшета — и замер. Палыч стоял рядом и смотрел на него с той спокойной уверенностью, с какой главбух смотрит на акт сверки.
— Сто восемьдесят минут, — сказал Палыч. — Не хватит.
Время блокировки: 00:00.
Навык «Костыль»: доступен.
* * *
Я не стал думать. Я уже всё продумал.
«Костыль».
Навык «Костыль».
Выбран объект: Планшет служебный.
Внимание: объект связан с пользователем, имеющим права администратора.
Внимание: тариф на изменение увеличен в 5 раз.
[Изменить параметр]
Обращение №4471. Статус: «В работе» → «Решено».
Технический долг: +25.
Продолжить? [Да] [Нет]
Двадцать пять. Пятьдесят один плюс двадцать пять. Семьдесят шесть.
Я читал. Все предупреждения. Все строки. Ника лежала на асфальте позади нас и смотрела. Я это чувствовал затылком. Я читал для неё.
Потом нажал «Да».
Обращение №4471: статус изменён на «Решено».
Все действия, привязанные к обращению, отменены.
Исполнители обращения: возврат на базу.
Знак «Уст пи», висевший в воздухе, упал на асфальт со звоном. Ника дёрнулась — я понял, что к ней вернулся рывок.
А стажёры у Гоши в руках вдруг обмякли. Кирилл открыл рот, закрыл. На лице у него было удивление пополам с облегчением.
— Обращение закрыто, — сказал он. Не мне — себе. — Решено.
— Решено, — подтвердил я.
Эдуард смотрел на планшет. Долго. Потом поднял на меня глаза.
Улыбки больше не было. Совсем. Лицо у него было пустое и очень спокойное. Лицо человека, который понял, что всё это время разговаривал не с пациентом, а с хакером.
— Вы изменили статус обращения, — сказал он.
— Изменил.
— Это невозможно. Без прав.
— Я айтишник, — сказал я. — Я восемь лет закрывал чужие тикеты без прав. Это первое, чему учишься.
Эдуард молчал. Потом посмотрел на свои руки. Они начинали бледнеть. Не серели, как у Стаса из рассказа Палыча, — просто становились прозрачными. Возврат на базу. Система уводила исполнителей закрытого обращения домой.
— Вы понимаете, что сделали? — спросил он. Голос был ровный. — Вы закрыли обращение. Но вы создали новое. Изменение статуса без прав — это инцидент. Инцидент высокого приоритета. Он будет эскалирован.
— Куда?
— На вторую линию, — сказал Эдуард. Почти шёпотом. — Модератору.
И исчез. Вместе со стажёрами. Гоша остался сидеть на асфальте, обнимая меня одного. С таким лицом, будто у него из рук выдернули плюшевых медведей.
— Ой, — сказал Гоша. — Они ушли.
— Ушли.
— А я их не ударил.
— Не ударил.
— Хорошо, — сказал Гоша. И отпустил меня.
* * *
Ника сидела на асфальте, прислонившись к остановке. Под одноглазой женщиной. Бинт на плече был весь красный. Лицо — серое. Губы — синеватые.
Пользователь: Ника.
Статус: кровотечение.
Здоровье: 29%.
Двадцать девять. Час назад было сорок один.
Гоша уже был рядом. Рвал свой запасной бинт, разматывал старый. Палыч стоял над ними и смотрел. Щёлкал костяшками.
— Палыч, — сказал я. — Сколько?
Он понял, о чём я. Он всегда понимал.
— Если бинтовать — может, выживет, может, нет. Рана старая, открылась. Гошины лекарства помогут, но не сразу. Час. Может, два. Она потеряет ещё.
— А если не бинтовать?
Палыч посмотрел на меня поверх очков. Он понял и это.
— Человек — не ставни, Алексей. Человек — сложный объект. Цена будет высокая.
Я посмотрел на Нику «Логом». На её статус. На строку «кровотечение».
Это был параметр. Как трение. Как коллизия. Как флаг «Не трогать».
«Костыль».
Выбран объект: Пользователь Ника.
Внимание: изменение параметров пользователя.
Внимание: пользователь — сложный объект. Тариф увеличен.
[Изменить параметр]
Статус «Кровотечение»: активен → отсутствует.
Технический долг: +16.
Продолжить? [Да] [Нет]
Шестнадцать. Семьдесят шесть плюс шестнадцать. Девяносто два.
Ника смотрела на меня снизу вверх. Мутными глазами. Она увидела, что я делаю. Не окно — она не видела моего интерфейса. Она увидела моё лицо. И поняла.
— Не надо, — сказала она. Еле слышно. — Слышишь? Не смей. Девяносто…
— Девяносто два, — сказал я. — Я прочитал. Все строки.
— Дурак…
— Ты просила читать, — сказал я. — Ты не просила не нажимать.
И нажал.
Статус «Кровотечение»: отсутствует.
Технический долг: 92.
Порог взыскания: 100.
Красное пятно на бинте перестало расти. Ника выдохнула. Закрыла глаза. Лицо её чуть-чуть порозовело.
Пользователь: Ника.
Здоровье: 29%. Восстановление: активно.
— Спасибо, — сказала она, не открывая глаз. Злым шёпотом. — Ненавижу тебя.
— Знаю, — сказал я.
Гоша закончил бинтовать. Аккуратно, бережно, как бинтуют ребёнка. Потом поднял Нику на руки — легко, как пушинку, — и понёс в шаурмичную. Ставни были подняты. Флаг для четверых — до вечера.
Палыч остался стоять рядом со мной. Он смотрел не на меня. Он смотрел на что-то над моей головой. Туда, где для него висела моя цена.
— Восемь, — сказал он тихо.
— Восемь.
— Сегодня вечером — ставни. Плюс пять. Останется три.
— Я считал.
— А завтра?
Я не ответил. Я смотрел в конец улицы. Туда, где за перекрёстком, за гаражами, за последним домом начинался Пустырь. Серый, расчерченный белыми линиями.
Там никого не было.
Пока.
Глава 9. Серое пальто
Я увидел его в три часа дня.
Я вынес мусор. Глупо звучит, да? Конец света, мёртвый город, долг девяносто два. А я выношу мусор. Но на кухне скопились кости, обрезки, пустые бутылки из-под минералки, и всё это пахло, а Палыч морщился. Я вынес пакет на улицу, бросил у бордюра — Откат всё равно уберёт, — разогнулся и посмотрел вдоль улицы.
И увидел.
Далеко. Очень далеко. В самом конце улицы, там, где за гаражами начинался Пустырь, — маленькая серая фигура. Высокая. Руки в карманах.
Она стояла на границе. На последней белой линии сетки. Одна нога — на Пустыре. Другая — на асфальте.
Внимание.
Технический долг приближается к порогу взыскания.
Инициирована процедура предварительного взыскания.
Взыскатель: в пути.
Расстояние: 3,4 км.
Я стоял и смотрел. Фигура не двигалась. Просто стояла. А потом — я моргнул — и она стояла уже по эту сторону. На асфальте. Обеими ногами.
Расстояние: 3,3 км.
Я вернулся в шаурмичную. Быстро. Закрыл дверь. Прислонился к ней спиной.
Палыч поднял голову от счётов. Посмотрел на моё лицо.
— Пошёл? — спросил он.
— Пошёл.
* * *
Ника спала на одеяле в углу зала. Лицо уже не было серым. Гошины лекарства и мой костыль сделали своё дело. Здоровье — сорок четыре процента. Гоша сидел рядом с ней на полу и сторожил. Он сторожил так, как умеют сторожить только охранники торговых центров: неподвижно, не моргая, с выражением абсолютной сосредоточенности на совершенно пустом месте.
— Сколько у нас времени? — спросил Палыч.
Я посмотрел.
Расстояние: 3,2 км.
— Он идёт медленно. Километр в час. Может, меньше. Часа три. К ночи будет здесь.
— А долг?
— Девяносто два.
— Ниже порога.
— Ниже, — согласился я. — Но вечером ставни. Плюс пять. Девяносто семь.
— Тоже ниже.
— Тоже. — Я сел на табуретку. — Тогда почему он идёт?
Палыч задумался. Щёлкнул костяшкой. Ещё раз. Потом медленно, как будто сам не веря, повернул голову и посмотрел на Гошу. На спящую Нику. Потом на себя — опустил глаза, будто разглядывал свою жилетку.
— Покажи, — сказал он. — Меня. Посмотри на меня.
Я посмотрел.
Пользователь: Пётр Павлович.
Технический долг (перенесённый): 2.
— Два, — сказал я.
— Гоша?
— Три. Ника — четыре. Вчера Эдуард показал.
Палыч снова защёлкал. Быстро.
— Девяносто два плюс два плюс три плюс четыре, — сказал он. — Сто один.
Я молчал.
— Мы пользовались твоими костылями, Алексей. Все. Мы входили через твои ставни. Мы — часть твоего долга. Значит, для него, — Палыч кивнул в сторону окна, в сторону улицы, в сторону Пустыря, — мы — одно. Одна группа. Один должник.
— Солидарная ответственность, — сказал я. Тихо. Слова сами всплыли. Из какого-то договора, который я когда-то не прочитал.
— Что?
— Это так называется. Когда долг общий. Взыскивают со всех. Сразу.
Палыч кивнул. Медленно. Он не испугался. Я видел — не испугался. Он просто посчитал и принял результат. Как принимают акт сверки, в котором всё сошлось.
— Значит, со всех, — сказал он.
Гоша поднял голову.
— Что со всех? — спросил он шёпотом, чтобы не разбудить Нику.
Палыч посмотрел на него.
— Гоша, — сказал он. — Помнишь, я рассказывал про Стаса?
— Помню.
— Серый идёт сюда. За Алексеем. И за нами.
Гоша подумал. Долго. Потом посмотрел на Нику. Потом на дверь. Потом встал, взял свой погнутый знак «Уст пи» и молча встал у двери. Лицом к улице.
— Гоша, — сказал я. — Это не поможет. Его нельзя ударить. Его даже прочитать нельзя.
— Я знаю, — сказал Гоша.
— Тогда зачем?
— Потому что я Танк, — сказал Гоша просто. — Если кто-то идёт, я встаю у двери. Я не умею по-другому.
* * *
Расстояние: 2,6 км.
Я ходил по кухне. Туда-сюда. Как ходил по серверной, когда падала база. От плиты к холодильнику. От холодильника к плите. Холодильник гудел мне вслед.
Варианты.
Первый: отдать минуты. У меня восемьдесят семь. Это восемь единиц. Девяносто два минус восемь — восемьдесят четыре. Плюс девять перенесённых — девяносто три. Ниже ста. Но вечером ставни — плюс пять. Девяносто восемь. Без запаса. И без минут.
Второй: не ставить ставни. Не будет плюс пяти. Но тогда ночью мы на улице. С Откатышами. С раненой Никой. И Серый всё равно придёт — потому что девяносто три близко к ста, а он уже в пути. «Предварительное взыскание». Что-то мне подсказывало, что, если он придёт и увидит девяносто три, он просто подождёт. Рядом. Как стоял рядом со Стасом.
Третий…
Третьего не было.
— Палыч, — сказал я. — Как ещё можно убрать долг? Кроме минут?
— Не знаю.
— Подумайте. Пятнадцать лет. Должно быть что-то.
Палыч снял очки. Протёр их. Долго, тщательно. Надел.
— Стас пытался, — сказал он. — Он много чего пробовал. Минуты. Отказ от двери — на неделю. Не помогло, долг не уменьшался. Он даже пытался отдать дверь другому. Подарить. Думал, долг уйдёт вместе с ней.
— И?
— Никто не взял, — сказал Палыч. — Все боялись. Говорили — проклятая дверь. Хотя никто не знал почему. Чувствовали.
Подарить. Отдать вместе с объектом.
Я остановился посреди кухни.
— Палыч, — сказал я. — Когда пользуешься чужим костылём, долг переходит. Частично. Так?
— Так.
— А можно сделать, чтобы он перешёл не частично? Весь? Не на человека — на вещь?
Палыч посмотрел на меня поверх очков.
— Вещь не может пользоваться костылём.
— Может, — сказал я. — Если ей сказать, что может. Это же параметр. Всё здесь — параметры. Трение. Коллизия. Статус обращения. Значит, и «пользователь изменения» — тоже параметр.
Палыч молчал. Щёлкнул костяшкой. Одной.
— Тогда долг будет у вещи, — сказал он медленно. — И Серый придёт за вещью.
— Если её долг будет выше ста.
— Тогда тебе нужна вещь, — сказал Палыч, — у которой уже есть долг. Свой. Большой. Чтобы с твоим перевалило.
— А такие бывают?
Палыч долго смотрел в окно. На улицу. На серое небо. На крышу вокзала вдалеке.
— Банкомат, — сказал он.
* * *
— Банкомат на вокзале, — объяснял Палыч. Быстро, отрывисто, как будто боялся, что передумает. — В главном зале, у левой стены, под мозаикой. Старый, серый, «Сбер» ещё до того, как он стал зелёным. Двенадцать лет назад его поставили. Сам появился. Утром после Отката. Был — не было, а тут стоит.
— Кто поставил?
— Никто не видел. Но на следующий день пришли двое в белых рубашках. Встали рядом. Объявили: это пункт добровольных пожертвований. Для поддержания Системы. Каждый, кто хочет, чтобы Откат был милостив, может положить сюда минуты. Сколько не жалко.
— И клали?
— Клали. Первые месяцы. Потом перестали, когда поняли, что Откат от этого милостивее не становится. — Палыч усмехнулся. — Но банкомат не перестал. Он жрёт минуты у всех, кто к нему прикоснётся. Случайно задел плечом — минус пять. Опёрся рукой — минус двадцать. Один парень пьяный уснул на нём. Утром проснулся с нулём. Кремень его огородил. Поставил вокруг ящики. Никто не подходит. Двенадцать лет стоит. Самый вредный предмет в городе.
— И у него есть долг?
— Я на него смотрел, — сказал Палыч. — Двенадцать лет назад. Видел цену. Отрицательную. Я тогда не понял, что это. Думал — ошибся. Это же вещь. У вещей не бывает минуса. — Он помолчал. — А теперь понимаю.
Я понял тоже.
— Администраторы, — сказал я. — Они тоже ставят костыли. У них права. Они меняют мир. Но долга у них нет — Эдуард ни словом не обмолвился о своём долге. А должен быть. Значит, они его куда-то деют.
— В вещи, — сказал Палыч.
— В вещи. Банкомат — это их… свалка. Склад долгов. Помойка. — Я засмеялся, нервно. — Они делают ровно то, что я хочу сделать. Только давно. И, наверное, много где.
— А Серый? Почему он не приходит за банкоматом?
— Потому что долг ниже порога, — сказал я. — Они не дураки. Скидывают понемногу. Держат ниже ста.
Расстояние: 2,1 км.
— Значит, — сказал Палыч, — если добавить туда твой…
— Перевалит.
— И Серый придёт за ним.
— Надеюсь.
— А если нет?
— Тогда, — сказал я, — мы узнаем об этом первыми.
* * *
Проблема была одна. Банкомат стоял на вокзале. В главном зале. На территории Кременя.
«Ещё раз увижу тебя у вокзала — разговора не будет».
— Я пойду, — сказал Гоша от двери.
— Тебя спросят, зачем ты пришёл.
— Я скажу.
— Что скажешь?
— Правду, — сказал Гоша. — Что Лёше надо потрогать банкомат.
Палыч засмеялся. Невесело.
— Гоша, банкомат должен трогать Алексей. Не ты. Костыль ставит он.
Гоша подумал. Кивнул. Ничуть не обидевшись.
— Тогда я пойду с ним. Встану у двери.
Ника проснулась, когда мы собирались. Села на одеяле. Посмотрела на нас. На моё лицо. На Палыча со счётами. На Гошу со знаком.
— Что случилось? — спросила она. Хрипло.
Я рассказал. Коротко. Она слушала молча. Потом попробовала встать. Не смогла — пошатнулась и села обратно.
— Я с вами, — сказала она.
— Ты лежишь.
— Отладчик, я…
— Сорок четыре процента, — сказал я. — Ты не дойдёшь до вокзала. А если дойдёшь — упадёшь в зале, и Гоше придётся нести тебя, а не стоять у двери. Лежи.
Она смотрела на меня. Злая. Беспомощная. И, кажется, впервые — не на меня злая, а на себя.
— Только читай, — сказала она. — Слышишь? Все строки.
— Все строки.
— И возвращайся.
— Обещаю, — сказал я. И подумал, что Гоша бы такое не пообещал. Гоша обещает только то, в чём уверен.
Расстояние: 1,8 км.
* * *
Мы с Гошей шли к вокзалу. Палыч остался с Никой. Улица была пустая. Голубь над троллейбусом всё так же висел в лаге — мы обошли его по дуге.
Я всё время оборачивался.
Он шёл. Я не видел его — он был далеко, за домами, где-то в районе гаражей. Но цифры в углу экрана менялись. Километр семьсот. Километр шестьсот. Неторопливо. Как идут люди, которые знают, что их всё равно дождутся.
У боковой двери вокзала стояли двое. Новые — я их не знал. Один с арбалетом. Второй с топором.
Они увидели Гошу. Потом меня.
Арбалет поднялся.
— Ты, — сказал арбалетчик. — Повар. Тебе сказали…
— Мне нужен Кремень, — сказал я.
— Кремень тебя…
— Скажи ему, — перебил я, — что Серый идёт сюда. Прямо сейчас. Через полтора километра будет здесь. И что я знаю, как сделать, чтобы он ушёл. Но мне нужен банкомат.
Арбалетчик смотрел на меня. Губы у него побелели при слове «Серый».
— Гоша, — сказал он. — Это правда?
— Правда, — сказал Гоша.
Арбалетчик опустил арбалет. Посмотрел на товарища с топором. Тот уже бежал внутрь.
* * *
Кремень вышел через две минуты. Посмотрел на меня. На Гошу. На серое небо.
— Где? — спросил он.
— Километр четыреста. Идёт от Пустыря. Сюда — за мной.
— Почему сюда? Ты же не здесь живёшь.
— Он идёт не сюда. Он идёт ко мне. Я пока по дороге.
Кремень помолчал. Шрам на его щеке дёрнулся.
— Я его видел, — сказал он неожиданно. — Один раз. Шесть лет назад. Издалека. Он стоял на площади и смотрел на вокзал. Час стоял. Потом ушёл. Наутро у меня пропал человек. Я так и не понял, кто. Знал, что кто-то пропал, — а кто, не помню. Пустое место в голове. — Он посмотрел на меня. — Зачем тебе банкомат?
Я рассказал. Быстро. Про долг. Про перенос. Про то, что банкомат — помойка Администраторов.
Кремень слушал. Не перебивал. Когда я закончил, он долго молчал.
— Эта дрянь, — сказал он наконец, — съела у меня четыреста минут. В первый год. Я тогда был новенький, глупый. Хотел, чтобы Откат был милостив. — Он сплюнул. — Двенадцать лет она стоит в моём зале. Я её огородил. Пытался вынести — не выносится. Ломом бил — не ломается.
— Я её не сломаю. Я её отдам.
— Серому?
— Серому.
Кремень посмотрел на меня. Долго. Своими чёрными спокойными глазами.
— Иди, — сказал он. — Пять минут. Толян проводит.
— Спасибо.
— Не благодари, повар. — Кремень отступил в сторону. — Если сработает — считай, мы квиты за ту ночь. Нет, не квиты. Квиты не будем никогда. Но разговаривать будем.
* * *
Банкомат стоял у левой стены. Под мозаикой — прямо под пограничником с собакой. Огороженный ящиками в два ряда. Серый, облезлый, с треснувшим экраном. На экране мигала надпись: «Вставьте карту». Карт здесь ни у кого не было уже двенадцать лет.
Толян раздвинул ящики. Посмотрел на меня. Помолчал.
— Это, — сказал он. — Насчёт Маги.
Я ждал.
— Он был дурак, — сказал Толян. — Но нормальный. Ты, это… — Толян почесал лысину. — Ты потом сделай что-нибудь. Чтоб не зря.
— Сделаю, — сказал я.
Толян кивнул и отошёл.
Я посмотрел на банкомат «Логом».
Объект: Банкомат.
Статус: изменённый объект.
Создан: 12 лет назад.
Изменён: пользователем [права администратора].
Функция: изъятие минут при физическом контакте.
Изъято минут за всё время: 41 806.
Получатель изъятых минут: [Административный центр].
Технический долг объекта: 78.
Источник долга: перенесён (пользователи с правами администратора), 214 операций.
Двести четырнадцать операций. Двенадцать лет Администраторы сваливали сюда свой долг. По чуть-чуть. По одной, по две единицы. Каждый раз — ниже порога. Семьдесят восемь. Аккуратно. Со вкусом.
И сорок одна тысяча минут. Чужих. Уплывших в мэрию.
Я читал. Все строки. Как обещал Нике. Потом вызвал «Костыль».
Навык «Костыль».
Выбран объект: Банкомат.
[Изменить параметр]
Параметр: «Пользователь активных изменений».
Внимание: параметр не предусмотрен для объектов данного типа.
Добавить параметр принудительно? [Да] [Нет]
Да.
Укажите изменения для переноса.
Я перечислил. Все. Мысленно, по списку из Гошиного блокнота. Ставни. Флаг. Лифт. Трение. Крыша. Обращение номер четыре тысячи четыреста семьдесят один. Кровотечение Ники. Каждый мой костыль за четыре дня.
Изменения выбраны: 11.
Технический долг к переносу: 92.
Внимание: перенос долга на объект является нестандартной операцией.
Стоимость операции: +4.
Внимание: переносится весь долг, включая стоимость операции.
Технический долг объекта после переноса: 174.
Внимание: объект превысит порог взыскания.
Продолжить? [Да] [Нет]
Я прочитал ещё раз. Ещё раз. «Переносится весь долг». Весь. Девяносто два плюс четыре. Всё — на банкомат.
Что-то в этом было неправильно. Слишком просто. Я восемь лет работал с системами. Слишком просто не бывает. Всегда есть звёздочка. Сноска мелким шрифтом.
Я поискал сноску. Не нашёл.
Расстояние: 0,4 км.
Четыреста метров.
Я нажал «Да».
Перенос выполнен.
Технический долг: 0.
Ноль.
Я смотрел на цифру и не верил. Ноль. Чистый лист. Как в первое утро, до стены, до шаурмичной, до всего.
А потом цифра мигнула. И сменилась.
Внимание: перенос долга, связанного с пользователями, невозможен.
Изменение «Статус пользователя Ника» возвращено исходному пользователю.
Технический долг: 16.
Перенесённый долг группы: 9.
Итого: 25.
Вот она. Звёздочка.
Нельзя перенести на вещь долг за человека. Ника — не ставни. Ника — сложный объект. Её кровотечение осталось на мне.
Двадцать пять. Вместе с группой.
Не ноль. Но и не сто один.
Технический долг объекта «Банкомат»: 158.
Порог взыскания: превышен.
* * *
Он вошёл в зал через главный вход.
Я не видел, как открылась дверь. Её никто не открывал. Он просто был — сначала у двери, потом в зале. Высокий. Серое длинное пальто. Руки в карманах. Лица не было. Не в том смысле, что его закрывала тень или капюшон. Лицо было. Но взгляд с него соскальзывал. Как с того места на стене, куда не смотришь, потому что там когда-то висела фотография, которую больше не хочется видеть.
Рынок не заметил. Люди торговались, ругались, спорили. Кто-то прошёл в метре от него, неся мешок с консервами, и не повернул головы.
Гоша заметил. Он стоял у двери, через которую мы вошли, и его огромное лицо стало белым, как бумага. Он поднял знак. Просто поднял — и не двинулся с места. Танк. Встал у двери.
Кремень заметил. Он стоял у кассы номер четыре, и рука его лежала на рукояти тесака. Не вынимал. Просто держал.
Серый шёл через зал. Медленно. Не глядя по сторонам. Прямо ко мне.
Я стоял у банкомата. Ноги не шли. Голос не шёл. Всё, что я мог, — стоять и смотреть.
Взыскатель: обнаружен должник.
Проверка…
Он остановился. В двух шагах от меня. Я видел его пальто — старое, добротное, с потёртыми пуговицами. Пахло от него пылью и чем-то ещё. Бумагой. Старыми архивами. Как в подвале бухгалтерии, где хранят документы за десять лет.
Он стоял и смотрел. На меня. Я чувствовал этот взгляд, хоть и не видел глаз. Он смотрел долго. Как Палыч. Взвешивал.
Должник: Алексей Гордеев.
Технический долг: 16 (+9 группа).
Порог взыскания: не достигнут.
Потом он повернул голову. Медленно. К банкомату.
Должник: Банкомат.
Технический долг: 158.
Порог взыскания: превышен.
Взыскание: выполняется.
Он вынул руку из кармана.
Рука была обычная. Мужская. Немолодая. Сухая кожа, длинные пальцы. На безымянном — след от кольца. Самого кольца не было. Только светлая полоска на коже.
Он положил ладонь на банкомат. Легко. Как кладут руку на плечо старого знакомого.
Банкомат начал сереть.
Сначала — место под ладонью. Потом — корпус. Экран. Надпись «Вставьте карту» побледнела, расплылась и исчезла. Металл становился бесцветным, как на чёрно-белой фотографии. Как будто из него вытекали цвета. А потом — вытекло и всё остальное. Банкомат стал прозрачным. Контур. Набросок. Потом — ничего.
Пустое место у стены. Ящики в два ряда. И пограничник с собакой на мозаике.
И тут зал взорвался.
Не криком. Звоном. Тихим, чистым, многоголосым — как будто в зале одновременно зазвонили сотни маленьких колокольчиков. Я не сразу понял, что это. А потом увидел: люди остановились. Все. Посреди торговли, посреди спора. И смотрели куда-то перед собой. В свои интерфейсы.
Объект «Банкомат» взыскан.
Изъятые объектом минуты возвращены владельцам.
Кто-то засмеялся. Кто-то вскрикнул. Женщина у прилавка с пуговицами закрыла лицо руками и заплакала. Мужик в ватнике сел прямо на пол и сидел, глядя в пустоту, и губы у него шевелились — он считал.
Кремень стоял у кассы. Смотрел в свой интерфейс. Лицо у него было странное. Растерянное. Я никогда не думал, что у Кременя может быть растерянное лицо.
— Четыреста, — сказал он тихо. Сам себе. — Четыреста двенадцать. С первого года.
Серый убрал руку обратно в карман.
Повернулся ко мне.
Я стоял. Не мог не стоять. Он был в двух шагах, и я снова чувствовал его взгляд — тяжёлый, внимательный, как у Палыча. Как у главбуха на годовой проверке. Как у человека, который видит каждую цифру в твоём балансе и знает, какие из них нарисованы.
Он наклонил голову. Чуть-чуть. Как будто что-то решил.
И заговорил.
Голос у него был негромкий. Сухой. Бесцветный, как его пальто. Я ожидал чего угодно — рёва, шёпота, скрежета. А это был просто голос. Усталый голос немолодого человека, который очень долго ходил и очень мало разговаривал.
— Частично, — сказал он.
Одно слово.
И ушёл. Сквозь зал. Мимо людей, которые не видели его. Мимо Кременя, который видел. Мимо Гоши, который стоял у двери с поднятым знаком и не двинулся, когда Серый прошёл в полуметре от него.
Дверь он не открывал. Его просто не стало.
Взыскатель: процедура завершена.
Технический долг: 16 (+9 группа).
Порог взыскания: 100.
Внимание: в отношении пользователя зафиксирован факт частичного погашения через третье лицо.
Статус: под наблюдением.
Под наблюдением.
Я сел. Прямо на пол. У пустого места, где только что стоял банкомат.
Гоша подошёл. Медленно опустил знак. Сел рядом. Пол скрипнул.
— Он прошёл рядом со мной, — сказал Гоша. Голос у него был тонкий, как у ребёнка. — Совсем рядом.
— Видел.
— Он сказал «частично». Что это значит?
Я подумал.
— Это значит, — сказал я, — что он меня запомнил. Что это не конец. Что я ему ещё должен. Не по цифрам. По-другому.
— Как это — по-другому?
— Не знаю, Гоша. Узнаем.
* * *
Мы вышли из вокзала, когда небо уже темнело.
У двери нас догнал Толян. Запыхавшийся. Сунул мне что-то в руку. Маленькое, холодное.
Я разжал пальцы. Банка тушёнки. Со звёздочкой. ГОСТ.
— От Кременя, — сказал Толян. — Сказал — за возврат. И ещё сказал: «Повар может приходить на рынок. Торговать. Без доли». Это… — Толян почесал лысину. — Это он никому так не говорил. Никогда.
Толян постоял. Посмотрел на меня.
— Ты обещал, — сказал он. — Насчёт Маги. Чтоб не зря.
— Помню.
— Ну вот, — сказал Толян. — Начало есть.
И ушёл обратно.
Мы шли к шаурмичной. Я и Гоша. Через пустой город, по серым улицам. Голубь над троллейбусом висел в лаге. Женщина на плакате смотрела зелёным глазом.
Я посмотрел на свой интерфейс.
Минуты: 87.
Технический долг: 16 (+9 группа).
Статус: под наблюдением.
А потом посмотрел на Гошу.
Пользователь: Георгий.
Технический долг (перенесённый): 3.
Три. Моих. На нём.
Сегодня вечером — ставни. Плюс пять. И часть этих пяти снова ляжет на него. На Нику. На Палыча.
Я не мог перенести долг за людей. Система не разрешила. Но долг на людях от этого никуда не делся. Он просто был. Маленький. Тихий. Как трещина в стене, которую замазали краской.
— Гоша, — сказал я. — Ты знаешь, что ты должен из-за меня?
— Знаю, — сказал Гоша. — Пётр Павлович говорил.
— И ты всё равно ходишь через мои ставни?
Гоша подумал. Честно. Долго. Морщил лоб.
— Я туда хожу, потому что там вы, — сказал он наконец. — А долг — это потом. Потом разберёмся.
«Потом разберёмся». Самые опасные слова в любом проекте. Хуже, чем «временное решение». Хуже, чем «не трогай, оно работает».
Я ничего не сказал. Просто шёл рядом с ним. Небо щёлкало, темнея.
Где-то далеко, за гаражами, на границе Пустыря, стоял человек в сером пальто. Я его не видел. Но знал, что он там. И что он смотрит.
Под наблюдением.
Глава 10. Сохранение
— Ни одного, — сказала Ника.
— Ни одного чего?
— Костыля. Сегодня ночью. Ни одного. Кроме ставен.
Был вечер пятого дня. Мы сидели на кухне. Ника — на столе, как всегда, только теперь она не болтала ногами, а сидела ровно, держа руку на перевязанном плече. Здоровье — семьдесят один процент. Гошины лекарства работали. Мой костыль — тоже.
Вчерашнюю ночь мы проспали. Все четверо. В шаурмичной, за поднятыми ставнями, под гудение холодильника. Я поставил костыль через секунду после начала Отката, как в первый раз, — плюс пять, — и мы просто легли спать. Откатыши ходили мимо окон. Бормотали своё «отмена». Никто не зашёл.
Утром я проснулся и долго лежал, глядя в потолок. Я не помнил, когда последний раз спал так. Без телефона под подушкой. Без звонков Вадима Сергеевича. Без полоски загрузки.
А потом посмотрел на интерфейс — и вспомнил.
Минуты: 87.
Технический долг: 21.
Перенесённый долг группы: 11.
Двадцать один. Плюс одиннадцать на них. Растёт. Медленно, по пять в день, но растёт. Как проценты по кредиту, который ты взял на холодильник и забыл.
— Нам нужны минуты, — сказал Палыч. — Много. Чтобы гасить. Твой и наш. Иначе через две недели мы снова там, где были вчера.
— Минуты дают за Откатышей, — сказала Ника.
— Значит, идём на охоту, — сказал я.
Все посмотрели на меня.
— Ты? — спросила Ника. — На охоту?
— Я.
— Ты не умеешь драться.
— Я умею смотреть, — сказал я. — Это иногда важнее.
* * *
Я придумал это вчера ночью. Пока лежал и смотрел в потолок.
В ту ночь на вокзале, когда я дрался с огнетушителем, я посмотрел на одного Откатыша «Логом». На маленького, из куклы и ковра. И увидел его состав. Семь источников. Кукла. Ковёр. Кусок человека. Тогда я об этом не думал — было не до того. А вчера ночью вспомнил.
Откатыши собраны из кусков. Из удалённых данных. Как плохой код, склеенный из чужих библиотек.
А у любого склеенного кода есть швы. Места, где одна библиотека цепляется за другую. И эти места — всегда самые хрупкие. Потому что их писали разные люди, в разное время, и никто никогда не проверял, как они работают вместе.
Палыч видел цену удара. Сколько ударов нужно, чтобы убить Откатыша. А я мог увидеть — куда бить. Где шов.
— Это не костыль, — объяснил я. — «Лог» — пассивный навык. Он ничего не меняет. Он только показывает. Значит, за него нет долга.
Палыч щёлкнул костяшкой.
— Проверял?
— Четыре дня смотрю на всё подряд. Долг растёт только от костылей.
— Хорошо, — сказал Палыч. — Тогда так. Я вижу, сколько. Ты видишь, куда. Гоша держит. Ника бьёт.
— А ты? — спросила Ника у меня.
— А я говорю, куда бить.
— А если на тебя кинутся?
— Тогда Гоша держит.
Гоша кивнул. Серьёзно, как будто ему поручили ответственное задание. Впрочем, так оно и было.
— Это называется распределение ролей, — сказал я. — В нормальных командах так работают. Я восемь лет мечтал попасть в нормальную команду.
— И как? — спросила Ника.
— Пока не знаю, — честно сказал я. — Сегодня ночью узнаем.
* * *
Мы вышли на улицу за десять минут до Отката.
Ставни остались открытыми — утренний костыль ещё действовал. Я договорился с собой так: когда Откат начнётся, я поставлю новый, плюс пять, как всегда. А потом мы не пойдём внутрь. Мы пойдём на перекрёсток. Туда, где туман будет гуще всего.
Это была глупая идея. Все это понимали. Ника сказала об этом три раза. Палыч — один, но так, что лучше бы три. Гоша не сказал ничего, только проверил, хорошо ли держится на руке знак.
Знак я, кстати, починил. Не костылём — руками. Нашёл у Ашота на кухне молоток и полчаса выпрямлял погнутый металл. Знак получился кривой, но надпись снова читалась целиком. «Уступи дорогу». Гоша, когда увидел, долго смотрел на него, а потом сказал «спасибо» таким голосом, что мне стало неловко.
Откат начинается.
Небо щёлкнуло. Ставни рухнули. Я положил руку, поставил костыль — прочитал, все строки, Ника смотрела, — ставни поднялись.
Технический долг: 26.
А потом мы пошли на перекрёсток.
* * *
Первый вышел из тумана минуты через три.
Средний. Высокий, сутулый, как те, что я видел в первую ночь. Одна рука от манекена. Другая — кусок водосточной трубы. Голова — мозаика из стекла, бетона и чего-то, похожего на фрагмент дорожного знака.
Он увидел нас. Остановился. Повернул голову со скрипом.
— …отмена… — сказал он.
— Палыч? — спросил я.
— Пять ударов, — сказал Палыч. — Гошиных. Или восемь — Никиных.
Я посмотрел «Логом».
Объект [Откатыш].
Состав: удалённые данные, 11 источников.
Источник 1: [Манекен торговый]. Связь с источником 4: слабая.
Источник 4: [Труба водосточная]. Связь с источником 1: слабая.
Источник 7: [Покрытие дорожное]. …
Связь слабая. Между манекеном и трубой. Плечо. Левое плечо — там, где пластиковая рука цеплялась за ржавое железо.
— Ника, — сказал я. — Левое плечо. Где рука крепится к трубе. Туда.
Ника не ответила. Её просто не стало рядом — и она оказалась у Откатыша за спиной. Один удар ножом. Точно в шов.
Манекенная рука отвалилась. Откатыш качнулся. Труба осталась висеть на нём без опоры, тяжёлая, кривая, — и потянула его вбок. Он потерял равновесие. Упал.
— Один удар, — сказала Ника. Голос у неё был странный. — Один.
— Добей, — сказал Палыч. — Ему осталось на два. Голову.
Гоша опустил знак на голову Откатыша. Дважды. Откатыш рассыпался.
Объект [Откатыш] уничтожен.
Получено: 6 минут (распределено по группе).
Мы стояли и смотрели на пустое место.
— Один удар, — повторила Ника. Посмотрела на меня. — Отладчик. Ты понимаешь? Восемь ударов — и один.
— Понимаю.
— Это… — Она не нашла слова. Сжала нож. — Давай ещё.
* * *
Их было много. Не тридцать восемь, как в ту ночь на крыше, — тогда их тянул лифт, тянул я. Сегодня они шли как обычно. Разбредались по городу из тумана, медленно, бесцельно, по одному, по двое. А мы стояли на перекрёстке и ждали.
И работали.
Это было похоже на работу. Странно говорить так про бой с чудовищами в мёртвом городе. Но было именно так. Как в хорошей команде в хороший день. Когда каждый знает, что делать, и никто никому не мешает.
Откатыш выходил из тумана. Палыч говорил цену. Я говорил шов. Ника била. Гоша держал — если Откатыш успевал развернуться, если их было двое, если кто-то лез сбоку. Он вставал между ними и нами, поднимал свой выпрямленный знак, и Откатыши бились об «Уступи дорогу», как волны о мол.
— Правая нога. Колено. Там, где ботинок прикручен к шлангу.
— Шея. Сзади. Две библиотеки не стыкуются.
— Не этого — он кончается, Гоша добьёт. Следующего. Грудь, по центру, там где экран телевизора вклеен в ковёр.
Я говорил «библиотеки» и «стыкуются». Ника не понимала половины слов, но понимала главное: куда. И била туда. Раз за разом.
Объект [Откатыш] уничтожен.
Объект [Откатыш] уничтожен.
Объект [Откатыш] уничтожен.
Я перестал считать на девятом. Потом снова начал — на двенадцатом. Потом просто смотрел.
И видел.
В каждом из них — кусок чего-то. Кукла. Ковёр. Манекен. Обрывок рекламы. Обломок клавиатуры. И иногда — «Пользователь, данные удалены». Кусок человека. Иногда двух. Иногда больше.
Я читал. Все строки. Не отворачивался.
Откатыши не были злыми. Я это понял где-то к пятнадцатому. Они не хотели нас убить. Они вообще ничего не хотели. Они были — как мусор в корзине компьютера. Удалённые файлы, которые никто не стёр до конца. Каждую ночь их выплёвывало наружу, и они бродили по городу, бормоча «отмена», — как будто просили, чтобы их наконец отменили по-настоящему. Чтобы их убрали. Совсем.
А мы этим и занимались.
Мне от этой мысли стало одновременно легче и тяжелее. Я не стал говорить её остальным. Есть мысли, которые надо сначала додумать самому.
* * *
Под утро пришёл большой.
Мы его услышали раньше, чем увидели. Тяжёлые шаги. Скрежет. Туман на дальнем конце улицы раздвинулся, и оттуда вышло нечто. Метра три ростом. Широкое, как шкаф. Собранное из обломков машин, кусков асфальта, бетонных блоков и арматуры. Вместо головы — фара от грузовика. Жёлтая, мутная, светящаяся.
— …ОТМЕНА… — сказало оно. Голос был как у мусоровоза.
Палыч замолчал. Я впервые за ночь услышал, как он не говорит цифру.
— Палыч?
— Двадцать два удара, — сказал он наконец. — Гошиных. Если повезёт. Никиных — не считается. Ей не пробить.
— Гоша?
— Двадцать два — много, — сказал Гоша. — Я устал. Я могу, но много.
Я посмотрел «Логом».
Объект [Откатыш] (крупный).
Состав: удалённые данные, 64 источника.
Источники 1–58: [объекты инфраструктуры].
Источник 59: [Пользователь — данные удалены].
Источник 60: [Пользователь — данные удалены].
…
Связь источников 1–58 с источниками 59–64: критическая.
Описание: источники 59–64 являются связующими.
Шесть человек. Шесть удалённых людей держали на себе пятьдесят восемь кусков бетона и железа. Как клей. Как каркас.
Я смотрел и искал шов. Его не было. Шестьдесят четыре источника, и все связаны через шестерых. Плотно. Намертво. Если бить по бетону — Палыч прав, двадцать два удара. Если бить по людям…
Я не хотел бить по людям.
Откатыш шагнул. Земля дрогнула. Гоша вышел вперёд, поднял знак.
— Отладчик, — сказала Ника. — Ну?
— Подожди.
— Он идёт!
— Подожди!
Я смотрел. Читал. Строку за строкой. Ниже. Ещё ниже. Там, где мелким шрифтом.
Источник 61: [Пользователь — данные удалены].
Остаточные данные: «…выключить свет в подъезде…»
Источник 62: [Пользователь — данные удалены].
Остаточные данные: «…проверить, закрыт ли газ…»
Источник 63: [Пользователь — данные удалены].
Остаточные данные: «…позвонить маме…»
Остаточные данные. Последнее, что они делали. Или хотели сделать. Обрывки мыслей, застрявшие в удалённых файлах.
Выключить свет. Проверить газ. Позвонить маме.
— Фара, — сказал я. Голос сел. — Фара — это не голова. Это то, что их держит вместе. Свет. Они все шли куда-то, где был свет. Шестеро. В последнюю секунду. Фара их собрала.
— И что?
— Разбей фару. Они отпустят.
Ника посмотрела на фару. Три метра вверх. Мутное жёлтое стекло на вершине кучи бетона.
— Как я туда?..
— Гоша, — сказал я.
Гоша понял сразу. Он вообще, когда дело касалось держать или поднимать, понимал быстрее всех. Он бросил знак. Присел. Сложил руки ступенькой.
Ника посмотрела на него. Потом на фару. Потом на меня.
— Если я упаду, — сказала она, — ты мне должен ещё одну шаурму.
— Записал.
Она рванула. Рывок — до Гоши. Нога в его сложенные ладони. Гоша выпрямился, бросил её вверх — как бросают ребёнка к потолку, легко, бережно, только очень сильно. Ника взлетела. Рыжий хвост мелькнул на фоне серого неба. Рывок — в воздухе, коротко, чтобы выровняться. Нож вперёд.
Стекло лопнуло.
Свет погас.
И огромный Откатыш замер. Посреди шага. Секунду он стоял неподвижно, — а потом начал рассыпаться. Не как другие — не разом. Медленно. Сверху вниз. Бетонные блоки отваливались и исчезали, не долетая до земли. Арматура таяла в воздухе. Обломки машин становились прозрачными.
А в центре, там, где он был самым плотным, на секунду проступили шесть силуэтов. Нечётких, полупрозрачных, как люди на старой засвеченной фотографии. Они стояли кругом. Держались за руки. И они смотрели — не на нас. Куда-то вверх. Туда, где была фара.
Потом исчезли и они.
Ника упала. Гоша поймал её на лету. Она даже не успела испугаться.
Объект [Откатыш] (крупный) уничтожен.
Получено: 94 минуты (распределено по группе).
* * *
Откат кончился, когда мы сидели на бордюре у шаурмичной. Все четверо. В ряд. Палыч, Гоша, Ника, я.
Небо светлело рывками. Щёлк. Щёлк.
Откат завершён.
Сохранение текущего состояния… выполнено.
Пользователь Алексей Гордеев: статус — жив.
Пользователь Ника: статус — жива.
Пользователь Пётр Павлович: статус — жив.
Пользователь Георгий: статус — жив.
Все четверо. Я перечитал строки дважды. Просто потому, что приятно было читать.
Подведение итогов ночи.
Уничтожено объектов [Откатыш] группой: 23.
Получено минут: 312 (распределено).
Ваша доля: 78.
Минуты: 165.
Сто шестьдесят пять. Я сразу отдал сто пятьдесят. Не думая. Привычка уже.
Погашено: 150 минут.
Технический долг: 11.
Перенесённый долг группы: 11.
Одиннадцать и одиннадцать. Ника посмотрела на меня искоса, но ничего не сказала. Палыч щёлкнул костяшкой — одобрительно, мне показалось.
А потом пришло ещё одно сообщение. Другое. С рамкой, как то, первое, когда мне присваивали класс.
Внимание.
Получено достаточно опыта для повышения уровня.
Класс «Отладчик»: опыт начисляется за обнаруженные ошибки.
Обнаружено ошибок за всё время: 147.
Уровень повышен: 0 → 1.
Сто сорок семь ошибок. За пять дней. Я и не знал, что столько насчитал. Хотя что тут удивительного. Я восемь лет делал то же самое на работе. Только там за это не давали уровней. Там за это давали «Лёша, ну почему опять».
Навык «Лог» улучшен.
Новая возможность: частичное восстановление удалённых данных о пользователях.
Навык «????»: название разблокировано.
Навык «Патч» (заблокирован). Требуется уровень: 5.
Описание: позволяет вносить постоянные изменения. Не создаёт технического долга. [подробнее — недоступно].
Я перечитал. Три раза.
Постоянные изменения. Не создаёт технического долга.
Не костыль. Патч. Настоящее исправление. То, что айтишники ставят, когда наконец находят время сделать нормально.
Пятый уровень. Мне нужно четыре уровня. Сто сорок семь ошибок дали мне один.
Я быстро посчитал и решил пока об этом не думать.
— Чего лыбишься? — спросила Ника.
— Уровень, — сказал я. — Первый.
— Поздравляю, балласт, — сказала она. — Теперь ты балласт первого уровня.
Но она улыбалась. И Гоша улыбался. И даже Палыч — одним уголком рта, как тогда, на рынке.
* * *
Я пошёл на кухню жарить курицу. Это было уже правило: утро — курица. Как кофе в офисе.
Холодильник гудел. Зелёная лампочка горела.
Я посмотрел на него. Просто так, по привычке. Новым «Логом», улучшенным.
Объект: Холодильник бытовой «Бирюса».
Статус: исключён из Отката.
Режим: восстановление содержимого к сохранённому состоянию.
Последнее сохранение: 21 год назад.
Изменён: пользователем [ДАННЫЕ УДАЛЕНЫ].
Восстановление удалённых данных… частично.
Изменён: пользователем Д*****.
Класс пользователя: Отладчик.
Я стоял и смотрел на эту строку.
Класс пользователя: Отладчик.
Я посмотрел на ставни. На стену с надписью «Вадик лох» через дорогу — ту, где мы с Никой прятались в первую ночь. Посмотрел, вспоминая, на банкомат. На дверь Стаса из рассказа Палыча. На лифт в «Вертикали», который знал, что у него есть питание, хотя питания не было во всём районе.
Класс «Отладчик».
Зарегистрировано пользователей за всё время: 2.
Активных: 1.
Два. За всё время.
Один — я.
— Палыч! — позвал я.
Он пришёл. Встал в дверях кухни. Посмотрел на моё лицо.
— Что?
— Двадцать один год назад здесь был ещё один, — сказал я. — Такой же, как я. Отладчик. Это он сделал холодильник. И стену. И, наверное, дверь Стаса. И…
Я замолчал.
Холодильник гудел. Я вдруг понял, что за пять дней ни разу не отодвигал его от стены. Не было причины. Он работал.
«Не трогай. Оно работает».
Я взялся за холодильник и отодвинул.
Он был тяжёлый, старый, скрипнул ножками по кафелю. За ним — пыль. Паутина. Старый провод, ни во что не включённый. И стена.
На стене, на уровне пояса, где никто бы не увидел, если не отодвигать, — надпись. Чёрным маркером. Кривым торопливым почерком. Тем же, что на двери: «Никому. Кроме меня».
Почерком человека, который много печатает и мало пишет руками.
«Если ты это читаешь — ты Отладчик. Значит, я не успел.
Холодильник — тебе. Не благодари. Шаурма — это важно. Без шаурмы здесь сходят с ума.
Не держи долг. Плати. Всегда плати. Я не платил.
И ещё. Серый — не тот, кем кажется. Когда он заговорит с тобой — а он заговорит — спроси его, как его зовут.
— Д.»
Палыч стоял у меня за спиной. Я слышал, как он дышит.
— Д, — сказал он тихо.
— Д.
— Он знал, что придёт кто-то ещё.
— Он знал, — сказал я. — Двадцать один год назад он знал, что придёт кто-то ещё. И оставил ему холодильник.
Я смотрел на надпись. На кривые буквы. На слово «Плати», подчёркнутое дважды.
«Я не платил».
Серый пришёл к нему? Взыскал? Тогда почему холодильник остался? Почему стена осталась? Почему остались ставни, лифт, все его костыли, которые держали этот город двадцать один год? Если Серый забирает долг вместе со всем, что его создало, — как дверь Стаса, как банкомат, — то почему он не забрал холодильник?
«Частично», — сказал Серый. Вчера. Мне.
Спроси его, как его зовут.
— Палыч, — сказал я. — Мне кажется, мы чего-то не понимаем.
— Мне тоже, Алексей, — сказал Палыч. — Мне уже пятнадцать лет так кажется.
* * *
Мы вынесли завтрак на улицу. Я, Палыч, Гоша, Ника. Сели на бордюр. Ели шаурму. Пили минералку с оленем.
Потом я встал, завернул ещё восемь шаурм. Сложил в пакет. Взял у Гоши из сумки пачку таблеток — Гоша показал, каких, — и пошёл на вокзал.
— Ты куда? — крикнула Ника.
— Обещал, — сказал я. — Чтоб не зря.
Толян стоял у боковой двери. Увидел меня. Увидел пакет. Ничего не сказал — просто отступил в сторону.
Я вошёл в зал. Нашёл женщину у прилавка с пуговицами — ту, что плакала вчера, когда вернулись минуты. Нашёл дядю Мишу и тётю Лару. Нашёл ещё пятерых — тех, кто кашлял под мозаикой, кого Гоша назвал. Раздал шаурму. Раздал таблетки.
Никто не спрашивал, откуда курица. Все просто ели. Молча. Женщина с пуговицами держала шаурму двумя руками, как Ника в первый день.
— Это от кого? — спросила тётя Лара.
— От Маги, — сказал я. — И от Санька. И от Нины Сергеевны.
Тётя Лара посмотрела на меня. Долго. Потом кивнула.
— Хорошо, — сказала она. — Пусть так.
Я вышел на площадь. Небо было серое, как всегда. Но мне почему-то показалось, что сегодня оно чуть-чуть светлее.
Я посмотрел в интерфейс.
Уровень: 1.
Минуты: 15.
Технический долг: 11.
Перенесённый долг группы: 11.
Статус: под наблюдением.
А потом посмотрел туда, куда смотрел каждое утро. В конец улицы. За гаражи. На Пустырь.
Там стоял человек в сером пальто. Далеко. Маленькая фигура на белой сетке.
Он не двигался. Не поднимал руку. Просто стоял и смотрел.
— Привет, — сказал я ему. Тихо. Через весь город. — Как тебя зовут?
Он, конечно, не ответил.
Но мне показалось — только показалось, — что он чуть наклонил голову. Как вчера, в зале. Как будто услышал.
Сохранение текущего состояния… выполнено.
Конец первой части.
Глава 11. Предшественник
Данила.
Я придумал ему имя на третий день поисков. «Лог» показывал «Д*****» — шесть букв. Палыч перебрал с Гошей все мужские имена, какие вспомнили. Дмитрий — семь. Денис — пять. Демьян — подходит, но Палыч сказал, что Демьяны маркером на стенах не пишут. Данила — подходит.
— Почему Данила? — спросила Ника.
— Потому что айтишник, — сказал я. — У нас в каждой конторе есть Данила. Сидит в углу, ни с кем не разговаривает, всё чинит. Его никто не видел, но все знают, что он есть.
Ника хмыкнула. Спорить не стала.
Так он стал Данилой. Человек, которого не было двадцать один год. Человек, который оставил мне холодильник.
* * *
Мы искали его неделю.
Не его самого — его следы. Утром охотились на Откатышей: выходили на перекрёсток сразу после начала Отката, работали до рассвета, возвращались, гасили долг. Днём — искали.
Я ходил по городу и смотрел. На всё подряд. На стены, на двери, на фонарные столбы, на скамейки. Искал строку «Изменён пользователем Д*****». Как ищут чужие закладки в коде.
Находил.
Скамейка в сквере у фонтана. Обычная, деревянная, с облупленной краской. Если сесть на неё в полдень — тень от соседнего дерева падала ровно на сиденье и никуда не сдвигалась. Весь день. Солнца в Изнанке не было, но тени были, и эта тень стояла на месте, как приклеенная.
Объект: Скамейка парковая.
Изменён: пользователем Д*****.
Параметр «Тень»: зафиксирована.
— Зачем? — спросил Гоша.
— Ему было жарко, — сказал я. — Наверное. Сидел тут и хотел в тень.
— Здесь же нет солнца.
— Двадцать один год назад, может, было.
Почтовый ящик у старой почты. Синий, советский, с гербом. Если бросить туда письмо — оно не исчезало при Откате. Я проверил: написал на обрывке «Привет, Данила» и бросил. Утром заглянул в щель — бумажка лежала на дне. Рядом с ней — ещё пачка. Пожелтевших, хрупких. Я не стал их доставать. Чужие письма.
Но одно было видно сверху. Край конверта. Женский почерк. «…ему, если вернётся».
Я долго стоял у этого ящика.
Дверь в подвал библиотеки, которая открывалась только изнутри, но снаружи — если постучать три раза. Внутри — сухо, тепло, на полках книги. Настоящие. Не муляжи. Я снял одну — «Таинственный остров» Жюля Верна. Открыл. На форзаце карандашом: «Перечитать в 47-й раз. Д.»
Сорок седьмой раз. Он сидел в этом подвале и перечитывал одну и ту же книгу. Я поставил её на место.
Фонарь на улице Пушкина, который горел. Один на весь город. Горел жёлтым, тёплым светом с вечера до утра. Откатыши его обходили.
Объект: Фонарь уличный.
Изменён: пользователем Д*****.
Параметр «Питание»: [источник не указан].
Примечание: «Чтобы было видно дорогу домой».
Примечание. Он оставлял примечания. Как комментарии в коде. Хорошие программисты всегда оставляют комментарии. Чтобы тот, кто придёт после, понял, зачем.
Я стоял под фонарём долго. Ника стояла рядом. Ничего не говорила.
* * *
Палыч вёл журнал.
Гошин блокнот «Журнал обходов» заполнился за неделю наполовину. Палыч записывал всё: что нашли, где, что делает, сколько стоит. Отдельной колонкой — «долг объекта». Отдельной — «пользуются ли люди».
К концу недели вышло так:
Тридцать восемь объектов. Тридцать восемь костылей Данилы. По всему городу.
Скамейка. Почтовый ящик. Библиотека. Фонарь. Холодильник. Стена с дыркой. Питание лифта в «Вертикали». Два крана с горячей водой — в бане на Садовой и в общежитии. Ступенька на мосту, которая не проваливалась, хотя мост весь был гнилой. Водопроводная колонка на окраине, которая давала чистую воду. Единственная в городе.
— Колонка, — сказал Палыч, постучав пальцем по блокноту. — Из неё пьёт весь вокзал. Двенадцать лет Кремень гоняет туда людей с вёдрами. Думает, повезло. Природный источник.
— А это Данила, — сказал я.
— А это Данила.
Он перевернул страницу. Посмотрел на столбик цифр. Щёлкнул костяшками.
— Каждый, кто пьёт из колонки, — сказал он медленно, — берёт на себя кусочек его долга. Крошечный. Одну сотую. Но берёт.
— Перенос при использовании чужого костыля, — сказал я. — Частичный.
— Значит, весь город в долгу, — сказал Палыч. — У человека, которого никто не помнит. Двадцать один год.
Мы помолчали.
— Почему тогда Серый ни за кем не пришёл? — спросила Ника. — Если весь город должен?
— Потому что у каждого — сотые, — сказал Палыч. — Ниже порога. Всегда ниже. Чтобы набрать сто от колонки, надо пить из неё сто лет.
— А Стас?
— Стас пользовался дверью по десять раз в день. Дверь — большой костыль. Дорогой.
Гоша, сидевший на полу, поднял руку. Как в школе.
— А где сам долг? — спросил он. — Данилин. Тот, что не перешёл.
Мы все посмотрели на него.
Хороший вопрос. Гоша вообще умел задавать хорошие вопросы. Медленно, но в точку. Как будто его голова не умела пропускать важное.
Я посмотрел на холодильник. Новым «Логом». Тем, что открылся на первом уровне.
Объект: Холодильник бытовой «Бирюса».
Изменён: пользователем Д*****.
Технический долг изменения: 12.
Носитель долга: [пользователь, статус не определён].
Статус не определён. Не удалён. Не взыскан. Не определён.
— Он не пропал, — сказал я.
— Что?
— Данила. Серый его не взыскал. Если бы взыскал — холодильник исчез бы. Как дверь Стаса. Как банкомат. Серый забирает долг вместе с тем, что его создало. А холодильник здесь. Тридцать восемь костылей здесь.
— Значит, он живой?
— Значит, статус не определён, — сказал я. — Это не одно и то же.
* * *
На восьмой день я наткнулся на главное. Случайно. Как всегда.
Мы шли с Гошей мимо шаурмичной — возвращались с колонки, с вёдрами. Ставни были подняты. Я посмотрел на них. Просто так, по привычке. Каждый вечер я ставил на них костыль — плюс пять, сразу после начала Отката, — и каждое утро смотрел, на месте ли.
И впервые прочитал всё, что было ниже. Я раньше не читал. Мне хватало верхних строк.
Объект: Ставни металлические.
Статус: участвует в Откате.
Флаг «Не трогать»: установлен пользователем Д*****. Постоянный.
Постоянный. Флаг Данилы — постоянный. А ставни — участвуют в Откате. Поэтому каждую ночь они падают, а флаг остаётся.
А шаурмичная — не участвует. Холодильник — не участвует.
Я бросил вёдра. Гоша аккуратно поставил свои рядом. Я пошёл к холодильнику.
Объект: Холодильник бытовой «Бирюса».
Статус: исключён из Отката.
Изменения объекта: 3.
Изменение 1: «Исключение из Отката». Тип: костыль. Действует до ближайшего Отката объекта.
Изменение 2: «Восстановление содержимого». Тип: костыль. Действует до ближайшего Отката объекта.
Изменение 3: «Питание». Тип: костыль. Действует до ближайшего Отката объекта.
Действует до ближайшего Отката объекта.
А объект — исключён из Отката.
Значит, ближайший Откат для него не наступит никогда.
Я сел на пол. Прямо на кухне. Гоша встал в дверях.
— Лёша? — спросил он. — Тебе плохо?
— Нет, Гоша, — сказал я. — Мне хорошо. Мне очень, очень хорошо.
* * *
— Объясни ещё раз, — сказала Ника. — Медленно. Для курьеров.
Мы сидели на кухне. Все четверо. Я рисовал на стене маркером — нашёл маркер в ящике у Ашота. Наверное, того самого.
— Смотри. Костыль действует до Отката. Всегда. Это правило.
— Это я поняла.
— А теперь. Первым костылём ты говоришь объекту: «Ты не участвуешь в Откате». Этот костыль тоже действует до Отката. Но объект уже не участвует. Значит, Отката для него нет. Значит, костыль действует вечно.
— Сам себя держит, — сказал Палыч.
— Сам себя держит. Как змея, которая укусила себя за хвост. А потом — любые костыли на этом объекте тоже вечные. Потому что Отката для него больше не будет.
Ника смотрела на стену. На мои кривые стрелочки.
— Это же… — Она нахмурилась. — Это же жульничество.
— Это баг, — сказал я. — Данила нашёл баг в Системе. Двадцать один год назад. И пользовался им. Тридцать восемь раз.
— А почему Система не исправила?
— Потому что, — сказал я, — Систему писали такие же люди, как я. А мы никогда ничего не исправляем. Мы ставим костыли.
Палыч щёлкал костяшками. Быстро, сосредоточенно.
— Сколько стоит исключение? — спросил он.
Я посмотрел на холодильник.
Изменение 1: «Исключение из Отката». Стоимость при установке: 30.
— Тридцать. За объект. Плюс то, что ставишь потом.
— Ставни, — сказал Палыч. — Ставни каждый день — плюс пять. Исключить ставни — тридцать. Плюс флаг на четверых — пять. Тридцать пять. Один раз.
— Окупится за семь дней.
— За семь дней, — подтвердил Палыч. — А потом каждый день — ноль.
— И нам больше не надо стоять на улице, когда начинается Откат, — сказала Ника. Медленно. Как будто пробуя на вкус. — Каждую ночь. Ждать, пока ты поставишь. Пока Откатыши не вышли.
— Не надо.
— И если тебя убьют — ставни останутся открытыми.
— Останутся. Для вас троих. Навсегда.
Ника посмотрела на меня. Долго.
— Ты так говоришь, — сказала она, — как будто собираешься, чтобы тебя убили.
— Я так говорю, — сказал я, — как говорит любой нормальный айтишник. Система должна работать, даже если админа сбил автобус. Это называется отказоустойчивость.
— Это называется дурость.
— Это одно и то же, — согласился я.
* * *
Технический долг: 4.
Перенесённый долг группы: 9.
Четыре. Неделя охоты сделала своё. Каждое утро я отдавал всё, что заработал. Каждый вечер — плюс пять за ставни. Но Откатышей мы били всё лучше, и минут становилось всё больше. Четыре — это было почти ничего.
Я стоял у ставней. Ника, Палыч и Гоша стояли за спиной. Был день. Было тихо.
«Костыль».
Выбран объект: Ставни металлические.
[Изменить параметр]
Параметр «Участие в Откате»: да → нет.
Стоимость: 30.
Внимание: исключённые объекты не восстанавливаются при повреждении.
Внимание: исключённые объекты не обновляются при изменениях в базе.
Внимание: исключённые объекты привлекают внимание пользователей с правами администратора.
Продолжить? [Да] [Нет]
Последняя строка мне не понравилась.
— Что? — спросила Ника. Она видела моё лицо.
— Привлекают внимание Администраторов.
— Они и так знают, где мы.
— Знают, — согласился я.
Я прочитал всё ещё раз. Ника стояла и ждала. Она больше не говорила «читай». Она просто стояла рядом каждый раз и ждала, пока я дочитаю. Это работало лучше любых слов.
Да.
Ставни: исключены из Отката.
Технический долг: 34.
Потом — флаг.
Флаг «Не трогать» — игнорировать для: Алексей Гордеев, Ника, Пётр Павлович, Георгий.
Тип: костыль. Действует до ближайшего Отката объекта.
Ближайший Откат объекта: не запланирован.
Технический долг: +5.
Технический долг: 39.
Не запланирован.
Я убрал руку со ставней.
Тридцать девять. Ещё вчера я был на четырёх. Но с завтрашнего дня — ни одного «плюс пять». Больше никаких ночных стояний на улице. Больше никаких «если не успею».
— Готово, — сказал я.
Гоша подошёл к ставням. Потрогал их. Осторожно, кончиками пальцев, как трогают бабочку.
— Они теперь наши? — спросил он.
— Теперь наши.
— Навсегда?
— Пока кто-нибудь их не сломает.
Гоша кивнул. Потом подумал и сказал:
— Я тогда буду их сторожить.
— Гоша, их не надо сторожить. Они заперты флагом.
— Всё равно, — сказал Гоша. — Дом надо сторожить. Даже если заперт.
Дом.
Я посмотрел на шаурмичную. На выцветшую вывеску «У Ашота». На ставни. На окно, за которым на кухне гудел холодильник Данилы.
Неделю назад это было убежище. Склад. Нора.
А Гоша назвал это домом. И никто из нас не стал спорить.
* * *
Вечером, перед Откатом, я сидел на кухне один. Остальные спали в зале — Гоша на полу у двери, Палыч в кресле, которое мы притащили из библиотеки, Ника на одеялах у окна.
Я смотрел на стену. На надпись Данилы. «Если ты это читаешь — ты Отладчик».
А потом взял маркер и под ней, мелко, написал своё:
«Нашёл тридцать восемь. Колонку, фонарь, библиотеку. Перечитал «Таинственный остров». Неплохо, но ты преувеличиваешь — 47 раз многовато. Ставни исключил, как ты. Плачу. Серого видел. Пока не спрашивал, как зовут. Ты где? — Л.»
Глупо, наверное. Писать на стене человеку, которого нет двадцать один год.
Но Данила оставлял примечания. Чтобы тот, кто придёт после, понял, зачем.
Может, кто-то придёт и после меня.
Небо щёлкнуло. Откат начался. Ставни остались поднятыми — впервые без моего участия. Я сидел и смотрел в окно, как город разбирается на слои, а вдоль улицы ползёт туман.
Фонарь на Пушкина горел. Я видел его отсюда — маленькое жёлтое пятнышко в сером.
«Чтобы было видно дорогу домой».
Технический долг: 39.
Ближайший Откат объекта «Шаурмичная»: не запланирован.
Я заснул прямо за столом. Впервые в Изнанке я заснул до того, как кончился Откат.
Глава 12. Тестовая база
Газетный киоск стоял у остановки с одноглазой женщиной. Я проходил мимо него каждый день. Две недели. И ни разу не посмотрел.
Киоски в Изнанке были как магазины. Красивые и бесполезные. За стеклом — журналы, газеты, сканворды, пластиковые зажигалки. Всё муляж. Обложки размыты, как на фотографии, снятой трясущейся рукой. Заголовки не читаются. Буквы есть, а слов нет.
В то утро я остановился, потому что Гоша остановился. А Гоша остановился, потому что увидел за стеклом журнал про рыбалку.
— Я такой покупал, — сказал он. — Папе. На день рождения. Каждый год.
Я посмотрел на журнал. Обложка — размытое пятно. Синее сверху, зелёное снизу. Может, озеро. Может, просто цвета.
И «Лог» выдал:
Объект: Журнал периодический (муляж).
Текстура: загружена из внешнего источника.
Источник: [ПРОД].
Дата текстуры: вчера.
Вчера.
Я перечитал. Дата текстуры — вчера.
Я посмотрел на соседнюю газету. Местная, «Курортный вестник». Я её знал — бесплатная, её раскладывали по почтовым ящикам, и все выбрасывали не читая.
Объект: Газета (муляж).
Текстура: загружена из внешнего источника.
Источник: [ПРОД].
Дата текстуры: вчера.
Восстановление текста… частично.
Восстановление текста. Это мне дал первый уровень. «Частичное восстановление удалённых данных». Я раньше применял его только к людям.
Строки побежали. Медленно, с пропусками, как текст на старом факсе.
«…курортного сезона…»
«…в связи с ремонтом теплотрассы на улице…»
«…до сих пор не найден. Алексей Г., 32 года, сотрудник торговой компании, пропал в ночь на 1 октября из офисного здания на улице… Коллеги сообщают, что он задержался на работе… камеры видеонаблюдения зафиксировали, как он вошёл в серверную, но не зафиксировали, как вышел… Полиция просит всех, кто…»
Я стоял и читал. Гоша стоял рядом и смотрел на журнал про рыбалку.
— Лёша? — сказал он. — Ты что?
— Я пропал, — сказал я.
— Ты здесь.
— Здесь — да. А там — пропал. Вчера. Там пишут.
Гоша посмотрел на газету. Он не видел текста. Только размытое пятно.
— Там тебя ищут? — спросил он.
— Ищут.
Гоша подумал. Долго.
— Это хорошо, — сказал он наконец. — Когда ищут — значит, ждут.
* * *
— Палыч, — сказал я. — Мне нужен ваш блокнот. И ваши счёты. И все ваши пятнадцать лет.
Палыч сидел в зале шаурмичной, в библиотечном кресле. Поднял на меня глаза.
— Все пятнадцать — дорого.
— Я заплачу.
— Чем?
— Правдой, — сказал я. — Мне кажется, я знаю, где мы.
Он отложил счёты.
Я рассказал. Про газету. Про «источник: ПРОД». Про «дату текстуры». Про то, что вчера в нормальном мире вышла газета с заметкой о моём исчезновении, а сегодня утром эта газета висит за стеклом мёртвого киоска в мёртвом городе. Размытая. Но — та же.
Палыч слушал молча. Ника слушала, сидя на подоконнике. Гоша — на полу.
— ПРОД, — сказал Палыч, когда я закончил. — Что это?
— Продуктив, — сказал я. — Так айтишники называют рабочую базу. Настоящую. Ту, где всё по-честному. Где деньги — настоящие деньги, а клиенты — настоящие клиенты.
— А мы?
— А мы, — сказал я, — тест.
Тишина.
— Объясни, — сказала Ника. — Для курьеров.
Я встал. Взял маркер. Подошёл к стене — к той, что напротив входа, где ещё было чисто.
— Смотри. Есть система. Большая, важная. Например, учёт в компании. В ней всё — товары, деньги, документы. Если в ней что-то сломается — всё, катастрофа. Компания стоит, деньги пропали, люди без зарплаты.
Я нарисовал квадрат. Подписал «ПРОД».
— Теперь кто-то хочет её обновить. Поставить новую версию. Новые функции. Но если поставить сразу на рабочую и она сломается — катастрофа. Поэтому делают копию.
Я нарисовал второй квадрат. Рядом. Подписал «ТЕСТ».
— Копию. Тестовую базу. Туда загружают всё то же самое, что в рабочей. Те же товары, те же документы. И сначала ставят обновление туда. Смотрят, не сломалось ли. Если сломалось — откатывают. Возвращают копию в исходное состояние. И пробуют снова.
— Откатывают, — повторила Ника.
— Откатывают. Каждую ночь. А потом снова загружают свежие данные из рабочей базы — чтобы тест был на актуальном. Это называется синхронизация.
Я провёл стрелку от «ПРОД» к «ТЕСТ».
— Газета, — сказал Палыч. Медленно. — Каждую ночь в киоск загружают вчерашнюю газету. Из продуктива.
— Загружают. Только плохо. Текстура размытая. Как будто копировали через плохой канал.
— А магазины? Пластиковые яблоки?
— Тоже копия. Только неполная. Форму скопировали, содержимое — нет. Поэтому яблоки красивые, но есть нельзя.
— А люди? — тихо спросил Гоша.
Я помолчал.
— А люди, — сказал я, — попали сюда случайно. В момент синхронизации. Каждый из нас что-то нажал. Кнопку питания. «Провести документ». Сигнализацию. Мы были рядом с системой в ту секунду, когда она копировала себя в тест. И нас скопировало вместе с ней.
— Скопировало, — повторила Ника. Голос у неё стал напряжённым. — То есть мы — копии? Там, — она ткнула пальцем в квадрат «ПРОД», — есть настоящие мы, а мы тут — копии?
— Нет, — сказал я. — Там нас нет. Там пишут, что я пропал. Камеры видели, как я вошёл в серверную, и не видели, как вышел. Если бы я был копией — оригинал бы вышел. А он не вышел.
— Значит?
— Значит, нас не скопировало. Нас перенесло. Целиком.
* * *
Палыч достал блокнот. Не Гошин — свой. Маленький, в коленкоровой обложке, засаленный, с загнутыми углами. Я его раньше не видел.
— Пятнадцать лет, — сказал он. — Я записывал всех, кто приходил. Имя. Класс. Откуда. Что нажал. Когда. Привычка.
Он открыл блокнот. Страницы были исписаны мелким аккуратным почерком. Столбиками. Как бухгалтерская книга.
— Я думал, это просто учёт, — сказал Палыч. — А теперь смотрю…
Он полистал.
— Две тысячи одиннадцатый. Март. Новенький — Сергей, электрик, щиток на подстанции. Две тысячи одиннадцатый. Март. Через три дня — Людмила, кассир, закрывала смену. Две тысячи одиннадцатый. Март. Через пять дней — ещё двое. Потом — ничего, до июля. В июле — сразу четверо. За неделю.
Он поднял глаза.
— Они приходят волнами. Не по одному. Волнами. Несколько дней подряд — новенькие. Потом месяц тихо. Потом опять.
— Обновления, — сказал я. — Когда на рабочей базе что-то меняют — делают новую копию в тест. Полную. Тяжёлую. Тогда и затягивает больше. А в обычные ночи — синхронизация лёгкая. Мелочи. Газеты.
— Две тысячи одиннадцатый, март, — сказал Палыч. — В нашем городе тогда меняли все счётчики на электронные. Я помню. Я ещё был там. В санатории. У нас тоже меняли.
— А июль?
— Не помню. — Он полистал ещё. — Две тысячи девятнадцатый, январь. Девять человек за четыре дня. Это самая большая волна.
— Что было в январе девятнадцатого?
Палыч не знал. Он был здесь уже восемь лет. Ника пожала плечами. Гоша подумал.
— В январе девятнадцатого, — сказал Гоша медленно, — в «Вертикали» поставили новую систему. Камеры, пропуска, всё. Нас учили неделю. Я тогда ещё не был тут. Я туда пришёл охранником как раз под эту систему.
— А ты когда попал?
— В двадцать четвёртом. В ноябре. — Гоша подумал ещё. — Тогда в «Вертикали» меняли пульт. Сигнализации. Я первый на новом нажал.
— И ты? — спросил я Нику.
Ника молчала.
— Ника, — сказал Палыч мягко. — Это не допрос. Это бухгалтерия.
Ника отвернулась к окну.
— Двадцать шестой, апрель, — сказала она. — У нас в службе доставки поставили новое приложение. Для курьеров. Я нажала «Доставлено». Первая во всём городе. В новом приложении.
Она помолчала.
— Это был не мой заказ, — сказала она. Очень тихо. — Я нажала «Доставлено», а заказ не довезла. Клиентка ждала лекарства. Для ребёнка. А я опаздывала на другой заказ, за который платили больше. И я нажала «Доставлено» и поехала на другой. Думала — потом завезу. Через полчаса.
Тишина на кухне. Только холодильник гудел.
— И не завезла, — сказал Гоша. Не спросил.
— Не завезла, — сказала Ника. — Я очнулась здесь.
Никто ничего не сказал. Палыч закрыл блокнот. Гоша смотрел на Нику своими круглыми глазами, и в них не было осуждения. Только сочувствие. Огромное, как он сам.
Я подумал, что теперь понимаю. Почему Ника всегда торопится. Почему не умеет ждать. Почему смотрит на каждого новенького как на заказ, который надо успеть довезти.
* * *
Вечером я поднялся на крышу вокзала.
Кремень разрешил мне ходить на рынок без доли — и, видимо, это включало крышу. По крайней мере, Толян у боковой двери только кивнул, когда я прошёл мимо.
Лифта на крыше уже не было. Он вернулся в «Вертикаль» на следующую ночь после того, как я его угнал. Но я помнил, где он стоял. На рубероиде остался светлый прямоугольник.
Я встал посередине и посмотрел вверх.
На небо.
Две недели я смотрел на всё подряд. На стены, на людей, на холодильники. И ни разу — на небо. Не думал, что оно — объект.
Объект: [Небо].
Тип: системный.
Контур: ТЕСТ.
Связь с контуром ПРОД: активна.
Синхронизация: еженощно, 00:00 — 06:00 (по времени контура ПРОД).
Последнее полное обновление эталона: 21 год назад.
Последнее частичное обновление эталона: 9 дней назад.
Ожидающее обновление: [Слияние контуров].
Статус ожидающего обновления: подготовка.
Готовность: 71%.
Я читал. Перечитывал. Строку за строкой.
Последнее полное обновление эталона — двадцать один год назад.
Двадцать один год. Тот же срок, что и Данила. Тот же срок, что и холодильник. Тогда, двадцать один год назад, Изнанку загрузили целиком. С нуля. Тот город, каким он был двадцать один год назад. Шаурмичная работала. Банкомата не было. Цены в меню — шестьдесят рублей.
А потом — только частичные. Кусками. Новый торговый центр. Новая газета. Новая лестница — которая не загрузилась.
И ожидающее обновление.
«Слияние контуров».
Готовность — семьдесят один процент.
Я стоял на крыше и смотрел на серое небо. Слияние контуров. Я знал, что это значит. Любой айтишник знал.
Когда тест достаточно оттестирован — его переносят на рабочую. Сливают. Изменения, которые проверили в тесте, накатывают на продуктив. Тестовая база становится рабочей.
Изнанка станет настоящим городом.
Со всем, что в ней есть.
С Откатом. С Откатышами. С Серым. С Администраторами.
* * *
— Слияние, — сказал Палыч. Он стоял рядом со мной на крыше. Я не слышал, как он поднялся. Он, видимо, пошёл за мной, увидев моё лицо. — Ты уверен?
— «Лог» не врёт. Я — могу. «Лог» — нет.
— Семьдесят один процент.
— Семьдесят один.
Палыч снял очки. Протёр. Надел. Посмотрел на небо — так, как будто пытался разглядеть там цифру.
— Кто это делает? — спросил он.
— Не знаю. Тот, кто делает обновление. Тот, кто создал тест.
— Бог?
— Подрядчик, — сказал я. — Скорее всего, подрядчик.
Палыч засмеялся. Сухо, коротко.
— Ты, Алексей, всё сводишь к своему.
— А вы — к своему. Вы видите цену. Я вижу код. Каждый видит то, что умеет видеть. — Я помолчал. — Палыч, а Администраторы — они знают?
Он долго не отвечал.
— Они называют Откат очищением, — сказал он наконец. — Говорят: каждую ночь мир становится чище. Готовится. К чему-то. Я всегда думал, это их сказки. Религия. Людям нужна религия.
— А если не сказки?
— А если не сказки, — медленно сказал Палыч, — то они готовят Изнанку. К слиянию. Убирают лишнее. Аномалии. Тех, кто выделяется. Делают её… стабильной.
— Чистой, — сказал я. — Перед заливкой на прод всегда чистят тест. Убирают тестовые данные. Мусор. Всё, что может сломать рабочую базу.
— И мы — мусор?
— Мы — аномалии, — сказал я. — Это хуже.
* * *
Мы спустились по пожарной лестнице. В зале вокзала шумел рынок. Вечерний, ленивый — люди уже готовились к ночи.
А у входа, на колонне, висел лист бумаги.
Белый. Ровный. Отпечатанный — не написанный от руки, а именно отпечатанный, на принтере. Первый напечатанный текст, который я видел в Изнанке.
Вокруг листа стояла толпа. Человек тридцать. Читали. Молчали.
Я протиснулся.
«УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ!
В связи с подготовкой к плановому Обновлению Администрация информирует:
1. В течение ближайших 14 дней будет проводиться проверка стабильности контура.
2. Пользователи, имеющие технический долг (в том числе перенесённый), обязаны явиться в Административный центр для бесплатной процедуры обнуления.
3. Пользователям рекомендуется воздерживаться от использования нестандартных объектов (перечень прилагается).
4. Информация о местонахождении аномалии «Отладчик» оплачивается в размере 500 минут.
Ваше сотрудничество очень важно для нас.
С уважением, Администрация.»
Ниже — перечень. Мелким шрифтом. Колонка на окраине. Фонарь на Пушкина. Баня на Садовой. Скамейка в сквере. Мост. Лифт в «Вертикали».
Все костыли Данилы. Все тридцать восемь. Только шаурмичной в списке не было.
Пока не было.
Пятьсот минут. За меня.
Я почувствовал, как на меня смотрят. Не все — некоторые. Кто-то в толпе узнал повара, который раздавал шаурму. Кто-то вспомнил ночь, когда Откатыши провалились сквозь потолок. Кто-то просто считал: пятьсот минут — это месяц спокойной жизни.
— Повар, — сказал кто-то рядом. Тихо.
Я обернулся. Мужик в ватнике. Тот самый, что сидел на полу, когда вернулись минуты из банкомата. Он смотрел на меня. Губы шевелились — считал.
А потом из-за его спины вышел Кремень.
Он подошёл к колонне. Посмотрел на лист. Прочитал — медленно, до конца, вместе с перечнем. Шрам на щеке дёрнулся.
Он сорвал лист с колонны. Скомкал. Бросил под ноги.
— На моём вокзале, — сказал он громко, на весь зал, — никто никого не продаёт. За пятьсот минут. За пять тысяч. Ни за сколько.
Тишина.
— Кто хочет обнуляться — дорога в мэрию открыта, — продолжал Кремень. — Только вспомните, сколько оттуда вернулось. Я вам скажу. Ни одного. За восемь лет — ни одного.
Мужик в ватнике опустил глаза.
Кремень повернулся ко мне. Посмотрел. Долго.
— Повар, — сказал он. Уже тише. — Пойдём поговорим. Ты, кажется, знаешь, что тут происходит. А я не люблю, когда в моём городе кто-то знает больше меня.
Технический долг: 39.
Перенесённый долг группы: 9.
Обнаружено ошибок за всё время: 312.
Уровень повышен: 1 → 2.
Уровень пришёл тихо. Я даже не сразу заметил. Триста двенадцать ошибок. Небо с готовностью семьдесят один процент тоже, видимо, засчиталось.
Я пошёл за Кременем. Палыч — за мной.
Где-то наверху, за серым небом, шкала готовности медленно ползла вперёд. Семьдесят один. Скоро — семьдесят два.
Полоска загрузки.
Как я их ненавидел.
Глава 13. Война кланов
Кабинет Кременя был в бывшей комнате начальника вокзала. На втором этаже, за дверью с табличкой «Посторонним вход воспрещён». Табличку никто не правил маркером. Видимо, здесь посторонние и так понимали.
Внутри — стол, два стула, сейф и карта города на стене. Настоящая, бумажная, советская, с пометками от руки. Красные крестики. Синие кружки. Стрелки.
Кремень сел за стол. Мне показал на стул. Палычу — на второй. Сам налил себе из графина что-то мутное. Нам не предложил.
— Рассказывай, повар.
Я рассказал. Про газету. Про ПРОД и ТЕСТ. Про небо. Про «Слияние контуров» и семьдесят один процент.
Кремень слушал. Пил. Не перебивал. Когда я закончил, он долго смотрел на карту.
— Значит, так, — сказал он. — Мы в аквариуме. Кто-то за стеклом готовится вылить воду из нашего аквариума в свой. Вместе с рыбами. А эти, в белых рубашках, — чистят аквариум. Чтобы рыбы были красивые. Одинаковые. Правильно?
— Примерно так.
— А ты?
— А я — рыба, которая умеет читать надписи на стекле.
Кремень хмыкнул.
— Восемь лет, — сказал он. — Восемь лет я держу этот вокзал. Строил. Людей собирал. Правила ставил. Думал — вот она, моя земля. Моя. Я тут хозяин. — Он поставил стакан. — А я, выходит, рыба. Которую скоро выльют.
Он встал. Подошёл к карте. Ткнул пальцем в центр города — в белое здание на площади, обведённое красным три раза.
— Мэрия, — сказал он. — Восемь лет я туда не хожу. Потому что те, кто ходил, не вернулись. Но я туда смотрю. Каждый день. В окно. У них свет горит. Окна чистые. А мои люди пьют воду из колонки, которую им какой-то Данила двадцать лет назад сделал.
Он повернулся ко мне.
— Сорок одна тысяча минут, — сказал Кремень. — Из банкомата. Ты говорил — получатель «административный центр». Это мэрия. Сорок одна тысяча. Это — всё, что люди за двенадцать лет туда скормили. Им вернули только то, что было в самом банкомате. А что успело уплыть в мэрию — там и лежит.
— Лежит, — согласился я.
— Я хочу это забрать.
— Это война.
— Это возврат долга, — сказал Кремень. — Ты, повар, в долгах лучше меня разбираешься. Скажи — я не прав?
Я промолчал.
Палыч щёлкнул костяшкой.
— Сколько у вас людей, Кремень? — спросил он.
— Сто двенадцать. Бойцов — сорок.
— А у них?
— Не знаю. Никто не знает.
— Тогда это не война, — сказал Палыч. — Это самоубийство.
Кремень посмотрел на него. Потом на меня.
— Поэтому мне и нужен повар, — сказал он.
* * *
Ответ я не дал. Сказал — подумаю.
Думать мне не дали.
Колонка перестала работать на следующее утро.
Гоша пришёл с пустыми вёдрами. Поставил их у двери шаурмичной. Лицо у него было растерянное.
— Не течёт, — сказал он.
Я пошёл смотреть. Колонка стояла на окраине, у последних домов, — старая, чугунная, с длинным рычагом. Рядом уже собралась очередь. Человек двадцать. С вёдрами, с канистрами, с бутылками. Один мужик качал рычаг. Рычаг ходил вверх-вниз, скрипел. Воды не было.
На колонке висел лист. Белый, отпечатанный.
«Объект выведен из эксплуатации в рамках подготовки к Обновлению. Приносим извинения за доставленные неудобства. Администрация».
Объект: Колонка водоразборная.
Изменён: пользователем Д*****.
Параметр «Подача воды»: [заблокировано].
Блокировка установлена: пользователем с правами администратора.
Примечание пользователя Д*****: «Пейте, ребята. Вода хорошая».
Пейте, ребята. Вода хорошая.
Я стоял и смотрел на это примечание. Двадцать один год назад человек сделал воду для людей. Оставил записку — «пейте, ребята». А сегодня кто-то в белой рубашке пришёл и повесил на неё замок.
— Можешь починить? — спросил Гоша.
Я посмотрел внимательнее.
Блокировка: права администратора.
Изменение объекта, заблокированного администратором: тариф ×5.
Стоимость снятия блокировки: 25.
Двадцать пять. И завтра они поставят новую. А я сниму. Плюс двадцать пять. А они поставят. Как два админа, которые воюют за права в одной папке.
Это не решение. Это гонка. Которую я проиграю — у них, судя по банкомату, долговых помоек много.
— Пока нет, — сказал я Гоше. — Пока — нет.
* * *
К вечеру на вокзале кончилась вода.
Не совсем — у кого-то были запасы. Сохранённые минутами канистры. Но у большинства — нет. Люди сидели вдоль стен, облизывали губы. Дети… детей в Изнанке не было, я это давно заметил и старался об этом не думать. Но старики были. Тётя Лара сидела на своём месте под мозаикой и поила дядю Мишу из крышки термоса. Последнее.
Кремень вышел в центр зала. Встал там, где когда-то лежали семь кучек вещей.
— Мэрия перекрыла воду, — сказал он. — Вы все видели. Повесили бумажку. Извинились. Вежливо.
Тишина.
— У них есть вода, — продолжал Кремень. — Свет. Минуты — наши минуты, сорок тысяч. И у них есть те, кого они забрали. Восемь лет забирали. «На обнуление». Никто не вернулся.
Кто-то в толпе всхлипнул.
— Я иду туда, — сказал Кремень. — Завтра днём. Кто со мной — тот со мной. Кто нет — сидите тут и ждите, пока они придут за вами. Они придут. Вы все читали бумажку. Две недели — и за каждым, у кого есть хоть сотая долга. А у вас у всех есть. Вы все пили из колонки.
Я стоял у стены. Палыч — рядом. Ника и Гоша — за спиной.
Кремень посмотрел на меня через весь зал.
— Повар, — сказал он громко. — Ты со мной?
Все повернулись.
Двести человек смотрели на меня. На повара. На того, кто уронил Откатышей. На того, кто вернул минуты из банкомата. На того, за кого Администрация обещала пятьсот минут.
Я посмотрел на Палыча. Палыч смотрел на меня. Щёлкнул костяшкой. Один раз.
— Палыч? — тихо спросил я.
— Я не учу, — сказал он. — Я считаю. Без тебя их перебьют. С тобой — может быть, тоже. Но не всех.
Я посмотрел на Нику.
— Я с тобой, куда бы ты ни пошёл, — сказала она. Зло. — Не потому что ты прав. Потому что без меня ты умрёшь в первые пять минут.
Гоша ничего не сказал. Просто поправил на руке знак «Уступи дорогу».
— С тобой, — сказал я Кременю. — Но не воевать.
— А что тогда?
— Смотреть, — сказал я. — Сначала — смотреть. Что они там делают. Что такое «обнуление». Куда деваются люди. Потом — решим.
Кремень долго смотрел на меня. Потом кивнул.
— Разведка, — сказал он. — Ладно. Разведка так разведка. Но если что — повар, я тебя предупредил. Если что — режем.
* * *
Пункт обнуления стоял на площади перед мэрией. Белая палатка. Большая, как на ярмарке. Над входом — табличка: «Пункт обнуления технического долга. Бесплатно. Без очереди». Возле палатки — стол. За столом — двое в белых рубашках. Стажёры, жёлтые бейджи.
И очередь.
Человек пятнадцать. Стояли молча. Кто-то — с вещами, кто-то — налегке. Лица — усталые, пустые. Люди, которые решили, что так будет проще.
Мы смотрели с крыши соседнего дома. Я, Кремень, Ника, Толян. Гоша и Палыч остались внизу, в подъезде, с основной группой. Двадцать бойцов «Нарзана».
— Это наши, — сказал Толян тихо. — Вон тот, в ватнике. И вон та, с сумкой. Это с рынка. Я их знаю.
Мужик в ватнике. Тот, что считал пятьсот минут, глядя на меня. Пришёл всё-таки. Только не меня сдавать. Себя.
Я посмотрел на палатку. «Логом». Сквозь ткань.
Объект: Пункт обнуления (временное сооружение).
Принадлежность: Администрация.
Функция: [обнуление технического долга пользователя].
Метод: перевод пользователя в режим «Эталон».
Режим «Эталон».
— Что это значит? — спросил Кремень. Я, видимо, сказал вслух.
— Не знаю. Сейчас.
Из палатки вышел человек. Женщина. Средних лет, в тёмной куртке. Она вошла туда минут десять назад — я видел. Тогда она шла, сутулясь, прижимая к груди сумку. Оглядывалась.
Теперь она вышла прямо. Спокойно. Без сумки. На лице — лёгкая, ровная улыбка. Как у манекена в витрине.
Она остановилась у стола. Стажёр что-то сказал ей. Она кивнула. Развернулась и пошла — не к нам, не в город, а к мэрии. Ко входу. Ровным, размеренным шагом.
Пользователь: Галина.
Технический долг: 0.
Режим: Эталон.
Свободная воля: [отключена].
Назначение: фоновый пользователь.
Статус: подготовлена к слиянию.
Я смотрел и не мог отвести глаз.
Свободная воля — отключена. Назначение — фоновый пользователь.
Как в игре. Фоновые персонажи. Те, что ходят по улицам туда-сюда, подметают, продают хлеб, говорят «добрый день». Массовка. У них нет своих желаний. Они делают то, что им прописано.
Администрация не убивала людей. Она превращала их в массовку. Для нового мира. Для слитого мира. Чтобы, когда тест станет продом, улицы были полны. Чтобы кто-то подметал, продавал хлеб, говорил «добрый день».
Вежливо. Бесплатно. Без очереди.
— Повар, — сказал Кремень. Голос был тихий и страшный. — Что там?
Я сказал.
Кремень помолчал. Шрам на щеке побелел.
— Восемь лет, — сказал он. — Восемь лет они сюда ходили. А я думал — убивают. Думал — хоть быстро.
Он повернулся к Толяну.
— Сигнал.
* * *
Это не было боем. Это было похоже на облаву в обратную сторону.
Нарзанцы выскочили из подъезда все разом. Двадцать человек. С арбалетами, с битами, с самодельными копьями. Кремень — впереди, с тесаком. Гоша — сбоку, со знаком. Ника — где-то везде.
Стажёры за столом вскочили. Один коснулся планшета.
Пользователь [стажёр] применил: «Блокировка навыка».
Цель: Кремень.
Кремень даже не замедлился. Ему не нужны были навыки, чтобы бежать с тесаком. Девятнадцать уровней — это не только навыки. Это ещё и тело, которое восемь лет дралось каждую ночь.
Стажёры побежали. К мэрии.
Очередь стояла. Пятнадцать человек. Не убегали, не двигались. Смотрели. Растерянные.
— Уходите! — заорал Толян. — Домой, на вокзал! Быстро!
Мужик в ватнике посмотрел на него. Потом — на палатку. Потом — на мэрию, куда ровным шагом уходила женщина без сумки.
И побежал. Назад, в город. Остальные — за ним.
Я стоял на крыше. Смотрел. Читал.
Вокруг палатки — периметр. Я видел его «Логом»: тонкая линия, как леска. Нарзанцы добежали до неё — и встали. Не могли пройти. Как Ника тогда, у ставней шаурмичной.
Объект: Периметр пункта обнуления.
Доступ: пользователи в очереди; пользователи с правами администратора.
Стоимость изменения: тариф ×5. 15.
В палатке были люди. Я видел. Трое. Сидели на стульях. Ждали своей очереди на обнуление. С закрытыми глазами. Может, спали. Может, уже наполовину ушли.
Пятнадцать.
Технический долг: 39.
Я прочитал. Все строки. Ника внизу, за периметром, задрала голову и смотрела на меня. Она не кричала «читай». Она просто смотрела.
Да.
Периметр: отключён.
Технический долг: 54.
Нарзанцы ворвались в палатку. Через минуту вынесли троих. Двоих несли — они не просыпались. Третий шёл сам. Шатался. Смотрел вокруг, как будто проснулся в незнакомом месте.
— Где я? — спросил он. — Что… что я делал?
— Стоял в очереди, — сказал Толян. — Пошли. Пошли, дед. Потом расскажешь.
* * *
Двери мэрии открылись.
Не все — одна, центральная. Высокая, дубовая, с бронзовыми ручками. Из неё вышли люди. Не в белых рубашках.
В обычной одежде. Мужчины, женщины. Разные. Старые, молодые. Человек сорок. Они шли ровно, в ногу, с одинаковыми лёгкими улыбками. В руках у одних были мётлы. У других — швабры. У третьих — ничего.
Фоновые пользователи.
Они шли на нас. Молча. Не быстро, не медленно. С улыбками.
Нарзанцы замерли.
— Это… — сказал кто-то. — Это же Валерка. Валерка Сомов. Он в позапрошлом году ушёл обнуляться.
— А это Семёновна. Которая пирожки…
— Не бить! — заорал Кремень. — Не бить их! Это наши!
Фоновые подошли. Остановились. Встали стеной перед палаткой — между нами и мэрией. Улыбались. Молчали.
А один из них — молодой парень, с метлой — вдруг поднял голову и посмотрел прямо на меня. На крышу.
Я узнал его. Не лицо — описание. Палыч рассказывал.
Пользователь: [данные скрыты].
Класс: Эхо (заблокирован).
Режим: Эталон.
Назначение: фоновый пользователь (уборка территории).
Время в режиме: 10 лет 2 месяца.
Десять лет. Класс «Эхо». Парень, который мог повторить любой навык, который видел. Его забрали десять лет назад. Он улыбался. Он подметал площадь перед мэрией.
Десять лет подметал.
Из дверей мэрии вышел Эдуард.
Синий бейдж. Отглаженная рубашка. Планшет. Он встал за спинами фоновых. Посмотрел на Кременя. Потом — вверх, на меня.
— Господин Кремень, — сказал он. Голос был мягкий, усиленный — как будто через невидимый микрофон. — Вы нарушили работу пункта обнуления. Вы похитили трёх пользователей, которые добровольно обратились за услугой.
— Я забрал своих, — сказал Кремень.
— Это были не ваши люди. Это были пользователи. — Эдуард сделал паузу. — Как и вы. Как и все.
Он коснулся планшета.
Сообщение всем пользователям контура:
Клан «Стальной Нарзан» признан деструктивной группой.
Все члены клана получают статус: «Нарушитель».
Объект «Вокзал» исключается из списка безопасных объектов.
Я перечитал последнюю строку. Вокзал. Исключается из списка безопасных.
Это значило: с сегодняшней ночи Откатыши могут войти в вокзал. Как в любое другое здание. Как на улицу.
Двести человек. Без воды. Без защиты.
— Это объявление войны? — спросил Кремень.
— Это административная мера, — вежливо ответил Эдуард. — Войну, господин Кремень, объявили вы. Сегодня. Здесь.
Он повернулся. Посмотрел на меня.
— А вас, Алексей, — сказал он, — я жду. Наше предложение в силе. Вы знаете, что можете прийти в любой момент. Модератор хочет с вами поговорить.
Он ушёл обратно в мэрию. Фоновые остались стоять. Улыбались.
* * *
Вечером мы были в шаурмичной. Все четверо. Без света — я не стал включать газ. Сидели в темноте.
— Вокзал, — сказал Палыч. — Двести человек.
— Знаю.
— Сегодня ночью Откатыши войдут.
— Знаю.
— Если исключить вокзал из Отката…
— Здание вокзала — огромный объект, — сказал я. — Я уже смотрел. Двести сорок. Не тридцать. Двести сорок. Плюс тариф за административную блокировку — он теперь у них в списке. Тысяча двести.
Палыч щёлкнул костяшками. Замолчал.
— Тысяча двести, — повторила Ника.
— Тысяча двести.
Мы сидели. В темноте. Холодильник гудел.
— Тогда как? — спросил Гоша.
Я думал. Долго. Все ждали.
— Не исключать, — сказал я наконец. — Охранять. Так, как мы делаем это каждую ночь на перекрёстке. Только на вокзале. Все сорок бойцов. И мы. «Лог» — мой. «Оценка» — Палыча. Мы научили Нику и Гошу бить в швы — научим и остальных. Не одну ночь — каждую. Пока не придумаем лучше.
— Ты будешь говорить сорока людям, куда бить? — спросила Ника.
— Буду.
— Ты охрипнешь к полуночи.
— Значит, научу Толяна. Он громкий.
Ника засмеялась. Впервые за этот день.
А я посмотрел в интерфейс.
Технический долг: 54.
Перенесённый долг группы: 9.
Статус: под наблюдением.
И ещё одна строка. Новая. Я её не звал.
Входящее сообщение (пользователь: Кирилл, Администратор, младший).
Текст: «Модератор хочет встретиться. Один. Не говорите Эдуарду, что это от меня. Мне нужно с вами поговорить. Я больше не могу. — К.»
Я закрыл сообщение. Никому не сказал.
Потом подумал — и рассказал Палычу. Тихо, на кухне, пока остальные спали.
Палыч слушал. Щёлкал костяшками.
— Двойная игра, — сказал он.
— Я не знаю, что это. Ловушка. Или правда.
— А ты как думаешь?
Я вспомнил Кирилла. Двадцать два года. Обновлял роутер маме. Почти улыбнулся, когда я сказал, что у меня тоже такое было.
— Думаю, правда, — сказал я.
— Тогда вот что, — сказал Палыч. — Я заведу второй блокнот. Для этого. Всё, что скажешь им, и всё, что скажешь нам. В два столбика. Чтобы потом — если спросят — было видно, где правда.
— Двойная бухгалтерия.
— Двойная бухгалтерия, — кивнул Палыч. — Самое опасное, что я знаю. Я пятнадцать лет держался подальше. — Он вздохнул. — А теперь, на старости лет…
Он открыл новый блокнот. Чистый. Провёл посередине вертикальную черту.
Слева написал: «Им».
Справа: «Нам».
Глава 14. Двойная бухгалтерия
— Шов! Плечо! Где резина к железу!
Толян орал так, что дрожали люстры. Без лампочек, но дрожали.
Третья ночь обороны вокзала. Главный зал. Сорок бойцов «Нарзана» стояли полукругом у главного входа — там, откуда лезли Откатыши. Вокзал больше не был безопасным. Откатыши входили в двери, как в любое другое здание. Неторопливо. Бормоча «отмена».
А мы их встречали.
Я стоял на кассовой стойке. Высоко, чтобы видеть весь зал. Смотрел «Логом» и говорил. Тихо, быстро, Толяну на ухо — он стоял рядом, внизу. А Толян переводил на свой язык и орал на весь зал.
— Колено! Под коленом, где шланг! Мага бы попал, а вы чё?!
Я говорил «стык источников». Толян орал «где резина к железу». Я говорил «нарушена связь между третьим и седьмым компонентом». Толян орал «бей в пузо, там дыра».
Работало.
Палыч стоял рядом со мной на стойке. Говорил цену. Его слушали меньше — он говорил тихо, а Толян не успевал переводить двоих сразу. Но Ника слушала. Она носилась по залу рыжей вспышкой и добивала тех, про кого Палыч говорил «один удар».
Гоша держал дверь. Главную, дубовую. Он встал в проёме и держал. Откатыши шли на него один за другим — и разбивались о «Уступи дорогу», как волны о волнорез. Иногда кто-то проскальзывал сбоку. Тогда Гоша говорил «ой» — и через секунду этого кого-то уже не было.
Под утро мы насчитали шестьдесят три уничтоженных. Ни одного погибшего.
Кремень сидел на полу у мозаики, вытянув ноги. Тесак лежал у него на коленях. Он смотрел на свой зал. На своих людей — живых, усталых, перемазанных чем-то сероватым, что медленно испарялось с одежды.
— Четвёртая ночь без потерь, — сказал он, когда я подошёл. — За восемь лет такого не было. Даже когда вокзал был безопасным — кто-то да пропадал. Кто на улице задержался. Кто вышел покурить.
— Это не я. Это Толян.
— Это ты, — сказал Кремень. — Толян восемь лет орал. Его никто не слушал. Ты научил его, что орать.
Он помолчал.
— Повар, — сказал он. — Я тебе говорил, что разговаривать будем. Вот, разговариваю. Спасибо.
Я кивнул. Не знал, что ответить.
Подведение итогов ночи.
Ваша доля: 64 минуты.
Обнаружено ошибок: 63.
Шестьдесят четыре минуты. Я отдал шестьдесят. Как всегда.
Технический долг: 48.
* * *
Библиотека открывалась изнутри. Или снаружи — если постучать три раза.
Я постучал три раза. Был полдень. Шаурмичная спала — после ночи обороны все отсыпались. Я сказал Нике, что иду за водой. Воды в городе не было, и Ника это знала. Но была слишком сонная, чтобы спорить.
Дверь открылась.
Кирилл стоял на пороге. Белая рубашка. Жёлтый бейдж. Только рубашка была мятая. А лицо — серое, как будто он неделю не спал.
— Вы пришли, — сказал он. Удивлённо. Как будто не верил.
— Ты написал.
— Я написал. — Он отступил в сторону. — Заходите. Быстро. Здесь они не смотрят. Это его место. Данилы. Здесь стоит фильтр. Изнутри не видно, кто внутри.
Я вошёл. Подвал библиотеки. Полки с книгами. Старое кресло. Лампа под зелёным абажуром — горела. «Таинственный остров» на столе — там, где я его оставил.
Кирилл сел на стул. Положил руки на колени. Пальцы дрожали.
— Как ты узнал про это место? — спросил я.
— Эдуард говорил. Что здесь сидел первый Отладчик. Что здесь стоит фильтр, который они не могут снять. Что, когда его… — Кирилл запнулся. — Когда его остановили, место осталось.
— Остановили?
Кирилл поднял на меня глаза.
— Вы не знаете?
— Я ничего не знаю, Кирилл. Я знаю про холодильник, про колонку и про фонарь на Пушкина. Всё остальное — расскажи ты.
* * *
Он рассказывал сорок минут. Сбиваясь, путаясь, возвращаясь назад. Как рассказывает человек, который долго держал что-то в себе и боится, что если остановится — больше не сможет начать.
Административный центр. Мэрия. Внутри — не кабинеты, как он думал, когда попал туда два года назад. Внутри — что-то вроде большого офиса. Опенспейс. Столы. Терминалы. Белый свет. Люди в белых рубашках сидят за столами и работают. С тикетами. С обращениями. С аномалиями.
— Как техподдержка, — сказал Кирилл. — Первая линия, вторая линия. Мы — первая. Эдуард — старший первой линии. Модератор — вторая. Выше Модератора — никого. По крайней мере, нам так говорят.
— А кто наверху на самом деле?
— Не знаю. Модератор говорит — Система. Что он получает указания напрямую. От Обновления. — Кирилл сглотнул. — Я сначала верил. Все верят. Там очень хорошо, понимаете? Еда, вода, свет. Тепло. Не надо бояться ночи. Ты просто работаешь. Закрываешь тикеты. И тебе говорят, что ты делаешь важное дело. Что ты готовишь мир к Обновлению.
— К Слиянию.
Кирилл вздрогнул.
— Вы знаете это слово?
— Видел. На небе.
Он помолчал.
— Слияние, — сказал он. — Да. Модератор говорит, что, когда готовность будет сто процентов, Изнанка станет настоящей. А тот мир — старый, грязный, сломанный — будет заменён. Чистым. Стабильным. Где у каждого своё место. Где нет долгов. Где…
— Где половина людей подметает улицы с улыбкой.
Кирилл закрыл лицо руками.
— Я не знал, — сказал он сквозь пальцы. — Сначала — не знал. Я думал, обнуление — это правда обнуление. Долг убирают, человек идёт домой. А потом меня поставили на пункт. Неделю назад. И я увидел, как они выходят. Как они улыбаются.
Он отнял руки от лица.
— И я понял, что, если я не закрою свои тикеты, — сказал он, — меня тоже обнулят. Так бывает. С теми, кто плохо работает. Стажёр в прошлом месяце не закрыл пять обращений подряд. Его вызвали на вторую линию. Теперь он подметает парадную лестницу.
* * *
— Чего ты хочешь, Кирилл? — спросил я.
— Не знаю, — сказал он честно. — Уйти. Домой. К маме. Роутер обновить, наконец. — Он нервно засмеялся. — Но отсюда нельзя уйти. Вы же знаете.
— Пока нельзя.
Он посмотрел на меня.
— А вы… вы можете?
— Не знаю. Пока — нет. — Я помолчал. — Кирилл, зачем Модератору я? Почему не обнулить меня, как всех?
Кирилл ответил не сразу.
— Потому что вас нельзя обнулить, — сказал он. — Отладчика. Обнуление — это сброс долга. А у Отладчика долг — это часть класса. Как у меня бейдж. Нельзя снять бейдж и остаться администратором.
— Тогда зачем я ему?
— Для Слияния, — сказал Кирилл. — Я слышал. Случайно. Эдуард говорил с кем-то в коридоре. Что Слияние нельзя запустить из мэрии. Что для него нужно прийти в Исходный код и поставить последнее обновление. Патч. Что Патч может поставить только Отладчик. Пятого уровня.
Патч.
Я вспомнил строку. «Навык "Патч" (заблокирован). Требуется уровень: 5. Позволяет вносить постоянные изменения».
— Где Исходный код? — спросил я.
— Под Нулевым километром. В центре. Туда никто не ходит. Там — лаги. Много лагов. И ловушки. Говорят, Данила их поставил.
— А Данила? Ты сказал — его остановили.
Кирилл посмотрел на «Таинственный остров» на столе.
— Он был пятого уровня, — сказал Кирилл. — Двадцать один год назад. Модератор ему предложил то же, что будет предлагать вам. Он отказался. И пошёл к Исходному коду сам. Что-то сделать. Сломать, наверное. Его остановили. Как — я не знаю. Эдуард говорит только: «Остановили. Навсегда».
— Он жив?
— Не знаю.
Мы помолчали. Лампа под зелёным абажуром горела ровно. Книги стояли на полках.
— Кирилл, — сказал я. — Мне нужно время. Две недели — это мало. Скажи Эдуарду, что я готов прийти. Что я думаю. Что приду через десять дней. Сам. Без боя.
— Он не поверит.
— Поверит, если ты скажешь, что я испугался. Что после пункта обнуления понял, что проиграю. Что хочу договориться. Все верят, что люди боятся. Это самое правдоподобное враньё.
Кирилл смотрел на меня.
— А что я получу?
— Ничего, — сказал я. — Пока ничего. Только моё слово. Если я найду, как отсюда уйти, — ты уйдёшь первым. Из всех белых рубашек.
Кирилл долго молчал. Потом кивнул.
— Ещё одно, — сказал я. — Колонка. Вода. Ты можешь снять блокировку?
— Я… — Он побледнел. — Это заметят.
— Через пять дней. Когда заметят — скажешь, что это я. Что я снял. Тебе поверят.
Кирилл подумал. Кивнул ещё раз.
* * *
Палыч записал всё. Вечером, на кухне, при свете газовой конфорки.
Слева, в столбике «Им»: «Через Кирилла: повар испугался, придёт сам через 10 дней. Повар снял блокировку с колонки (ложь)».
Справа, в столбике «Нам»: «Мэрия = техподдержка. Слияние на 100%. Патч ставит Отладчик 5 ур. в Исходном коде (под Нулевым км). Данила был 5 ур., отказался, остановлен. Кирилл хочет уйти».
Палыч смотрел на две колонки. Щёлкал костяшками.
— Опасно, — сказал он.
— Знаю.
— Если Кремень узнает, что ты ходил к белой рубашке…
— Не узнает.
— Узнает, — спокойно сказал Палыч. — В Изнанке все всё узнают. Вопрос — когда. И что он увидит, когда узнает.
— Он увидит ваш блокнот.
Палыч посмотрел на меня поверх очков.
— Это если я успею его показать.
* * *
Пятая ночь обороны была тяжёлой.
Откатышей пришло вдвое больше. Как будто кто-то их направлял. Может, так и было — Администрация знала, где мы, и знала, что вокзал больше не защищён.
Они лезли через главный вход. Через боковые двери. Через окна второго этажа — по стенам, по водосточным трубам. Гоша держал главную дверь. Нарзанцы — боковые. А окна держать было некому.
— Второй этаж! — заорал я Толяну. — Правое крыло! Окно над кассой номер два!
— Там никого нет!
— Сейчас будут!
Я посмотрел на окно. Высоко, под потолком. До него — двадцать метров зала, полного дерущихся людей. Я не добегу. Никто не добежит.
Кроме Ники.
Я посмотрел на окно «Логом». Старая рама. Деревянная. Задвижка ржавая.
Объект: Окно.
Параметр «Коллизия»: активна.
Состояние: открыто.
Открыто. Его можно закрыть. Задвижку — заклинить. Но я далеко. А костыль надо ставить рукой. Касанием.
А потом всплыла строка. Новая. Я раньше её не видел.
Уровень 3 (доступно с текущим опытом).
Уровень повышен: 2 → 3.
Новая возможность навыка «Костыль»: установка через посредника.
Описание: пользователь группы, находящийся рядом с объектом, может быть назначен посредником. Изменение устанавливается в момент касания посредником объекта.
Технический долг изменения начисляется посреднику.
Начисляется посреднику.
Ника была у окна в правом крыле через секунду после того, как я подумал о ней. Она дралась с Откатышем — тот лез с лестницы. Она его добила. Отпрыгнула. Спиной к стене. Рука — на подоконнике. Касание.
Мне надо было спросить. Крикнуть: «Ника, можно?» Объяснить. Дождаться ответа.
В окно лезли трое. Я видел их руки на раме.
Я не спросил.
Посредник: Ника.
Объект: Окно (правое крыло, над кассой 2).
Параметр «Коллизия» для объектов класса [Откатыш]: активна → усилена.
Технический долг: +8 (посреднику).
Трое Откатышей ударились о пустой оконный проём — как о стекло. И посыпались вниз, наружу.
Ника обернулась. Посмотрела на окно. На меня — через весь зал. Не поняла. Пожала плечами — повезло, наверное. Рванула к следующему.
А я стоял на кассовой стойке и видел ещё два окна. Левое крыло. И над главной лестницей.
Ника была рядом с обоими. В эту ночь она была рядом со всем.
Посредник: Ника.
Технический долг: +6 (посреднику).
Посредник: Ника.
Технический долг: +6 (посреднику).
Двадцать. На ней. Моих.
Я говорил себе — я отдам. Завтра же. Минутами. Она даже не заметит. Это займёт два дня. Может, три.
Я говорил себе то, что говорит каждый, кто берёт в долг у друга, не спросив. «Я отдам. Он даже не заметит».
Никто никогда ничего не отдаёт потом. Я это знал лучше всех.
* * *
Кремень пришёл за мной на следующий день. В шаурмичную. Сам. С Толяном и ещё двумя.
Ставни были подняты. Флаг «Не трогать» — для четверых. Кремень встал на пороге. Не вошёл — не мог. Только посмотрел внутрь.
— Повар, — сказал он. — Выйди.
Я вышел. Палыч — за мной. Гоша встал в дверях. Ника спала — вымоталась за ночь.
— Санёк-второй, — сказал Кремень. Кивнул на арбалетчика рядом. — Позавчера видел тебя у библиотеки. В полдень. С белой рубашкой.
Тишина.
— Это правда?
— Правда, — сказал я.
Кремень медленно вытащил тесак. Не замахивался. Просто держал. Лезвием вниз.
— Колонка, — сказал он. — Сегодня утром снова течёт вода. Все радуются. Говорят — повар починил. А я думаю: если повар починил, то почему не неделю назад? Почему сегодня? Через два дня после белой рубашки?
— Потому что это не я починил.
— А кто?
— Белая рубашка.
Тесак качнулся.
— Ты с ними, — сказал Кремень. Не спросил. — Ты всё это время был с ними. Двойная игра. Ты сливал им нас, а нам — их. Ты…
— Кремень, — сказал Палыч.
Кремень замолчал. Посмотрел на старика.
Палыч достал блокнот. Тот, второй. С вертикальной чертой посередине. Открыл. Протянул Кременю.
— Прочитай, — сказал Палыч. — Слева — что он им сказал. Справа — что они ему. Всё, слово в слово. С датами.
Кремень не взял блокнот. Смотрел на Палыча.
— Ты это вёл? — спросил он.
— Я.
— Ты — за него?
— Я, Кремень, ни за кого, — сказал Палыч. — Я пятнадцать лет взвешивал на твоих весах. Восемь месяцев они врали — по твоей воле. Я молчал, потому что не знал. А когда узнал — ушёл. Я не вру. Ты это знаешь. Читай.
Кремень взял блокнот.
Читал долго. Медленно. Губы шевелились. Толян заглядывал через плечо.
«Им: повар испугался, придёт сам через 10 дней. Повар снял блокировку с колонки (ложь)».
«Нам: Мэрия = техподдержка. Слияние на 100%. Патч ставит Отладчик 5 ур. Данила был 5 ур., отказался, остановлен. Кирилл хочет уйти».
Кремень закрыл блокнот. Вернул Палычу.
— Значит, у тебя в мэрии свой человек, — сказал он мне.
— Не свой. Испуганный.
— Испуганные — лучшие свои, — сказал Кремень. Убрал тесак. — Ладно, повар. Ладно. — Он помолчал. — Но в следующий раз — говоришь мне. До. Не после. Двойная бухгалтерия — для бухгалтеров. А у меня, повар, бухгалтерия одна. Кто со мной — тот со мной. Кто играет на две стороны — того режут. Ещё раз узнаю после — без разговоров.
— Понял.
Кремень развернулся и ушёл. Толян задержался. Посмотрел на меня.
— Вода, — сказал он. — Хорошо, что течёт. Мне всё равно, кто починил.
И ушёл тоже.
* * *
Вечером я сидел на кухне один. Смотрел в интерфейс.
Уровень: 3.
Технический долг: 42.
Перенесённый долг группы: 29.
— Ника: 24.
— Георгий: 3.
— Пётр Павлович: 2.
Двадцать четыре. На Нике. Двадцать — мои. С прошлой ночи.
Я заработал за ночь шестьдесят минут. Мог отдать свои. Мог — её. Система разрешала гасить перенесённый долг группы. Я проверил. Десять минут — единица. Как всегда.
Я отдал свои.
Не знаю почему. Нет, знаю. Потому что свой долг — ближе к порогу. Потому что если мой уйдёт за девяносто, Серый пойдёт. А её двадцать четыре — это далеко. Это потом. Это я завтра. Или послезавтра.
Палыч вошёл на кухню. Тихо, со счётами. Сел напротив. Посмотрел на меня.
Потом — на дверь в зал. Туда, где спала Ника. Долго смотрел. Своими водянистыми серыми глазами, которые видели цену всего.
Потом снова на меня.
Ничего не сказал.
— Палыч, — начал я.
— Я не учу, — сказал Палыч. — Я считаю.
Он встал. Ушёл в зал. Через минуту я услышал, как скрипнуло библиотечное кресло. Как он устраивается на ночь.
А я сидел на кухне, смотрел на надпись Данилы на стене и на свою — под ней. «Плачу», — написал я неделю назад. Твёрдо, уверенно.
«Не держи долг. Плати. Всегда плати. Я не платил».
Я взял маркер. Подумал. И ничего не дописал.
Глава 15. Гоша говорит правду
На седьмую ночь обороны вокзал потерял троих.
Откатышей было втрое больше обычного. Они шли волнами, одна за другой, как будто кто-то их выпускал по расписанию. Мы держали. Держали до утра. А утром, когда небо щёлкнуло и посветлело, у главной двери лежали три кучки вещей.
Куртка. Ботинки. Шапка с помпоном.
Я их не знал. Новенькие, сказал Толян. Пришли в последней волне, месяц назад. Записались в бойцы, потому что бойцам давали воду в первую очередь.
Кремень стоял над ними долго. Потом ушёл в свой кабинет и не выходил до вечера.
А вечером позвал нас.
* * *
— Мэрия предлагает мир, — сказал Кремень.
Он сидел за столом. Перед ним лежал лист бумаги. Белый, отпечатанный. Я узнал шрифт.
— Принёс стажёр. Утром. Положил у двери и ушёл.
Он протянул лист мне. Я прочитал.
«Господин Кремень!
Администрация выражает сожаление в связи с потерями среди пользователей объекта «Вокзал».
Мы готовы восстановить статус безопасного объекта для здания вокзала в течение суток.
Условие: передача аномалии «Отладчик» в Административный центр.
Встреча для подписания соглашения: завтра, 12:00, ТЦ «Вертикаль», атриум. Нейтральная территория. Каждая сторона — не более трёх человек.
Ваше сотрудничество очень важно для нас».
Я положил лист обратно.
— И что ты ответишь? — спросил я.
Кремень посмотрел на меня. Долго.
— Я пойду, — сказал он.
Ника, стоявшая у двери, шагнула вперёд. Рука — к ножу. Гоша мягко положил ей ладонь на плечо. Она остановилась.
— Не дёргайся, рыжая, — сказал Кремень, не поворачиваясь. — Я пойду. Подпишу. Пусть вернут вокзалу защиту. А потом — когда придёт время отдавать повара — не отдам.
— Обманешь, — сказал Палыч.
— Обману. Они же нас обманывают. Восемь лет. «Обнуление». «Добровольно». Почему мне нельзя?
Палыч щёлкнул костяшкой.
— Они узнают.
— Узнают. Через сутки. Когда я не приведу повара. А вокзал уже будет защищён. Пусть потом снимают. Им ещё раз нужно будет решение принять, бумажку напечатать, стажёра прислать. Неделя. А за неделю мы что-нибудь придумаем.
Я молчал. Кремень смотрел на меня.
— Ты против, повар?
— Мне не нравится, — сказал я. — Слишком просто.
— Простые планы — лучшие.
— Простые планы — лучшие, — согласился я. — Когда их делаешь ты. А когда тебе их предлагают — значит, кто-то уже продумал за тебя всё остальное.
Кремень помолчал. Шрам на щеке дёрнулся.
— Трое погибших, повар, — сказал он. — Этой ночью. Следующей будет пятеро. Потом — десять. У меня нет выбора.
— Есть, — сказал я. — Но он хуже.
— Какой?
Я не ответил. Я не знал.
* * *
Каждая сторона — не более трёх человек.
Кремень взял Толяна. И Гошу.
— Гошу? — переспросила Ника. — Зачем Гошу?
— Затем, что Гоша не врёт, — сказал Кремень. — И они это знают. На таких встречах всегда нужен кто-то, кому верят обе стороны. Свидетель. Нотариус. Гоша — лучший нотариус в Изнанке.
— А если его спросят?
— О чём?
— О том, что ты собираешься обмануть.
Кремень посмотрел на Гошу.
— Гоша, — сказал он. — Я сейчас тебе скажу кое-что. По секрету. Ты никому не скажешь?
Гоша подумал.
— Если не спросят — не скажу, — сказал он.
— А если спросят?
— Если спросят — не смогу соврать.
— Можешь промолчать.
— Могу промолчать, — согласился Гоша. — Если спросят так, что можно промолчать.
Кремень вздохнул.
— Тогда я тебе ничего не скажу, — решил он. — Ты просто стой рядом. Большой и честный. Пусть видят.
Но я видел, как Кремень потом, у двери, когда думал, что никто не смотрит, остановил Гошу и что-то ему сказал. Тихо. Коротко.
И как Гоша нахмурился.
* * *
Я в «Вертикали» был уже дважды. Один раз — за носками, в нормальном мире. Второй — когда лифт увёз нас вбок.
Третий раз я пришёл туда манекеном.
Это была идея Ники. Она сказала: «Ты же хочешь смотреть? Смотри. Только чтобы тебя не видели». А в атриуме, вокруг пустого фонтана, стояли витрины. В витринах — манекены. Белые, безликие, в пластиковой одежде.
Я разделся до майки. Ника обмазала мне лицо, шею и руки чем-то белым — смесью мела и муки, найденной на кухне у Ашота. Палыч дал мне пластиковую куртку с вешалки. Гоша, уходя, долго смотрел на меня и сказал:
— Ты похож.
— На манекен?
— На привидение, — сказал Гоша. — Но тоже ничего.
Я встал в витрину магазина мужской одежды. Слева — манекен в пиджаке. Справа — в пальто. Я — посередине. Руки по швам. Подбородок вверх. Смотрю в одну точку.
Ника и Палыч спрятались на втором этаже. Лестницы не было, но там была галерея, а на галерею можно было забраться с крыши фудкорта. Ника забралась. Палыча она втащила за руку, как мешок.
Без пяти двенадцать в атриум вошёл Кремень. Толян. Гоша.
Ровно в двенадцать — Эдуард.
С ним трое. Два стажёра — я их не знал. И Кирилл.
Кирилл увидел меня. В витрине. Я видел, как дёрнулись его зрачки. Как он узнал. Он отвёл взгляд. Быстро. Как будто ничего не заметил.
Я выдохнул. Медленно. Через нос. Манекены не дышат.
* * *
— Господин Кремень, — сказал Эдуард. Улыбнулся. — Рад, что вы приняли наше предложение.
— Я его ещё не принял, — сказал Кремень.
— Разумеется. Для этого мы и здесь.
Эдуард коснулся планшета. В воздухе над пустым фонтаном развернулось окно — как у меня в интерфейсе, только большое, видимое всем. Текст. Пункты. Внизу — две пустые строки. Для подписей.
«Соглашение о восстановлении статуса безопасного объекта».
— Прошу ознакомиться, — сказал Эдуард.
Кремень читал. Толян читал через плечо. Гоша стоял рядом, большой и честный.
А я смотрел. «Логом». Не на окно — на пол.
Атриум. Плитка. Серая, гранитная, полированная. Вокруг фонтана — широкое кольцо. Метров пятнадцать в диаметре. Внутри кольца стояли все — Кремень, Толян, Гоша, Эдуард, стажёры.
Объект: Покрытие напольное (атриум).
Изменён: пользователем с правами администратора.
Изменение: «Зона обнуления» (временная).
Условие активации: подписание соглашения №1 сторонами.
Действие при активации: перевод всех пользователей в зоне, не имеющих прав администратора, в режим «Эталон».
Я перечитал.
Перечитал ещё раз.
Всех пользователей в зоне. Не имеющих прав администратора. В режим «Эталон».
Кремень подписывает — и через секунду он, Толян и Гоша выходят из «Вертикали» с ровными улыбками. Идут к мэрии. Берут мётлы.
А потом — вокзал. Без вожака. Без лучших бойцов. Вокзал, который Администрация сделает «безопасным» — по условиям соглашения. И новые бумажки на колонне: «Ваш вожак добровольно прошёл обнуление. Приглашаем всех последовать его примеру».
Мне нужно было крикнуть. Предупредить.
Но если я крикну — я манекен, который заговорил. Посреди атриума. В десяти метрах от Эдуарда. Двадцать третьего уровня. С планшетом и блокировками.
Меня возьмут раньше, чем Кремень поймёт, что я сказал.
Кремень дочитал. Поднял голову.
— Ручка есть? — спросил он.
* * *
— Одну минуту, — сказал Эдуард. — Прежде чем подписать, я хотел бы подтвердить условия. Перед свидетелем.
Он повернулся к Гоше.
— Георгий, — сказал он мягко. — Вы ведь согласны выступить свидетелем? Обе стороны вам доверяют.
Гоша посмотрел на Кременя. Кремень кивнул.
— Согласен, — сказал Гоша.
— Прекрасно. — Эдуард улыбнулся. — Тогда один вопрос. Простой. Георгий, господин Кремень собирается выполнить условие соглашения? Передать нам Отладчика?
Тишина.
Я видел, как Кремень окаменел. Как Толян открыл рот. Как Кирилл, стоявший за спиной Эдуарда, побледнел.
Гоша молчал.
Можно было промолчать. Гоша сам так сказал: «Если спросят так, что можно промолчать». Эдуард спросил так, что можно. Просто стой. Молчи. Большой и честный.
Но Гоша не умел молчать, когда его прямо спрашивали о правде. Я это видел — по его лицу. Он покраснел. Медленно, от шеи до ушей. Как тогда, когда рассказывал про вазу и кота.
— Нет, — сказал Гоша.
Эдуард чуть наклонил голову.
— Нет?
— Он мне сказал, — продолжал Гоша. Тяжело, будто каждое слово весило килограмм. — У двери. Сказал: «Гоша, если что — я их обману. Подпишу, а повара не отдам. Ты не волнуйся». Вот. Он вас обманет. Простите, Кремень.
Кремень закрыл глаза.
Толян медленно сполз взглядом на пол.
А Эдуард… Эдуард улыбнулся. Шире, чем раньше.
— Благодарю вас, Георгий, — сказал он. — Это очень ценная информация. — Он повернулся к Кременю. — Господин Кремень, в таком случае подписание соглашения невозможно. Вы ведь понимаете — договор, заключённый со злым умыслом…
Он коснулся планшета. Окно над фонтаном мигнуло и погасло.
Соглашение №1: отменено.
Условие активации зоны «Обнуление»: не может быть выполнено.
Зона «Обнуление»: деактивирована.
Деактивирована.
Я смотрел на строку и не верил.
Гоша. Гоша, который не умел врать, только что сорвал договор. И вместе с договором — ловушку. Если бы он промолчал — Кремень бы подписал. Если бы соврал — Кремень бы подписал. А он сказал правду — и подписи не было.
А без подписи зона не сработала.
Эдуард, кажется, понял это одновременно со мной. Я видел, как его улыбка застыла. Он посмотрел на планшет. На пол. На Гошу.
— Ну что ж, — сказал Эдуард. Голос остался мягким. Только стал чуть холоднее. — Тогда переходим к варианту Б. — Он не повернулся к стажёрам. Просто сказал: — Задержать.
* * *
Стажёры шагнули вперёд. Двое — к Кременю. Кирилл остался на месте.
Эдуард коснулся планшета.
Пользователь Эдуард применил: «Блокировка навыка».
Цель: Кремень.
Кремень всё равно рванул тесак. Толян — биту. Гоша поднял знак.
А я стоял в витрине и смотрел на лифт.
Панорамный. Стеклянный. В стеклянной шахте за фонтаном. Тот самый. Свет внутри горел. Данила когда-то дал ему питание. А я — дал ему ось.
Ось, конечно, сбросилась при Откате. Лифт стоял в шахте — снова не зная, куда ехать.
Пятнадцать метров от витрины. Я не добегу, чтобы коснуться.
Но я был третьего уровня. Посредник.
Гоша стоял в трёх шагах от шахты. Спиной к ней. Знак поднят. Свободная рука — на стекле шахты. Опирался. Он всегда опирался на что-нибудь, когда держал удар. Танки так делают.
На этот раз я не стал не спрашивать.
— Гоша! — крикнул я. Из витрины. Манекен заговорил. — Можно я через тебя?!
Все повернулись. Эдуард. Стажёры. Кремень. Белый манекен в пластиковой куртке, посреди витрины мужской одежды, орал на весь атриум.
Гоша не понял, что я спрашиваю. Но он мне верил.
— Можно! — крикнул Гоша.
Посредник: Георгий (согласие получено).
Объект: Лифт пассажирский панорамный.
Параметр «Ось движения»: вертикаль → горизонталь.
Целевые координаты: [противоположная стена атриума].
Технический долг: +10 (посреднику).
Нет. Не посреднику.
Я перехватил строку. В последний момент. Нашёл в окне то, чего раньше не замечал. Маленькую галочку. «Начислить долг инициатору».
Я её поставил.
Технический долг: +10 (инициатору).
Технический долг: 52.
Лифт поехал.
Вбок. Как в первый раз. Стеклянная капсула вышла из шахты — сквозь стекло, как сквозь воду, — и поплыла через атриум. Невысоко, на уровне груди. Быстро. Как шар по кегельбану.
Гоша пригнулся — он слышал, что сзади что-то едет. Кремень отпрыгнул. Толян — тоже.
Стажёры не успели.
Лифт прошёл сквозь них. Не ударил — прошёл. Коллизия. Он подхватил обоих, как ковш экскаватора, внёс внутрь — и поплыл дальше. Через фонтан. Через атриум. К противоположной стене. Стажёры колотили по стеклу изнутри. Лица — растерянные, обиженные.
Лифт вошёл в стену. Сквозь бетон, сквозь рекламу мобильного оператора со счастливой семьёй. И остановился там. Наполовину в стене. Как муха в янтаре. Стажёры смотрели наружу из своей стеклянной коробки.
Целевые координаты достигнуты.
Объект находится внутри другого объекта.
Объект будет возвращён на исходную позицию при ближайшем Откате.
До Отката — восемь часов.
Эдуард стоял у фонтана. Один. Кирилл — в трёх шагах за ним. Кирилл не двигался. Просто стоял, засунув руки в карманы. Как будто ему всё это было неинтересно.
Эдуард посмотрел на лифт в стене. Потом на меня — на манекен в витрине.
Потом на Кирилла.
— Кирилл, — сказал он. — Почему вы не применили блокировку?
— Не успел, — сказал Кирилл. Ровно, спокойно. — Простите. Он очень быстро.
Эдуард смотрел на него долго. Потом снова на меня.
— Вы всегда прячетесь, Алексей, — сказал он. — В стенах. В витринах. За чужими спинами. За стариками и за честными людьми. — Пауза. — Через десять дней, как вы обещали? Или это тоже было враньё?
— Это было враньё, — сказал я.
Эдуард кивнул. Как будто именно этого и ждал.
— Спасибо за честность, — сказал он. — Это редкость.
Он коснулся планшета — и исчез. Кирилл — вместе с ним. Возврат на базу.
* * *
Мы шли обратно. Через пустой город. Кремень — впереди. Молча. Толян — рядом с ним. Гоша — сзади, со мной. Ника с Палычем догнали нас на углу.
Я так и не стёр мел с лица. Шёл белый, как привидение. Пластиковую куртку оставил в витрине.
У вокзала Кремень остановился. Развернулся.
Посмотрел на Гошу.
— Ты меня сдал, — сказал Кремень.
Гоша опустил голову.
— Я не сдал, — сказал он тихо. — Я сказал правду. Вы мне сказали, что обманете, — я и сказал, что вы обманете. Я же предупреждал. Если спросят — я не смогу соврать.
— Предупреждал, — согласился Кремень.
Он помолчал.
— Повар, — сказал он, не поворачиваясь ко мне. — Что там было? На полу? Ты же смотрел.
Я рассказал. Про зону. Про условие активации. Про режим «Эталон» для всех, кто без прав администратора.
Кремень слушал. Шрам на щеке побелел.
— Если бы я подписал, — сказал он медленно, — я бы сейчас шёл в мэрию. С метлой.
— Шёл бы.
— И Толян.
— И Толян.
— И Гоша.
— И Гоша.
Кремень долго молчал. Потом подошёл к Гоше вплотную. Задрал голову — Гоша был выше на полторы головы. Посмотрел ему в глаза.
— Гоша, — сказал Кремень. — Ты почему не промолчал? Мог же.
Гоша подумал. Долго. Морщил лоб.
— Потому что он спросил, — сказал Гоша. — Прямо спросил. А вы мне сказали правду. По секрету. Если бы я промолчал, это было бы… как будто я ему соврал. Своим молчанием. Я так не умею.
— А если бы я тебе ничего не сказал?
— Тогда бы я сказал: «Не знаю», — сказал Гоша. — И это была бы правда.
Кремень смотрел на него. И вдруг засмеялся. Хрипло, громко, запрокинув голову. Толян от неожиданности отступил на шаг.
— Повар, — сказал Кремень сквозь смех. — Повар, ты слышал? Я сам себя сдал. Я сам. Своим собственным секретом. Который рассказал единственному человеку в Изнанке, которому нельзя рассказывать секреты. И он меня — спас.
Он перестал смеяться. Положил руку Гоше на плечо. Высоко пришлось тянуться.
— Спасибо, Гоша, — сказал он. — Ты мне жизнь спас. Правдой. Я такого никогда не видел.
— Пожалуйста, — сказал Гоша. Серьёзно.
Кремень убрал руку. Повернулся ко мне.
— Больше никаких сделок с мэрией, — сказал он. — Никаких бумажек. Никаких встреч. Хватит.
— Хватит, — согласился я.
— А вокзал?
— Вокзал будем держать сами, — сказал я. — Как держали. Только лучше.
Кремень кивнул. Ушёл к боковой двери. Толян — за ним. У двери Толян обернулся. Посмотрел на Гошу. Почесал лысину битой.
— Гош, — сказал он. — Ты, это. Мне никогда ничего по секрету не рассказывай. Ладно?
— Ладно, — сказал Гоша.
* * *
Вечером Гоша сидел на ступеньках шаурмичной. Один. Смотрел на улицу.
Я вышел. Сел рядом. Он подвинулся — бордюр скрипнул.
— Гоша, — сказал я. — Ты сегодня всех спас.
— Я знаю, — сказал Гоша. — Ты сказал. Кремень сказал.
— Ты не рад?
Гоша подумал.
— Я рад, — сказал он. — Но мне было страшно. Когда он спросил. Я думал — вот, сейчас я скажу, и всех убьют. Из-за меня. Из-за того, что я не умею врать.
— Но ты сказал.
— Я не мог не сказать. — Гоша посмотрел на свои огромные ладони. — Знаешь, Лёша, я иногда думаю — вот бы хоть раз соврать. Один раз. Маленько. Как все. Чтобы не было страшно.
— И что бы ты соврал?
Гоша подумал. Очень долго.
— Маме, — сказал он. — Я бы ей позвонил отсюда. Если бы можно было. И сказал бы: «Мама, у меня всё хорошо». Она там одна. Два года. Она, наверное, думает, что я умер. Или что я её бросил.
Он помолчал.
— А у меня не всё хорошо, — сказал Гоша. — Значит, я бы не смог ей это сказать. Даже если бы можно было позвонить. Видишь? Даже тут не получается.
Я ничего не ответил. Сидел рядом и смотрел на улицу. На фонарь на Пушкина вдалеке — он только что загорелся. Жёлтым, тёплым светом.
«Чтобы было видно дорогу домой».
— Гоша, — сказал я наконец. — Если я найду, как отсюда выйти. Ты пойдёшь?
Гоша долго смотрел на фонарь.
— К маме — пойду, — сказал он. — А вы?
— Не знаю.
— Тогда я тоже не знаю, — сказал Гоша. И это тоже была правда.
Глава 16. Ника уходит
Это случилось из-за курьеров.
Через три дня после «Вертикали» Ника пришла с рынка странная. Задумчивая. Села на стол на кухне, но ногами не болтала. Смотрела в окно.
— Что? — спросил я.
— Ничего.
— Ника.
— Меня позвали, — сказала она. Не поворачиваясь. — Курьеры.
Я знал про курьеров. Палыч рассказывал. В старом здании почтамта, на другом конце города, жили человек тридцать. Бывшие курьеры доставки. Таксисты. Велосипедисты. Все, у кого класс был связан со скоростью. Они называли себя «Курьерской службой». Носили по городу посылки за минуты — из одного конца в другой, через лаги, через опасные кварталы. Быстрее, чем кто-либо. Возглавляла их женщина по прозвищу Диспетчер.
— Позвали — куда?
— К себе. Насовсем. — Ника пожала плечами. — Диспетчер видела, как я бегаю. На вокзале. Говорит — я лучшая. Говорит — у них для меня место есть. Своя комната. Своё дело.
— А ты?
— А я думаю.
Я молчал. Не знал, что сказать. Сказать «не уходи»? Глупо. Сказать «иди»? Ещё глупее.
— Они спросили мою цену, — сказала Ника. — Для договора. У них так принято — новенького оценивают. Сколько стоишь, столько тебе и платят. А я не знаю свою цену. Последний раз меня оценивали, когда я пришла в Изнанку. Полгода назад.
Она повернулась. Посмотрела в зал. Там, в библиотечном кресле, сидел Палыч и щёлкал костяшками.
— Палыч, — позвала Ника. — Оцени меня.
Щёлканье прекратилось.
Я почувствовал, как у меня внутри что-то упало. Медленно, как лифт, у которого оборвался трос.
Палыч поднял голову. Посмотрел на Нику. Потом — на меня. Долго.
— Ника, — сказал он. — Может, не сейчас?
— Почему не сейчас?
— Устал я.
— Палыч, тебе пять секунд. Ты на рынке за день сто человек оценивал.
— Ника…
— Палыч, — сказала Ника. Голос стал другим. Жёстче. Она что-то почувствовала. Курьеры всегда чувствуют, когда клиент врёт. — Что ты не хочешь мне говорить?
Палыч молчал.
Палыч не умел врать. Ну, то есть умел. Плохо. Один раз за пятнадцать лет — Кременю, про весы. Ради меня.
Второй раз — не стал.
— Шестьсот сорок минут, — сказал он. — Твоя цена. Хорошая. Ты быстрая, ты умная, ты третьего уровня, почти четвёртого. Диспетчер тебя не обманет, если даст меньше пятисот — не соглашайся.
— И?
— И минус двадцать четыре, — сказал Палыч. — Долг.
Ника замерла.
— Двадцать четыре? — переспросила она. — У меня было четыре. Ставни. Я знаю. Эдуард говорил.
Палыч ничего не сказал. Он смотрел на меня.
И Ника посмотрела на меня.
* * *
— Окна, — сказал я. — На вокзале. Пятая ночь. Три окна. Ты была рядом. Мне нужен был посредник.
Ника слушала молча. Сидела на столе, неподвижно. Только пальцы на коленях сжимались и разжимались.
— Посредник — это тот, через кого ставишь костыль, если сам не достаёшь. Долг ложится на посредника. Я… — Я сглотнул. — Я узнал об этом в ту же секунду. Когда открылся третий уровень. В окна лезли трое. Я не успел спросить.
— Не успел, — повторила Ника.
— Не успел.
— А потом?
Я молчал.
— Потом, Отладчик, — сказала Ника. Тихо. Очень тихо. — После боя. Утром. На следующий день. Через неделю. Ты успел?
— Я хотел отдать. Минутами. Чтобы ты не заметила.
— Чтобы я не заметила, — повторила она.
— Я собирался…
— Ты собирался. — Ника слезла со стола. Встала напротив меня. Близко. — А в «Вертикали» ты Гошу спросил. Я слышала. С галереи. Ты заорал на весь атриум: «Гоша, можно я через тебя?» И он сказал «можно». И ты поставил галочку — на себя. Я видела, у тебя было такое лицо. Ты на себя взял.
— Ника…
— Его ты спросил. А меня — нет.
— Там было по-другому.
— Чем?
Я открыл рот. И закрыл.
Я не знал, чем. Нет. Знал. В «Вертикали» я уже понимал, что делаю. А на вокзале — тоже понимал. Просто тогда это было про Нику. А Нике, как мне казалось, можно было потом объяснить. Она бы поняла. Она бы поорала и поняла. Ника же своя.
Своим не объясняют заранее. Своим объясняют потом.
Как Вадим Сергеевич, который никогда не спрашивал, можно ли перенести мой отпуск. Потому что я же свой. Я пойму.
— Ты знаешь, на кого ты похож? — спросила Ника.
— На кого?
— На них. — Она кивнула куда-то в сторону, в сторону центра города. — На белые рубашки. Они скидывают свой долг на банкомат. А ты — на меня. Банкомат хотя бы был железкой. Ему было всё равно.
Это было больно. Очень. Больнее, чем всё, что она говорила мне раньше. Потому что это была правда.
— Это не то же самое, — сказал я. Голос был слабый.
— Да? А в чём разница? — Ника смотрела на меня, и глаза у неё были злые и мокрые одновременно. — Они берут то, что им не принадлежит, и вешают это на того, кто не может отказаться. Ты сделал то же самое. Ты взял мой долг — то есть, нет, ты дал мне свой — и даже не спросил. Потому что тебе было удобно. Потому что я была рядом.
— Я бы отдал.
— Когда?
Я молчал.
Ника отвернулась. Посмотрела на стену. На надпись Данилы. На мою — под ней.
«Плачу».
— Знаешь, что самое смешное? — сказала она, не оборачиваясь. — Я ведь тоже так. Когда нажала «Доставлено». Я думала — потом довезу. Через полчаса. Она даже не заметит. Женщина с ребёнком. — Голос у неё сорвался. — Она заметила. Наверняка заметила. Только я этого не узнала. Потому что меня затянуло сюда. Прямо в ту секунду, когда я нажала.
Она повернулась ко мне.
— Ты сделал со мной то же, что я — с ней, — сказала Ника. — И это так мерзко, Лёша. Ты не представляешь. Видеть себя со стороны.
Она впервые назвала меня по имени.
* * *
Вещей у Ники было немного. Куртка. Нож. Резинка от денег. Мой телефон, который она так и не вернула. Пара бинтов от Гоши.
Она собрала всё в рюкзак за две минуты. Курьеры умеют собираться.
Гоша стоял в дверях кухни. Огромный, растерянный. Смотрел, как она собирается.
— Ника, — сказал он. — Не уходи.
— Гош, — сказала Ника. Мягко. Она всегда с Гошей говорила мягко. — Мне надо.
— Почему?
Ника остановилась. Посмотрела на него.
— Гоша, — сказала она. — Я тебя спрошу. А ты скажешь правду. Ладно?
— Ладно.
— Если я останусь, он мне ещё раз так сделает? Без спроса?
Гоша подумал. Долго. Очень долго. Он посмотрел на меня. Я стоял у плиты и не мог ничего сказать.
— Не знаю, — сказал Гоша. Честно. — Я думаю — нет. Но я не знаю.
— Вот, — сказала Ника. — И я не знаю. А мне надо знать.
Она закинула рюкзак на плечо. Подошла к Палычу. Наклонилась. Поцеловала его в макушку — быстро, неловко.
— Спасибо, что сказал, — шепнула она.
— Прости, что сказал, — ответил Палыч.
— Не за что прощать.
Она обняла Гошу. Вернее, попыталась — руки сошлись у него где-то на середине спины. Гоша обнял её в ответ — бережно, как обнимают бабочку.
Потом подошла ко мне.
Остановилась. Посмотрела.
— Флаг на ставнях, — сказала она. — Для меня. Он ведь вечный, да? Ты говорил — пока кто-нибудь их не сломает.
— Вечный.
— Сними.
— Ника…
— Сними его. Для меня. Не хочу больше пользоваться твоими костылями. Ни одним. — Она помолчала. — Сколько это будет стоить?
Я посмотрел.
— Снятие с исключённого объекта… Пять.
— Тогда не снимай, — сказала она. — Не надо мне твоих пяти. Я просто больше не буду сюда заходить.
Она вышла.
Ставни, поднятые, вечные, висели над дверью. Ника прошла под ними, не подняв головы. По улице. Быстро, лёгко, не оглядываясь. Курьерская походка. Так ходят люди, у которых заказ остывает.
Я смотрел, пока она не свернула за угол.
* * *
Технический долг: 52.
Перенесённый долг группы: 5.
— Георгий: 3.
— Пётр Павлович: 2.
Пользователь Ника покинула группу.
Покинула группу.
Я попытался погасить её долг. Сразу. Все минуты, что у меня были — сто восемьдесят три. Я копил их три дня. Для неё. Говорил себе, что для неё.
Погашение технического долга пользователя Ника.
Ошибка: пользователь не состоит в группе.
Погашение недоступно.
Недоступно.
Я сидел на полу кухни. Прямо на кафеле. Спиной к холодильнику. Холодильник гудел. Тихо, ровно, по-домашнему.
Палыч вышел на кухню. Сел на табуретку. Положил счёты на колени.
— Двадцать четыре, — сказал он. — Это не много. Она отработает. За две ночи. Она лучшая.
— Знаю.
— Это не в долге дело.
— Знаю.
Палыч помолчал.
— Я бы не сказал, — сказал он вдруг. — Если бы она не спросила прямо. Я бы промолчал. Ты это понимаешь?
— Понимаю.
— Я видел этот долг пять дней. Каждый день смотрел на неё и видел. И молчал. Думал — ты сам скажешь. Ты же сам с собой разберёшься. — Палыч снял очки. Протёр. — Не разобрался.
— Не разобрался.
— Я тоже не разобрался, Алексей, — сказал Палыч. — Я должен был тебе сказать в первый же день. Не ей — тебе. «Ты должен ей. Скажи ей». А я сказал: «Я не учу. Я считаю». Я спрятался за счёты. Как ты — за костыли.
Он надел очки.
— Мы оба виноваты, — сказал он. — Только тебе больнее.
* * *
Ночью я не спал.
Сидел на кухне. Смотрел на стену. На надпись Данилы. На свою.
Потом взял маркер. И под своей надписью, той, где «Плачу», дописал. Мелко, кривыми буквами.
«Не всегда. Ника — 20. Не отдал. Не спросил. Ушла. — Л.»
Это было глупо. Писать на стене признание человеку, которого нет двадцать один год.
Но Данила оставлял примечания. Чтобы тот, кто придёт после, понял, что здесь произошло. И почему.
Может, тот, кто придёт после меня, прочитает это и спросит. Прежде чем нажать.
* * *
Утром пришёл Кремень. Сам. Без Толяна.
Остановился на пороге. Посмотрел на меня. На Палыча. На Гошу. Не увидел Нику.
— Рыжая где?
— Ушла, — сказал Гоша. — К курьерам.
Кремень помолчал. Не стал спрашивать почему. Видимо, по моему лицу всё было понятно.
— Повар, — сказал он. — Небо. Ты говорил — семьдесят один процент.
— Говорил.
— Сколько сейчас?
Я вышел на улицу. Посмотрел вверх.
Ожидающее обновление: [Слияние контуров].
Готовность: 79%.
— Семьдесят девять.
— За две недели — восемь, — сказал Кремень. — Палыч, сколько до ста?
Палыч щёлкнул костяшками.
— Пять недель. Если так же. Быстрее — если они будут обнулять больше.
— Будут, — сказал Кремень. — Вчера на пункт обнуления пришло двенадцать человек. С моего рынка. Двенадцать. Добровольно. Потому что у вокзала больше нет защиты, а у мэрии — есть. Потому что там вода, свет и не страшно.
Он посмотрел на меня.
— Ты говорил — Исходный код. Под Нулевым километром. Что Патч может поставить только Отладчик пятого уровня. Что Данила туда ходил.
— Говорил.
— Ты третьего.
— Третьего.
— Сколько тебе до пятого?
Я посмотрел в интерфейс.
Уровень: 3.
Обнаружено ошибок за всё время: 1 106.
До следующего уровня: 1 400.
— Тысяча четыреста — до четвёртого, — сказал я. — До пятого — не знаю. Больше.
— Где взять?
Я подумал. Ошибки. Мне давали опыт за ошибки. Я находил их везде — в стенах, в Откатышах, в людях. По сто, по двести за ночь. Медленно.
А где ошибок больше всего?
Там, где Система ломается сильнее всего. Там, где начинается Откат. Там, где лаги. Там, где Данила ставил ловушки.
— Нулевой километр, — сказал я.
Кремень кивнул. Медленно.
— Тогда иди туда, повар, — сказал он. — Возьми своего Танка и своего Счетовода. Мне нужен Отладчик пятого уровня. Не мне — всем нам. До того, как в мэрии наберут сто процентов.
— А вокзал?
— Вокзал я удержу. — Кремень помолчал. — Толян научился орать. Ты научил.
Он ушёл.
Я стоял на улице. Смотрел на небо. Семьдесят девять процентов. Серое, низкое, как потолок подвала.
Где-то на другом конце города, в старом почтамте, Ника, наверное, просыпалась в своей новой комнате. Со своим новым делом. С моими двадцатью единицами на ней.
Я хотел к ней пойти. Сказать… Что сказать?
«Прости». Она знала, что я раскаиваюсь. Это не помогло бы.
«Я отдам». Я не мог. Система не давала.
«Вернись». У меня не было права.
Я развернулся и пошёл собирать рюкзак. Гоша уже ждал у двери. Со знаком. Палыч — со счётами и обоими блокнотами.
Нулевой километр.
Туда никто не ходил. Оттуда не возвращались.
Любимая фраза Изнанки.
Глава 17. Нулевой километр
Нулевой километр был в центре города. У старой водолечебницы.
Я там бывал — в нормальном мире. Красивое здание, девятнадцатый век, колонны, купол. Внутри — ванны с минеральной водой. Туристы ходили туда за здоровьем, местные — за фотографиями. Перед входом, на площади, в брусчатку была вмурована бронзовая плита. Круглая, с розой ветров. «Нулевой километр». Отсюда считали расстояния до всех городов края. Туристы вставали на неё и загадывали желание.
В Изнанке к водолечебнице никто не ходил. Палыч объяснил почему, пока мы шли:
— Оттуда приходит туман. Каждую ночь. Если смотреть с крыши вокзала — видно. Сначала там, над куполом, поднимается белое. Потом растекается по городу. Как молоко из кастрюли.
— Источник Отката, — сказал я.
— Источник Отката. А днём там лаги. Один на другом. Человек заходит на площадь — и его нет. Год, два, пять. Иногда возвращается. Седой. Говорит — пробыл там пять минут.
— А Администраторы?
— Не ходят. Даже они. Говорят — Данила там всё испортил.
Мы шли втроём. Я впереди, «Логом» вперёд. Гоша сзади, со знаком. Палыч посередине, со счётами и блокнотами.
Без Ники было непривычно. Я всё время оборачивался — проверить, где она. И каждый раз вспоминал.
* * *
Первая ловушка была за два квартала до площади.
Обычная улица. Прямая, широкая, с липами по краям. В конце — видно водолечебницу. Купол, колонны. Метров триста.
Мы пошли.
Через пять минут водолечебница была всё так же в трёхстах метрах.
Через десять — тоже.
— Мы стоим на месте? — спросил Гоша.
— Мы идём, — сказал Палыч. — Я считаю шаги. Восемьсот двенадцать.
Я обернулся. Позади — та же улица. Те же липы. А за ними — перекрёсток, с которого мы свернули. В тех же двухстах метрах.
Я посмотрел на улицу.
Объект: Улица (участок 300 м).
Изменён: пользователем Д*****.
Тип изменения: петля.
Описание: при достижении конца участка пользователь перемещается в начало.
Условие выхода: [см. примечание].
Примечание пользователя Д*****: «Если ты Отладчик — ты знаешь, что делать, когда цикл не кончается».
Я засмеялся. Громко, неожиданно. Гоша вздрогнул.
— Что? — спросил Палыч.
— Он издевается. Данила.
— В смысле?
— Бесконечный цикл, — сказал я. — Самая тупая ошибка в программировании. Цикл, у которого нет условия выхода. Программа крутится и крутится, пока компьютер не зависнет.
— И что делают, когда цикл не кончается?
— Прерывают, — сказал я. — Ctrl+C. Или выдёргивают из розетки.
— Здесь нет розетки.
— Здесь есть, — сказал я. — Если подумать как Данила.
Я посмотрел вниз. На асфальт. На бордюр. На липы.
Объект: Липа (14-я по счёту).
Изменён: пользователем Д*****.
Параметр: [прерывание цикла].
Четырнадцатая липа. Обычная, как все. Только к стволу, на высоте плеча, был привязан шнурок. Старый, выцветший. С деревянной ручкой на конце. Как у старых сливных бачков.
Я дёрнул.
Улица вздрогнула. Липы на секунду стали прозрачными. А когда снова стали плотными — до водолечебницы было пятьдесят метров.
Цикл прерван.
Обнаружено ошибок: 1.
Обнаружено связанных ошибок: 214.
Двести четырнадцать. За одну ловушку. Цикл был не одной ошибкой — он состоял из сотен маленьких. Каждый повтор — ошибка. И я все их «обнаружил», когда понял, как он устроен.
— Сливной бачок, — сказал Палыч с непонятным выражением. — Он сделал выход из ловушки в виде сливного бачка.
— У айтишников своеобразное чувство юмора, — сказал я.
* * *
Вторая ловушка была во дворе перед водолечебницей. Квадратном, мощёном, с фонтаном посередине.
Мы вошли — и во дворе оказались ещё трое.
Я. Гоша. Палыч.
Они стояли у фонтана. Точь-в-точь как мы. Тот же рюкзак у «меня». Тот же знак у «Гоши». Те же счёты у «Палыча». Только полупрозрачные. Чуть-чуть. Как на плохой фотографии с двойной экспозицией.
Гоша поднял знак.
— Не надо, — сказал я. — Подожди.
Я посмотрел.
Объект: Дубль пользователя «Алексей Гордеев».
Тип: запись-дубликат.
Источник: ошибка синхронизации (создан при попадании пользователя в контур).
Описание: при переносе пользователя в контур была создана лишняя запись. Запись не содержит воли. Повторяет фрагменты поведения оригинала.
Изменён: пользователем Д***** (локализация дублей в данном объекте).
Дубли.
Я знал, что такое дубли. Любой, кто работал с учётными системами, знает. Это когда один и тот же товар, клиент или документ заведён в базе дважды. Из-за ошибки загрузки. Из-за кривого обмена. Из-за того, что кто-то нажал «Сохранить» два раза. Дубли — проклятие любого айтишника. Они плодятся, путают отчёты, ломают остатки. Их ищут неделями.
Здесь были дубли людей.
Когда Система затягивала нас в Изнанку, она в спешке создавала лишние записи. Пустые. Без воли. И Данила, видимо, собрал их все сюда. В этот двор. Чтобы не бродили по городу.
— Это не мы, — сказал я. — Это наши копии. Ошибка загрузки.
«Я» у фонтана повернулся ко мне. Посмотрел пустыми глазами. И сказал моим голосом:
— Не трогай. Оно работает.
Я поморщился. Вот, значит, что от меня осталось, когда из меня убрали волю. Одна фраза.
«Палыч» у фонтана щёлкнул костяшками. Беззвучно. Губы шевелились — он считал. Что-то бесконечное, не останавливаясь.
А «Гоша»…
«Гоша» смотрел на настоящего Гошу. Потом поднял руку к уху — как будто держал телефон. И сказал:
— Мама, у меня всё хорошо.
Настоящий Гоша замер.
— Мама, у меня всё хорошо, — повторил дубль. Спокойно. Ровно. — Не волнуйся. Я скоро приду. Всё хорошо.
Гоша опустил знак. Медленно.
— Он врёт, — сказал Гоша. Шёпотом. — Лёша, он врёт. У меня не всё хорошо.
— Он может врать, — сказал я. — У него нет обета. Обет — это часть тебя. А у него тебя нет. Только твоё желание. Самое сильное.
Гоша смотрел на свой дубль. Долго. Дубль держал руку у уха и повторял: «Мама, у меня всё хорошо».
— Он говорит то, что я хотел бы сказать, — сказал Гоша.
— Да.
— Это… — Гоша нахмурился. Подбирал слово. — Это неправильно. Но это красиво.
Он подошёл к дублю. Близко. Положил ему руку на плечо — рука прошла насквозь, но Гоша её не убрал.
— Спасибо, — сказал он дублю. — Ты ей скажи. Если сможешь.
Дубль не ответил. Продолжал: «Мама, у меня всё хорошо».
Обнаружено ошибок: 3 (дубли).
Обнаружено связанных ошибок: 418.
* * *
Водолечебница внутри была как баня. Огромная, с высоким куполом. Белый кафель, медные краны, мраморные ванны в ряд. И пар. Отовсюду. Из каждой ванны поднимался белый пар — густой, тёплый, пахнущий серой. Он поднимался под купол, собирался там, как облако, и уходил наружу через отверстие в верхушке.
— Туман, — сказал Палыч. — Это туман.
— Это пар, — сказал Гоша.
— Это и то и другое.
Я посмотрел.
Объект: Пар (минеральный).
Тип: системный.
Функция: носитель процедуры Отката.
Описание: в период Отката концентрация повышается. Пар распространяется по контуру, инициируя возврат объектов к эталону.
Источник: [Исходный код].
Источник — Исходный код.
Мы шли через зал. Между ванн. Пар обтекал нас, тёплый, влажный. Гоша шёл впереди — знак наготове. Палыч — за ним. Я — последним, смотрел.
Здесь было столько ошибок, что «Лог» не успевал выводить. Строки шли сплошным потоком, накладывались, путались. Ванна — ошибка. Кран — ошибка. Плитка на полу — сорок ошибок. Пар — тысяча. Я перестал читать и просто смотрел, как ползёт счётчик.
Обнаружено ошибок за всё время: 2 512.
Уровень повышен: 3 → 4.
Четвёртый уровень пришёл где-то между пятой и шестой ванной. Я даже не остановился. Только заметил, как в интерфейсе мелькнуло новое:
Навык «Костыль»: снижение стоимости изменений на 10%.
Навык «Патч» (заблокирован). Требуется уровень: 5.
До следующего уровня: 3 000.
Три тысячи. За эти полчаса я набрал почти полторы. Ещё два часа здесь — и пятый.
Если мы проживём два часа здесь.
* * *
В центре зала, под самым куполом, была круглая площадка. Мраморная, без ванн. Посередине — плита. Бронзовая, круглая, с розой ветров.
Нулевой километр. Настоящий. Не тот, что на площади перед входом, для туристов. Этот.
А над плитой — шар.
Прозрачный, как мыльный пузырь. Метра три в диаметре. Внутри — воздух был другим. Плотнее. Тяжелее. Как вода в аквариуме. Пар обходил шар стороной.
Лаг. Самый большой, что я видел.
И в лаге — человек.
Он стоял на одном колене. Над плитой. Правая рука — вытянута вниз, к бронзе. Пальцы почти касались розы ветров — между ними и металлом оставалось сантиметра два. Левая рука — откинута назад, как будто он отмахивался от чего-то сзади. Голова повёрнута через плечо. Рот открыт. Он что-то кричал. Или собирался крикнуть.
Лет тридцать пять. Худой. Небритый — щетина недельная. Свитер растянутый, серый, с катышками. Джинсы. Кеды. На носу — очки в тонкой оправе, съехавшие набок.
На запястье — часы. Электронные, «Касио». Я видел цифры. Они не менялись.
Гоша остановился. Палыч — тоже.
Я подошёл ближе. До шара — метр. Дальше я не пошёл. Помнил голубя.
Пользователь: Д*****.
Класс: Отладчик.
Уровень: 5.
Статус: зависание процесса.
Время в зависании: 21 год 0 мес. 14 дн.
Причина: блокировка процесса.
Блокировка установлена: пользователем с правами администратора [Модератор].
Восстановление удалённых данных… частично.
Пользователь: Да*****.
Да. Две буквы.
— Данила, — сказал я. Тихо. — Привет, Данила.
Он не ответил. Он стоял на колене двадцать один год. С рукой, протянутой к плите. В двух сантиметрах.
Я посмотрел на плиту.
Объект: Люк технический (замаскирован под объект «Нулевой километр»).
Назначение: доступ к [Исходный код].
Доступ: пользователь класса «Отладчик» уровня 5+ ИЛИ пользователь с правами администратора уровня «Модератор».
Доступ возможен: только в период Отката.
Только в период Отката.
Данила пришёл сюда, когда начинался Откат. Пятого уровня. Протянул руку к люку. И в двух сантиметрах от него — его остановили. Модератор. Кто-то, кто стоял у него за спиной. Поэтому он обернулся. Поэтому левая рука откинута назад.
Он хотел что-то сделать в Исходном коде. Что-то сломать. Или починить.
Не успел.
«Значит, я не успел», — написал он на стене за холодильником. Тоже до этого? Или он знал, что может не успеть? Написал заранее — на всякий случай. Как пишут завещание.
Я посмотрел на шар. На лаг.
Объект: Лаг (искусственный).
Установлен: пользователем с правами администратора [Модератор].
Снятие: тариф ×5 (администратор). Стоимость: 380.
Триста восемьдесят. При моих пятидесяти двух.
Даже с десятипроцентной скидкой четвёртого уровня.
— Не потянешь, — сказал Палыч у меня за спиной. Он смотрел туда же. Видел цену.
— Не потяну.
— А если гасить минутами? Вокзал. Курьеры. Все.
— Сколько у них есть?
Палыч щёлкнул костяшками.
— У всего города — может, тысяч пять. Если отдать всё. Это пятьсот единиц. Хватит. Но тогда весь город останется без сохранений. Всё, что не на людях, — исчезнет в первую же ночь.
Мы помолчали.
Гоша подошёл ближе. Встал рядом со мной. Смотрел на Данилу — на его открытый рот, на съехавшие очки, на руку, протянутую к люку.
— Он кричал, — сказал Гоша.
— Кричал.
— Кому?
Я посмотрел на откинутую назад левую руку. Растопыренные пальцы. Не удар. Не защита. Жест «стой!».
— Тому, кто сзади, — сказал я. — Он кричал «стой». Или «не надо». Или…
Я не договорил.
Я смотрел на лицо Данилы. На его глаза — за съехавшими очками. Они смотрели через плечо, назад. Туда, откуда пришёл Модератор.
И в них не было страха. Совсем.
Было что-то другое. Злость? Нет. Удивление? Тоже нет.
Обида. Как у человека, которого предал друг.
* * *
Мы ушли из водолечебницы, когда пар начал густеть. Палыч заметил первым — по цене воздуха, сказал он, она начала расти. Значит, скоро Откат. А во время Отката здесь — я не хотел знать, что здесь во время Отката.
Обратно шли быстро. Через двор с дублями — «Гоша» всё так же говорил в несуществующий телефон «мама, у меня всё хорошо», и настоящий Гоша прошёл мимо, не глядя, но я видел, как у него дрожат губы. Через улицу-петлю — шнурок на четырнадцатой липе я дёрнул снова, на всякий случай.
Вышли к перекрёстку. Остановились отдышаться.
Небо над водолечебницей начинало белеть. Пар поднимался из купола.
Уровень: 4.
Обнаружено ошибок за всё время: 3 504.
До следующего уровня: 2 008.
Две тысячи. Одна такая вылазка. Может, полторы.
И у меня было два варианта, что делать на пятом уровне.
Первый: открыть люк. Спуститься в Исходный код. Сделать то, что не успел Данила, — что бы это ни было.
Второй: то, чего хочет Модератор. Поставить Патч. Слияние.
А между ними — Данила. Замороженный. В двух сантиметрах от люка. Стоимостью триста восемьдесят.
Входящее сообщение (пользователь: Кирилл, Администратор, младший).
Текст: «Модератор знает, что вы были на Нулевом. Знает про четвёртый уровень. Он ждёт вас завтра в полдень. Один. Говорит — если не придёте, начнут с вокзала. Он не шутит. Я видел приказ. Простите. — К.»
Я прочитал. Показал Палычу. Палыч прочитал. Показал Гоше. Гоша прочитал медленно, шевеля губами.
— Пойдёшь? — спросил Гоша.
— Пойду.
— Один?
— Сказано — один.
Гоша подумал.
— Я провожу до дверей, — сказал он. — И встану. Снаружи. Это же не внутри. Это можно.
Палыч ничего не сказал. Достал второй блокнот — тот, с чертой посередине. Открыл. Написал в левой колонке: «Им: идёт на встречу. Один».
В правой — ничего.
Пока ничего.
Глава 18. Модератор
Двери мэрии открыл Кирилл.
Высокие, дубовые, с бронзовыми ручками. Я стоял перед ними и чувствовал себя так же, как восемь лет назад, когда первый раз пришёл на собеседование в нашу компанию. Костюм не по размеру, резюме в папке, в голове — «только бы не спросили про SQL».
Сейчас на мне был фартук «Лучший повар в мире». Я его так и не снял. Не знаю почему. Наверное, хотелось, чтобы на мне было хоть что-то своё.
Гоша остался на ступенях. Встал. Знак — на руку. Лицом к площади. Фоновые с мётлами обходили его, как вода обходит камень.
— Только вы, — сказал Кирилл. Тихо. — Простите.
— Знаю.
Я вошёл.
* * *
Внутри был офис.
Не кабинеты, не коридоры с табличками, не приёмная с секретаршей. Огромный открытый зал — весь первый этаж, сколько хватало взгляда. Белые стены. Белый свет — ровный, без теней, из ниоткуда. Ряды столов. За столами — люди в белых рубашках. Человек сто, может, больше. Перед каждым — терминал. Экран, клавиатура. Они печатали. Тихо, ровно, сосредоточенно. Шелест клавиш — как дождь по крыше.
Между столами ходили фоновые. С мётлами, со швабрами, с подносами. Подметали чистый пол. Протирали чистые столы. Ставили перед белыми рубашками чашки. Улыбались.
Пахло кофе.
Настоящим кофе. Я не чувствовал этого запаха три недели. У меня закружилась голова.
— Это первая линия, — сказал Кирилл, ведя меня между столами. — Тикеты. Обращения. Аномалии. Мониторинг объектов. Вон там — Эдуард.
Эдуард сидел в углу, за столом побольше. Поднял голову, когда мы проходили. Посмотрел на меня. Ничего не сказал. Вернулся к экрану.
— Вторая линия — наверху.
Мы поднялись по лестнице. Широкой, мраморной, с ковровой дорожкой. На ступеньках сидел фоновый — молодой парень, совсем мальчишка. Тёр тряпкой медные прутья, которыми дорожка крепилась к ступеням. Тёр один и тот же прут. Улыбался.
— Это Стёпа, — сказал Кирилл. Не останавливаясь. — Стажёр. Тот, что не закрыл пять обращений.
Я посмотрел на Стёпу. Стёпа не посмотрел на меня. Тёр прут.
Второй этаж был тише. Коридор. Двери. Одна — в конце, двустворчатая. На ней — табличка. Не «Модератор». Не «Администрация».
«Заместитель начальника отдела информатизации».
Кирилл постучал.
— Войдите, — сказал голос из-за двери. Мягкий. Немолодой.
Кирилл открыл дверь, пропустил меня. И остался снаружи.
* * *
Кабинет был обычный. Именно это меня поразило больше всего. После белого опенспейса, после фоновых, после всей этой стерильной техподдержки — обычный кабинет чиновника средней руки. Девяностые годы. Стол, обитый зелёным сукном. Шкаф с папками. Фикус в кадке. Календарь на стене — за две тысячи первый год, с котятами. Чайник на тумбочке. Электрический, советский, с вмятиной на боку.
За столом сидел человек.
Лет шестьдесят. Седой, коротко стриженный. Лицо — доброе, морщинистое, как у учителя физики, которого все любили. Вязаный кардиган поверх клетчатой рубашки. Очки на шнурке. В руках — кружка. Большая, фаянсовая, с надписью «Лучшему дедушке».
— Алексей, — сказал он. Улыбнулся. Не как Эдуард — не профессионально. По-настоящему. Тепло. — Садитесь. Чай будете? Кофе? У нас хороший кофе. Настоящий. Из продуктива подтягиваем.
— Кофе, — сказал я. Голос не слушался.
Он встал. Сам. Подошёл к тумбочке, включил чайник. Достал из шкафа банку, ложку, чашку. Насыпал. Всё это — неторопливо, по-домашнему.
Пользователь: Олег Валентинович Стрельников.
Класс: Администратор.
Права: Модератор.
Уровень: 41.
Технический долг: 0.
Долг, размещённый в объектах: 9 412.
Девять тысяч четыреста двенадцать. В объектах. Банкомат был одним из них. С семьюдесятью восемью.
Сколько ещё банкоматов в этом городе? Сколько скамеек, фонарей, дверей, на которые этот добрый дедушка свалил свои девять тысяч?
Чайник закипел. Олег Валентинович залил кофе, поставил чашку передо мной. Сел.
— Вы на меня смотрите, — сказал он. — Своим «Логом». Я чувствую. Это ничего. Смотрите. У меня секретов нет. — Он отпил из своей кружки. — Почти.
* * *
— Двадцать пять лет назад, — сказал Олег Валентинович, — я был заместителем начальника отдела информатизации мэрии. Вот этого. — Он обвёл рукой кабинет. — Это был мой кабинет. Там. В продуктиве. Я его перенёс сюда. Почти точно. Фикус, правда, другой. Мой засох.
Он улыбнулся.
— У нас был начальник. Аркадий Семёнович. Умнейший человек. Он внедрял в городе новую систему. Единую. Всё — в одной базе. Коммунальные службы, транспорт, здравоохранение, учёт. Тогда это было… революционно. Министерство дало грант. Мы получили сервер. Огромный. Он стоял вот здесь, в подвале.
— И сделали тестовую базу, — сказал я.
— И сделали тестовую базу. — Он кивнул. — Вы быстро соображаете. Да. Копию. Чтобы проверять обновления. Аркадий Семёнович нажал кнопку. Я стоял рядом. И нас… перенесло.
Он помолчал.
— Мы были первыми. Двое. В пустом городе. Ни людей, ни Откатышей — ничего. Только мы и копия. И у нас были права. Администраторские. Потому что в момент копирования мы были авторизованы в системе как администраторы. Понимаете?
Я понимал. Вот откуда «права администратора». Они просто были залогинены. В момент синхронизации. Под админской учёткой.
— А потом всё начало ломаться, — продолжал он. — Копия была неустойчивой. Объекты разрушались. Дома осыпались. Улицы исчезали. Тест не был рассчитан на то, что в нём будут жить. Он разваливался. За неделю — половина города. За две — мы бы остались на пустой сетке. Как на Пустыре.
— И Аркадий Семёнович сделал Откат.
Олег Валентинович посмотрел на меня поверх очков.
— Вы и это знаете?
— Догадываюсь.
— Да. — Он кивнул. — Он сделал Откат. Самое большое изменение в истории контура. Каждую ночь — возврат к эталону. Всё, что разрушилось за день, — восстанавливается. Стабильность. Он спас этот мир, Алексей. Спас. Без него здесь ничего бы не было. Ни вокзала, ни вашей шаурмичной. Ничего.
— А он сам?
Олег Валентинович долго молчал. Смотрел в кружку.
— Он заплатил, — сказал он наконец. — Долг был… огромный. Вы не представляете. И он заплатил. Его… больше нет. Таким, каким он был.
Я ждал, что он скажет больше. Он не сказал.
* * *
— А Слияние? — спросил я.
— А Слияние, — сказал Олег Валентинович, — это то, ради чего всё было. С самого начала. Тестовую базу делают, чтобы потом перенести изменения на рабочую. Так? Вы айтишник, вы знаете.
— Знаю.
— Вот. Обновление ждёт. Двадцать пять лет ждёт. Сначала я не понимал, что это. Потом понял. — Он наклонился вперёд. Глаза у него загорелись. Как у учителя физики, который рассказывает про чёрные дыры. — Алексей. Подумайте. Вы видели продуктив. Вы оттуда. Что там? Хаос. Долги — настоящие, денежные, на всю жизнь. Ипотеки. Кредиты. Бедность. Люди, которые не знают, зачем живут. Люди, которых никто не ищет. Люди, которые умирают в одиночестве.
Я молчал.
— А здесь? — Он развёл руками. — Здесь — порядок. Каждую ночь — мир чище. Каждый на своём месте. Фоновые — вы их видели — они счастливы, Алексей. Им не больно. Им не страшно. У них нет долгов. Они делают то, что умеют, и улыбаются. Разве это плохо?
— У них нет воли.
— Воля, — повторил Олег Валентинович. Мягко. — Воля — это то, что заставило вас нажать кнопку питания в ночь закрытия квартала. Воля — это то, что заставило вашу рыжую девочку нажать «Доставлено» и бросить чужого ребёнка без лекарства. Воля — это то, из-за чего вы повесили на неё двадцать единиц и не сказали.
Я вздрогнул.
Он знал. Он знал всё.
— Я не осуждаю, — сказал он. — Это человеческое. Но подумайте — сколько боли в мире из-за воли. И сколько — без неё.
* * *
— Чего вы хотите от меня? — спросил я.
Олег Валентинович откинулся на спинку кресла.
— Патч, — сказал он. — Слияние нельзя запустить из мэрии. Аркадий Семёнович так построил систему — специально, наверное, чтобы нельзя было слить случайно. Нужен доступ к Исходному коду. Нужна последняя операция — постоянное изменение. Патч. А Патч может поставить только Отладчик. Пятого уровня.
— Данила был пятого.
Лицо Олега Валентиновича изменилось. Совсем чуть-чуть. Как будто через тёплую улыбку на секунду проступило что-то другое.
— Данила, — сказал он. — Да. Данила был пятого.
— Вы его заморозили.
— Я его остановил. — Он поставил кружку на стол. Аккуратно. — Данила пришёл сюда двадцать один год назад. Мальчишка. Тридцать четыре года. Сисадмин из санатория «Горный воздух». Перезагружал сервер с бухгалтерией. — Он улыбнулся. Печально. — Он был как вы. Точь-в-точь. Острый. Злой. Талантливый. Я его учил. Я ему всё показал. Я любил его, Алексей. Как сына.
— А он?
— А он узнал, что такое Слияние. И решил, что это плохо. — Олег Валентинович вздохнул. — Он хотел пойти в Исходный код и разорвать связь контуров. Навсегда. Отрезать тест от прода. Знаете, что это значит?
— Что Слияния не будет.
— Что никто отсюда никогда не уйдёт, — сказал Олег Валентинович. Жёстко. Впервые жёстко. — Никто. Никогда. Ни ваш Георгий к своей маме. Ни ваш Пётр Павлович. Ни рыжая. Ни я. Связь — это единственная дверь. Разорвать её — значит замуровать всех. Навсегда. В мире, который каждую ночь откатывается.
Он помолчал.
— Я не мог ему позволить. Я его остановил. В последний момент. Он уже тянулся к люку. — Голос его дрогнул. — Я хожу к нему. Каждую неделю. Двадцать один год. Сижу рядом. Разговариваю. Он не слышит. Но я разговариваю.
Я вспомнил лицо Данилы. Обиду в глазах за съехавшими очками. Он смотрел на того, кто стоял сзади. На учителя. На человека, который любил его как сына.
* * *
— Вот что я предлагаю, — сказал Олег Валентинович.
Он открыл ящик стола. Достал бейдж. Синий. Как у Эдуарда. Только на нём было написано: «Алексей Гордеев. Администратор. Отладчик».
Положил передо мной на зелёное сукно.
— Права администратора. Ваш долг — пятьдесят два, так? Он уйдёт в объекты. Сразу. Вам больше никогда не придётся бояться Аркадия… — Он запнулся. — Серого. Никогда. Двадцать четыре единицы на вашей рыжей девочке — я сниму. Сам. Сегодня. Вокзалу вернут защиту. Колонку откроем. Кремень получит назад свои сорок тысяч минут — я знаю, он о них думает.
Он помолчал.
— А через пять недель, когда готовность будет сто процентов, вы спуститесь в Исходный код и поставите Патч. И все — все, Алексей, — вернутся домой. В продуктив. Георгий — к маме. Пётр Павлович — в свой санаторий, если захочет. Рыжая найдёт ту женщину и извинится. Вы вернётесь в офис. А мир станет чуть-чуть лучше. Чуть-чуть чище. Чуть-чуть стабильнее.
Я смотрел на бейдж.
Синий. Пластиковый. С моим именем.
Гоша — к маме. Палыч — домой. Ника — найдёт ту женщину.
Всё, чего я хотел. Всё, что я не мог им дать. На зелёном сукне. Бесплатно. Без очереди.
Объект: Бейдж служебный.
Функция: присвоение прав администратора.
Внимание: при присвоении прав пользователь получает доступ к размещению долга в объектах.
Внимание: при присвоении прав пользователь входит в иерархию Администрации.
Внимание: пользователи иерархии подчиняются вышестоящим.
Подчиняются вышестоящим.
Я перечитал. Как обещал Нике. Хоть её здесь и не было.
— А Откат? — спросил я. — После Слияния?
— Что — Откат?
— Он останется?
Олег Валентинович посмотрел на меня. Долго.
— Откат — это стабильность, — сказал он. — Конечно, останется.
— В продуктиве.
— В объединённом контуре.
— Каждую ночь. В настоящем городе. С настоящими людьми. Всё, что они сделали за день, — исчезнет. Если не сохранено. А сохранение — минутами. Которые вы будете… собирать. Через банкоматы.
Он молчал.
— И Откатыши, — сказал я. — Они тоже переедут. В прод. Каждую ночь — из тумана. На улицы. Где дети.
— Откатыши — это мусор, — сказал Олег Валентинович. — Его можно контролировать.
— Как вы контролировали здесь? Семеро погибших на вокзале. Трое на прошлой неделе. И ещё сколько — за двадцать пять лет?
— Это цена, Алексей, — сказал он. Тихо. — Любая стабильность имеет цену. Пётр Павлович вам скажет.
— Пётр Павлович мне скажет, — сказал я, — что вы не умеете считать.
Я встал. Бейдж остался лежать на столе.
— В проде не откатывают, — сказал я. — Это первое правило. Никогда. В тесте — сколько угодно. В проде — никогда. Там люди живут. Там нельзя просто вернуть всё, как было вчера, потому что вчера было удобнее. Вы двадцать пять лет просидели в тесте и забыли.
Олег Валентинович смотрел на меня снизу вверх. Добрый дедушка с кружкой. Лицо его не изменилось. Совсем. Только глаза.
— Данила сказал почти то же самое, — сказал он. — Слово в слово. «В проде не откатывают».
— Значит, он был прав.
— Значит, вы оба молоды, — сказал Олег Валентинович. Вздохнул. Убрал бейдж обратно в ящик. — Ладно. Я не тороплю. До ста процентов — пять недель. Вы подумаете.
— Я подумал.
— Вы подумаете ещё, — мягко сказал он. — Когда я начну с ваших друзей.
Тишина.
— Не сегодня, — сказал Олег Валентинович. — И не завтра. Я не злой человек, Алексей. Я просто очень давно жду. Но вы мне нужны. А они — нет. Подумайте об этом. Кирилл вас проводит.
* * *
Кирилл ждал за дверью. Повёл меня по коридору. По лестнице — мимо Стёпы, который тёр медный прут. По опенспейсу — мимо Эдуарда, мимо ста белых рубашек, мимо шелеста клавиш.
У самых дверей Кирилл остановился. Обернулся — никто не смотрел. Наклонился ко мне.
— Он врёт, — шепнул он. Быстро, сбивчиво. — Про «все вернутся домой». Я видел спецификацию Слияния. В приказе. Месяц назад. Случайно, на столе у Эдуарда. Там написано: «В объединённый контур переносятся объекты и пользователи в режиме «Эталон». Прочие записи тестового контура удаляются».
Я замер.
— Удаляются, — повторил я.
— Только фоновые, — шептал Кирилл. — Только обнулённые. И администраторы — у них свой пункт, отдельный. Все остальные — удалятся. Станут… — Он сглотнул. — Станут как Откатыши. Мусором.
— Значит, Гоша не вернётся к маме.
— Если его не обнулят — нет.
— А если обнулят — вернётся. С метлой. С улыбкой.
Кирилл молчал. Лицо у него было белое.
— Поэтому он обнуляет всех, — сказал я. Медленно. — Не из жестокости. Он их… готовит. Чтобы они вернулись. Он правда думает, что спасает.
— Он правда так думает, — сказал Кирилл. — Это самое страшное.
* * *
Гоша стоял на ступенях. Так же, как час назад. Со знаком. Лицом к площади.
Увидел меня. Лицо прояснилось.
— Живой, — сказал он.
— Живой.
— Что он сказал?
Я подумал. Как объяснить Гоше. Что ему предлагали — маму. Что маму можно получить — с метлой и улыбкой. Что я отказался за него. Не спросив.
Опять не спросив.
Я остановился на ступенях мэрии. Посмотрел на Гошу. Большого, доброго, честного.
— Гоша, — сказал я. — Он предлагал отправить всех домой. Тебя — к маме. Но для этого тебя надо обнулить. Ты будешь дома. Но это будешь не ты. Ты будешь как они. — Я кивнул на фоновых с мётлами. — Улыбаться. Подметать. Говорить «мама, у меня всё хорошо». И это будет правдой. Потому что тебе будет всё равно.
Гоша слушал. Медленно, внимательно. Смотрел на фоновых.
— Я отказался, — сказал я. — За всех. Но я хочу тебя спросить. Сейчас. Пока не поздно. Ты бы хотел? Так?
Гоша смотрел на фоновых долго. На парня с метлой — того, с классом «Эхо», который подметал площадь десять лет.
— Нет, — сказал Гоша. — Мама бы заметила. Что это не я. Мамы всегда замечают.
Он поправил на руке знак.
— Спасибо, что спросил, Лёша, — сказал он.
Мы пошли домой. Через площадь. Мимо фоновых. Я шёл и думал о том, что Гоша только что сказал «спасибо, что спросил». Как будто это было чем-то особенным. Как будто это было подарком.
А это должно было быть нормой. С самого начала.
Технический долг: 52.
Перенесённый долг группы: 5.
Статус: под наблюдением.
Небо над мэрией было серым. Восемьдесят процентов.
Глава 19. Падение Палыча
— «Горный воздух», — сказал Палыч.
Мы сидели на кухне. Вечер. Я только что рассказал всё — про мэрию, про кабинет с фикусом, про Олега Валентиновича и кружку «Лучшему дедушке». Про Аркадия Семёновича и Откат. Про Данилу.
Палыч слушал молча. Не щёлкал. Счёты лежали у него на коленях неподвижно. А когда я дошёл до «сисадмин из санатория "Горный воздух"» — он поднял руку. Я замолчал.
— «Горный воздух», — повторил он. — Это мой санаторий.
Я смотрел на него.
— Я там двадцать два года главным бухгалтером. Пока сюда не попал. — Палыч снял очки. Положил на стол. — У нас был сисадмин. Молодой. Я его не застал — он пропал за шесть лет до моего прихода… нет. Не так. Я пришёл в санаторий раньше. Он пропал, когда я там уже работал. Но я его не знал. Бухгалтерия — второй этаж, серверная — подвал. Мы не пересекались.
— Но вы помните?
— Помню, что пропал. Шум был. Милиция приходила. Камеры… тогда камер толком не было. Он ушёл вечером в серверную — и всё. Утром дверь закрыта изнутри. Внутри никого. Сервер мигает.
Как я. Точь-в-точь как я.
— А имя?
Палыч закрыл глаза. Пальцы легли на счёты — машинально, как у пианиста на клавиши. Щёлк. Щёлк.
— Ершов, — сказал он. — Данила Ершов. Девчонки из расчётного отдела его звали «Данечка». Он им чинил компьютеры. И оставлял на мониторе записки. Жёлтые бумажки. «Не нажимайте эту кнопку». «Перезагружать только в пятницу». «Если не работает — позвоните, не стучите». — Палыч открыл глаза. — Одна долго висела. Года три после того, как он пропал. На мониторе у Зинаиды Петровны. Никто не решался снять.
— Что там было?
— «Не трогай. Оно работает».
* * *
Это случилось через два дня.
Утром я пошёл к ставням — по привычке, хоть они больше не падали. Посмотреть. Убедиться.
На ставнях висел лист. Белый, отпечатанный.
«Объект «Шаурмичная «У Ашота»» признан нестандартным объектом.
В соответствии с пунктом 3 Уведомления о подготовке к Обновлению пользователям рекомендуется воздерживаться от использования объекта.
В связи с нестандартным статусом на объект размещена часть технического долга контура.
Пользователи, продолжающие использование объекта, несут солидарную ответственность.
Администрация».
Я сорвал лист. Посмотрел на шаурмичную.
Объект: Шаурмичная «У Ашота».
Статус: исключена из Отката.
Технический долг объекта (собственный): 47.
Технический долг объекта (размещённый): 120.
Размещён: пользователем с правами администратора [Модератор].
Перенос на пользователей объекта: 50% при каждом входе.
Сто двадцать. Сто двадцать единиц чужого долга. Повесили на шаурмичную. Как на банкомат.
И пятьдесят процентов — при каждом входе.
Я стоял на пороге. Гоша вчера вечером заходил. Палыч — тоже. Я — тоже. Ночевали все внутри.
Я посмотрел на себя.
Технический долг: 112.
Перенесённый долг группы: 45.
— Георгий: 23.
— Пётр Павлович: 22.
Итого: 157.
Порог взыскания: превышен.
Сто пятьдесят семь.
Внимание.
Инициирована процедура взыскания.
Взыскатель: в пути.
Расстояние: 4,1 км.
* * *
— Сколько у тебя минут? — спросил Палыч.
— Двести шестьдесят.
— Двадцать шесть единиц. Сто тридцать один. Всё равно выше.
— Знаю.
Мы сидели в зале. Не на кухне — на кухню я больше не пускал. Вход в шаурмичную — это ещё пятьдесят процентов. Мы сидели на бордюре, у ставен. Все трое. Как в первый день.
Гоша смотрел в конец улицы. Туда, где за гаражами начинался Пустырь.
— Он идёт? — спросил Гоша.
— Идёт.
— За тобой?
— За всеми.
Гоша кивнул. Встал. Взял знак. Встал между нами и улицей.
— Гоша, — сказал я. — Сядь.
— Я Танк.
— Его нельзя ударить, Гоша. Ты помнишь вокзал. Он прошёл мимо тебя в полуметре.
— Помню, — сказал Гоша. — Но я всё равно встану. Я так устроен.
Я не стал спорить.
Расстояние: 3,6 км.
— Банкомат, — сказал я. — Нужен ещё один банкомат. Объект с долгом. Чтобы перевалить.
— Шаурмичная — уже такой объект, — сказал Палыч. — С тем, что на ней висит, — сто шестьдесят семь. Это выше ста. Серый придёт за ней. Но и за нами тоже. Мы — должники отдельно.
— Значит, перенести наш долг на неё. Как на банкомат.
Палыч щёлкнул костяшками. Быстро.
— Ты переносил свой на банкомат. Он не взял то, что было связано с людьми. Кровотечение Ники.
— Это другое.
— Это то же. — Палыч посмотрел на меня. — Сто двадцать единиц на тебе — от шаурмичной. Из-за того, что ты в неё входил. Это не твои изменения, Алексей. Это перенос. С объекта — на пользователя. Его нельзя перенести обратно на тот же объект. Я смотрю цену операции — её нет. Невозможна.
Он был прав. Я посмотрел сам.
Перенос долга на объект «Шаурмичная»: невозможен.
Причина: долг получен от данного объекта.
Расстояние: 3,1 км.
* * *
Я перебирал варианты. Все. Вслух. Палыч слушал и считал. Гоша стоял у дороги со знаком.
Уйти. Бежать. Куда? Серый шёл за долгом, а не за местом. Он найдёт.
Отдать минуты всего города. Вокзал. Курьеры. Не успеем собрать. И не хватит — Палыч посчитал: у вокзала, у Кременя, сейчас минут на триста единиц, но Кремень не отдаст все — тогда вокзал умрёт в первую же ночь без сохранений.
Пойти в мэрию. Взять бейдж. Права администратора. Долг — в объекты.
Я замолчал на этом варианте. Палыч посмотрел на меня.
— Это вариант, — сказал он. Спокойно. — Честно. Это работает.
— Это значит — подчиняться вышестоящим.
— Это значит — жить.
— Это значит — поставить Патч. Через пять недель. Слияние. Откат в проде. Обнулённые. Все остальные — удалены.
— Это значит — жить пять недель, — сказал Палыч. — А там — может, что-то придумаешь.
Я посмотрел на него.
— Вы правда так думаете?
Палыч помолчал.
— Нет, — сказал он. — Я просто считаю. Это один из столбиков.
Расстояние: 2,4 км.
* * *
Палыч встал.
Медленно. По-стариковски, опираясь на колено. Отряхнул брюки. Поправил жилетку. Застегнул верхнюю пуговицу на рубашке — чистой, отглаженной, с воротником. Он каждый вечер стирал её в Данилином кране на Садовой и сушил на спинке кресла.
— Алексей, — сказал он. — Посмотри на меня.
— Что?
— Посмотри. «Логом». На мою цену.
Я посмотрел.
Пользователь: Пётр Павлович.
Класс: Счетовод.
Уровень: 14.
Технический долг (перенесённый): 22.
— Ниже, — сказал Палыч. — Там ещё есть. Я знаю. Я сам себя оценивал. Каждый день. Пятнадцать лет. Привычка.
Я посмотрел ниже. Там, где мелким шрифтом.
Оценка пользователя: 1 460 минут.
Примечание: оценка может быть использована как залог при погашении технического долга (собственного или группы).
Залог.
Я поднял глаза. Палыч смотрел на меня. Спокойно. Как всегда.
— Нет, — сказал я.
— Тысяча четыреста шестьдесят, — сказал Палыч. — Это сто сорок шесть единиц. Сто пятьдесят семь минус сто сорок шесть — одиннадцать. Одиннадцать — это ниже порога. Это ниже пятидесяти. Это ты, Гоша и шаурмичная без меня — живые.
— Нет.
— Я посчитал, Алексей. Я двое суток считал. С того момента, как ты пришёл из мэрии и сказал «начнёт с друзей». Я знал, что начнёт. И знал, как. Он же такой же, как я. Бухгалтер. Он считает. Кому сколько повесить, чтобы перевалило.
— Палыч…
— Я самый дорогой из нас, — сказал Палыч. — Гоша — девятьсот. Ты — я тебя оценивал вчера — тысяча сто. Я — тысяча четыреста шестьдесят. Я пятнадцать лет копил цену. Уровни. Навык. Репутацию. Знаешь, сколько я стоил, когда пришёл? Восемьдесят минут. Старик из бухгалтерии. Ни сил, ни скорости. Восемьдесят.
Он улыбнулся. Одним уголком рта.
— А теперь — тысяча четыреста шестьдесят. Хорошее вложение, правда?
Расстояние: 1,5 км.
* * *
— Есть другой способ, — сказал я. Голос не слушался. — Должен быть. Я найду. Дайте мне час.
— У тебя нет часа. У тебя — полтора километра.
— Тогда я возьму бейдж!
— Не возьмёшь, — сказал Палыч. — Я тебя знаю. Ты скорее умрёшь, чем подчинишься. Ты — Данила. Я теперь понимаю. Ты — второй Данила. А Данилу нельзя ставить на колени. Он лучше в лаге будет стоять двадцать один год.
— Палыч, я не могу…
— Можешь. Ты должен. — Он сел обратно на бордюр. Рядом со мной. Близко. — Слушай, мальчик. Слушай меня внимательно. Я тебе сейчас скажу одну вещь, и ты её запомнишь.
Я молчал.
— Меня там никто не ждёт, — сказал Палыч. Тихо. — В продуктиве. Жена умерла за год до того, как я сюда попал. Детей не было. Санаторий — меня, наверное, уже и не помнят. Зинаида Петровна, может. Если жива. — Он помолчал. — А Гошу ждёт мама. А тебя ищут. В газете пишут. А рыжую — может, где-то ждёт та женщина с ребёнком, чтобы Ника ей сказала «простите».
— Это не так считается.
— Это именно так считается, — сказал Палыч. — Это единственный правильный способ считать. Кого ждут. Я пятнадцать лет считал минуты. Цены. Весы. А надо было — кого ждут. Я только сейчас понял.
Он полез в нагрудный карман. Достал блокнот — свой, коленкоровый, засаленный. Потом второй — с вертикальной чертой. Потом снял с колен счёты.
Положил всё мне на колени.
— Это тебе, — сказал он. — Сохранено. На тебя. Я сейчас переоформлю.
Пользователь Пётр Павлович передаёт объекты пользователю Алексей Гордеев:
— Блокнот (коленкоровый).
— Блокнот (двойная бухгалтерия).
— Счёты деревянные.
Принять? [Да] [Нет]
Я не нажимал.
— Нажми, — сказал Палыч. — Иначе их заберут со мной. Как мешок Стаса. А там пятнадцать лет. Все, кто приходил. Имена. Кто что нажал. Это нельзя терять. Это — бухгалтерия.
Я нажал.
* * *
Расстояние: 0,3 км.
Он вышел из-за угла.
Не появился — вышел. Как обычный человек. Длинное серое пальто. Руки в карманах. Шёл по середине улицы. Мимо аптеки. Мимо остановки с одноглазой женщиной.
Гоша поднял знак.
Серый не посмотрел на него. Прошёл мимо — в полуметре. Остановился перед нами. Передо мной.
Пахло пылью и старой бумагой.
Взыскатель: обнаружен должник.
Должник: Алексей Гордеев (группа).
Технический долг: 157.
Порог взыскания: превышен.
Взыскание: выполняется.
Он вынул руку из кармана.
И Палыч встал.
Встал между мной и Серым. Маленький, сухой старик в вязаной жилетке. Голова — Серому по грудь. Очки на носу. Чистая рубашка с воротником.
— Здравствуйте, — сказал Палыч. Вежливо. Как говорят с налоговым инспектором, который пришёл с проверкой. — Пётр Павлович. Счетовод. Я вас видел. Пятнадцать лет назад. На рынке. Стас. Помните?
Серый смотрел на него. Рука замерла в воздухе.
— Я хочу погасить долг группы, — сказал Палыч. — Залогом. Своей оценкой. Тысяча четыреста шестьдесят. Это покрывает сто сорок шесть единиц. Остаток — одиннадцать — ниже порога. Я посчитал. Можете проверить.
Предложение погашения: пользователь Пётр Павлович.
Оценка: 1 460 минут (146 единиц).
Покрывает долг группы до уровня ниже порога: да.
Принять погашение? (решение взыскателя)
Решение взыскателя.
Серый стоял. Долго. Смотрел на Палыча — сверху вниз. Я видел, как его невидимый взгляд скользит по старику. По очкам. По жилетке. По рукам — пустым теперь, без счётов.
Он взвешивал. Как Палыч взвешивал всех на своих весах.
Потом наклонил голову. Чуть-чуть. Как тогда, на вокзале.
И сказал:
— Полностью.
Не «частично». Полностью.
Палыч улыбнулся.
— Спасибо, — сказал он. — Я всегда плачу полностью. Привычка.
Он обернулся ко мне. Последний раз.
— Плати, Алексей, — сказал он. — Всегда плати. И спрашивай. Перед тем как нажать — спрашивай. Это одно и то же.
Серый положил руку ему на плечо.
* * *
Палыч стал серым.
Сначала плечо. Под ладонью. Вязаная жилетка потеряла цвет — бордовая шерсть стала пепельной. Потом рукав. Рубашка. Белый воротник — он и так был белым, но стал другим белым. Мёртвым. Как бумага, которую оставили на солнце на двадцать лет.
Лицо — последним. Он смотрел на меня. Улыбался — одним уголком рта, как тогда, на рынке, когда сказал «сорок пять минут». Очки посерели. Глаза за ними — светлые, водянистые — стали прозрачными.
А потом он стал контуром. Наброском. Карандашным рисунком старика в очках.
А потом — ничем.
Пустое место на тротуаре. Там, где он стоял.
Пользователь Пётр Павлович: взыскан.
Погашение технического долга группы: выполнено.
Технический долг: 11.
Перенесённый долг группы: 0.
Порог взыскания: не достигнут.
Серый убрал руку в карман. Постоял ещё секунду. Смотрел на меня.
Потом развернулся и пошёл. По улице. Мимо Гоши со знаком. Мимо остановки. Мимо аптеки.
За угол.
* * *
Я сидел на бордюре. На коленях — два блокнота и счёты.
Гоша стоял посреди дороги. Знак опущен. Он смотрел туда, куда ушёл Серый. Потом обернулся ко мне.
Лицо у него было растерянное. Как у человека, который зашёл в комнату и забыл зачем.
— Лёша, — сказал он. — А что было?
— Что?
— Вот сейчас. Он пришёл, постоял — и ушёл. Почему он ушёл? Он же за тобой шёл. За нами.
Я смотрел на него.
— Гоша, — сказал я. — А Палыч?
Гоша нахмурился.
— Кто?
Мир качнулся. Как лифт, у которого оборвался трос.
— Палыч, — повторил я. — Пётр Павлович. Счетовод. Он сидел вот здесь. Рядом со мной. Минуту назад.
Гоша посмотрел на бордюр рядом со мной. На пустое место.
— Тут никого не было, Лёша, — сказал он. Мягко. Осторожно. Как говорят с больным. — Ты сидел один. А я стоял. А он пришёл. И ушёл.
Он не врал. Гоша не умел врать.
Он правда не помнил.
«Люди его забыли, — сказал Палыч про Стаса. Три недели назад. На этой кухне. — Все. Сразу. Только я помню. Потому что я его оценивал. Цена остаётся».
Я помнил. Я — помнил.
Я посмотрел в интерфейс. На то, что дал мне первый уровень. «Частичное восстановление удалённых данных о пользователях».
Пользователь: Пётр Павлович.
Статус: взыскан.
Удалённые данные: восстановлены (для пользователя Алексей Гордеев).
Для меня. Только для меня.
Гоша сел рядом. На то место, где сидел Палыч. Бордюр скрипнул.
Он увидел у меня на коленях блокноты. Счёты. Взял один блокнот — свой, «Журнал обходов», который Палыч заполнял три недели. Открыл. Полистал.
— Красивый почерк, — сказал Гоша. — Аккуратный. Как у бухгалтера. — Он поднял на меня глаза. — Это кто писал? Ты?
Я не смог ответить.
Гоша смотрел на меня. Потом — на мои руки. Они дрожали.
— Лёша, — сказал он. Тихо. — Ты плачешь.
— Да.
— Почему?
— Потому что ты не помнишь, — сказал я. — А я помню. И мне одному это нести.
Гоша долго смотрел на меня. Не понимал. Не мог понять. В его голове на месте Палыча было пустое место — гладкое, как у безглазой женщины на плакате. Не дыра. Просто ничего.
Но Гоша был Гошей. Он не понимал — и не делал вид, что понимает.
Он просто обнял меня. Сбоку, одной огромной рукой. Как обнимают ребёнка, который проснулся от кошмара.
— Тогда расскажи мне, — сказал Гоша. — Про него. Я буду помнить с твоих слов. Это же тоже правда.
* * *
Я рассказывал до ночи.
Про весы. Про сорок пять минут. Про «я не учу, я считаю». Про чистую рубашку. Про то, как он щёлкал костяшками, когда думал. Про то, как сказал Кременю «весы в порядке» — первая ложь за пятнадцать лет. Ради меня. Про дверь Стаса. Про «Горный воздух» и Данилу Ершова. Про «кого ждут».
Гоша слушал. Иногда кивал. Иногда переспрашивал. Один раз — когда я рассказал, как Палыч сказал «Гоша, ты хочешь помочь Алексею?» и Гоша сел на асфальт со стажёрами, — Гоша вдруг замер.
— Я помню, — сказал он. — Как я сидел. Со стажёрами. Я помню, что кто-то мне сказал. Я думал — это ты сказал.
— Это он сказал.
Гоша долго молчал.
— Хороший был человек, — сказал он наконец. — Твой Палыч.
— Наш, — сказал я. — Наш Палыч, Гоша.
Небо щёлкнуло. Откат начался. Ставни остались поднятыми. Мы так и сидели на бордюре — я с блокнотами, Гоша рядом — и не шли внутрь. Шаурмичная висела на нас ста двадцатью чужими единицами, и мы больше не могли туда войти без того, чтобы снова начать считать.
Мимо шли Откатыши. Бормотали «отмена». Обходили нас стороной. Не знаю почему. Может, мы с Гошей в ту ночь были для них слишком мёртвыми. Неинтересными.
Я открыл коленкоровый блокнот. На последней странице, после всех имён, всех столбиков, всех «кто что нажал», была одна строка. Свежая. Чернила ещё яркие.
«Алексей Гордеев. Отладчик. Нажал кнопку питания. Цена — 12 минут (первый день). Ошибся в оценке. Сильно. — П.П.»
Я закрыл блокнот. Прижал к груди.
Технический долг: 11.
Перенесённый долг группы: 0.
Порог взыскания: 100.
Одиннадцать.
Самый дорогой долг, который я когда-либо гасил.
Глава 20. Кредитная история
Я пошёл к нему сам.
На рассвете. Когда Откат кончился и небо посветлело рывками. Гоша спал на бордюре, сидя, привалившись к ставням. Я накрыл его одеялом — вытащил из шаурмичной, быстро, на одном вдохе. Плюс пятьдесят процентов от ста двадцати. Шестьдесят. Мне было всё равно.
Технический долг: 71.
Нет. Не всё равно. Я посмотрел на цифру и разозлился на себя. Шестьдесят единиц за одеяло. Палыч бы посчитал. Палыч бы сказал — дорогое одеяло, Алексей.
Палыча не было.
Я пошёл через город. Мимо фонаря на Пушкина — он гас, как всегда утром. Мимо гаражей. Мимо последнего забора.
На край Пустыря.
Белая сетка. Серая плоскость. Тишина — такая, что звенит в ушах. Где-то далеко торчали недоделанные деревья, половинки домов.
Я встал на последнюю линию асфальта. Одна нога — на городе. Другая — на сетке.
— Эй! — крикнул я. Голос пропал сразу, на втором слоге. Пустырь съел его. Я крикнул ещё раз, мысленно, изо всех сил.
«Я хочу поговорить».
Ничего.
Я стоял. Минуту. Пять. Десять.
Потом он был.
Не пришёл. Не появился. Просто — был. В трёх шагах от меня. На сетке. Руки в карманах. Пальто. Лица — то место, куда не смотришь.
Звук вернулся. Не весь — только между нами. Как будто вокруг нас двоих кто-то включил маленький пузырь обычного мира.
— Ты звал, — сказал он.
* * *
Голос был тот же. Сухой. Усталый. Немолодой.
Я смотрел на него. Долго. Он не торопил.
— Как тебя зовут? — спросил я.
Он не ответил сразу. Стоял. Я чувствовал — смотрит. Как тогда, на вокзале. Как вчера, на Палыча. Взвешивает.
— Двадцать один год, — сказал он наконец. — Двадцать один год меня никто об этом не спрашивал.
— А до того?
— До того — спросил один. Мальчишка. В очках. В растянутом свитере. — Пауза. — Ты знаешь, о ком я.
— Данила.
— Данила. — Он помолчал. — Он стоял на этом же месте. Почти. Чуть левее. И спросил то же самое. Теми же словами.
— И ты ответил?
— Ответил.
— А мне ответишь?
Он стоял. Пальто чуть колыхалось — хотя ветра на Пустыре не было.
— Ковалёв, — сказал он. — Аркадий Семёнович. Начальник отдела информатизации городской администрации.
Он вынул руку из кармана. Медленно. Ту самую — немолодую, сухую, с длинными пальцами. С белой полоской от кольца на безымянном. Протянул её мне.
Как для рукопожатия.
Я смотрел на неё. Рука, которая вчера легла Палычу на плечо. Рука, от которой Палыч стал серым.
— Не бойся, — сказал Аркадий Семёнович. — У тебя одиннадцать. То есть… — Он чуть наклонил голову. — Семьдесят один. Одеяло. Неважно. Ниже порога. Я не могу тебя взять. Даже если коснусь.
Я пожал ему руку.
Она была тёплая. Обычная человеческая рука. Чуть шершавая. Сухая, как бумага.
И в ту секунду, когда я её коснулся, — я увидел его лицо.
Не то место, куда не смотришь. Лицо. Человека лет шестидесяти. Худого, с запавшими щеками. Седые волосы зачёсаны назад. Очки в толстой роговой оправе — как у Палыча, только старше. Глубокие морщины у рта. Глаза — серые, светлые, очень усталые.
Лицо инженера. Начальника отдела, который двадцать пять лет назад нажал кнопку.
Потом он убрал руку — и лицо снова стало тем местом, куда не смотришь.
* * *
Мы сели. Прямо на сетку. Он — на краю Пустыря. Я — на краю асфальта. Напротив.
— Расскажите, — сказал я.
— Ты знаешь половину. От Стрельникова. — Он помолчал. — Олег хорошо рассказывает. Он всегда хорошо рассказывал. Он вёл у нас планёрки.
— Он сказал, вы спасли этот мир.
— Да, — сказал Аркадий Семёнович. Просто. — Спас. Тест разваливался. Он не был рассчитан на жизнь. Я сделал Откат. Каждую ночь — к эталону. Чтобы ничего не рассыпалось.
— Костылём.
— Костылём. Тогда я не знал этого слова. Я был администратором — у меня были права. Я думал, права — это значит можно. Без цены. — Он помолчал. — Права — это значит, что ты можешь повесить цену на других. Но я не знал как. Олег потом научился. Я — не успел. Я поставил Откат — и вся цена легла на меня.
— Сколько?
— Миллион сорок восемь тысяч пятьсот семьдесят шесть, — сказал он. Без запинки. Как номер телефона, который помнишь всю жизнь. — Технического долга.
Я молчал. Цифра не помещалась в голове.
— Порог взыскания — сто, — сказал Аркадий Семёнович. — А у меня — миллион. Меня должно было взыскать. Сразу. В ту же секунду. Но меня некому было взыскать. Взыскателя в Системе не было. Он не был предусмотрен. Никто не думал, что кто-то наберёт столько.
— И что Система сделала?
— То, что делает любая система, когда не знает, что делать с ошибкой. — Он развёл руками. — Обработала исключение. Нашла ближайшее подходящее правило. «Должник, чей долг не может быть взыскан, назначается взыскателем до полного погашения».
Назначается взыскателем.
— Ты… — Я сглотнул. — Вы — должник.
— Я — должник, — согласился он. — Самый большой в истории контура. И я — взыскатель. Я хожу по городу. Собираю чужие долги. Всё, что взыскиваю, — идёт в счёт моего. Стас. Банкомат. Двести с лишним человек за двадцать пять лет. Вчера — твой Пётр Павлович.
— Сколько вы погасили?
— Шестнадцать тысяч триста.
Из миллиона.
Двадцать пять лет. Шестнадцать тысяч. Полтора процента.
— Ещё тысяча шестьсот лет, — сказал я. Тихо. — Если в том же темпе.
— Я считал, — сказал Аркадий Семёнович. — Тысяча пятьсот девяносто. Плюс-минус.
* * *
Я смотрел на него. На пальто. На руки в карманах. На лицо, на которое нельзя смотреть.
— Вы помните их всех? — спросил я. — Кого взяли?
— Всех.
— Палыча?
— Петра Павловича, — поправил он. Мягко. — Да. Он был первый. За двадцать пять лет — первый, кто заплатил полностью. Сам. Не потому что перевалил. А потому что посчитал. — Он помолчал. — Я двадцать пять лет ждал, что кто-нибудь так сделает. Не дождался. А потом пришёл старик в вязаной жилетке и сказал «я всегда плачу полностью. Привычка».
— Поэтому вы сказали «полностью».
— Поэтому. — Он кивнул. — Остальным я говорю «взыскано». Никому — «полностью». Это было не правило. Это было… — Он поискал слово. — Уважение.
Я опустил голову. Мне было больно, и я злился, и я не знал, на кого злиться. На него? Он был функцией. Обработкой исключения. На Олега Валентиновича? Тот повесил на шаурмичную сто двадцать. На себя? Я входил. Я ночевал. Я не посмотрел вовремя.
— Где он? — спросил я. — Палыч. Куда вы их деваете?
— В архив.
— Какой архив?
Аркадий Семёнович чуть приподнял полу пальто. Совсем чуть-чуть. Под ним — не было тела. Была темнота. И в темноте — полки. Бесконечные. Уходящие вниз и вверх. С папками. С коробками. С пожелтевшими листами.
Пахнуло пылью и старой бумагой.
Он опустил полу.
— Архив, — сказал он. — Всё, что взыскано, хранится. Не удаляется. Это не Откатыши — те удалены, их выплёвывает обратно мусором. Взысканное — хранится. До полного погашения основного долга.
— А потом?
— Не знаю, — сказал он. — Никто ещё не доходил до «потом».
* * *
— Данила, — сказал я. — Что вы ему сказали? Двадцать один год назад?
— То же, что тебе. Имя. Историю. Цифру.
— И что он сделал?
Аркадий Семёнович помолчал. Долго.
— Он сел вот так же, — сказал он. — Напротив. И сказал: «Аркадий Семёнович, я вас вытащу».
— Вытащит?
— Он придумал, как. — Голос у Аркадия Семёновича стал тише. — Откат — это костыль. Он действует до ближайшего Отката. Сам себя поддерживает — каждую ночь продлевается. Как твои ставни. Как его холодильник. Но если поставить новый костыль, который его выключит…
— То он будет действовать до ближайшего Отката, — сказал я. Медленно. Сердце застучало. — А Отката больше не будет. Потому что он выключен.
— Вечный, — сказал Аркадий Семёнович. — Твоя змея, которая кусает себя за хвост. Он мне так и нарисовал. На сетке. Пальцем.
— А долг?
— А долг Отката перейдёт к тому, кто его изменит. — Он посмотрел на меня. Я чувствовал этот взгляд. — Как банкомат к тебе. Как дверь к Стасу. Кто трогает чужой костыль — тот берёт его долг.
— Весь миллион.
— Весь миллион. И я — свободен. Потому что мой долг уйдёт к нему. Я перестану быть взыскателем. Я снова стану… — Он не договорил.
— Человеком, — сказал я.
— Начальником отдела информатизации, — сказал Аркадий Семёнович. С какой-то странной, сухой нежностью. — На пенсии. Наверное.
* * *
— А Слияние? — спросил я. — Олег Валентинович сказал, Данила хотел разорвать связь. Навсегда. Замуровать всех.
Аркадий Семёнович покачал головой.
— Олег не дослушал, — сказал он. — Он никогда не дослушивал. На планёрках тоже. — Пауза. — Данила хотел разорвать связь. Да. Чтобы Слияния не было. Чтобы этот мир — с Откатом или без — никогда не попал в продуктив. Это правильно. В продуктиве не откатывают.
— Он так и сказал Олегу.
— Он так и сказал. Но у него было второе. Патч позволяет одно постоянное изменение. Одно. Больше Система не даст, пока долг не закрыт. Данила хотел сделать его так: разорвать связь — кроме одной двери.
— Одной двери.
— Двери домой. — Аркадий Семёнович посмотрел в сторону города. — Через неё каждый мог бы уйти. Сам. По своей воле. Когда захочет. Не обнулённым. Не фоновым. Самим собой. А Изнанка — осталась бы. Отдельно. Без Отката. Без Слияния. Просто мир. Странный, кривой, на костылях — но мир. Для тех, кто захочет остаться.
Я молчал.
Дверь домой. Гоша — к маме. Ника — к той женщине. Кирилл — роутер обновить.
Не через обнуление. Не с метлой. Сами.
— Олег не дослушал, — повторил Аркадий Семёнович. — Он услышал «разорвать связь» и испугался. За свою мечту. За свой чистый мир. И пока Данила тянулся к люку — Олег встал у него за спиной и поставил лаг.
— Вы видели?
— Я был там. — Голос стал совсем тихим. — Я всегда там, когда начинается Откат. Там, у источника. Это моё место. Я видел, как Данила тянется к люку. Видел, как Олег поднимает руку. Я мог… — Он замолчал.
— Что вы могли?
— Ничего, — сказал Аркадий Семёнович. — У Данилы было девяносто четыре единицы долга. Ниже порога. Я не мог его взять. А Олег — администратор. Его долг — в объектах. Его я тоже не мог взять. Я стоял в трёх шагах и ничего не мог. Я — функция, Алексей. Я могу только взыскивать.
* * *
Мы сидели долго. Небо над городом было светло-серым. Утро.
Где-то за моей спиной, в городе, Гоша, наверное, уже проснулся. Сидел на бордюре под одеялом за шестьдесят единиц. Не помнил Палыча.
— Если я это сделаю, — сказал я. — Пятый уровень. Исходный код. Патч — разорвать связь, оставить дверь. Костыль — выключить Откат. Миллион — на меня.
— Да.
— Что со мной будет?
Аркадий Семёнович долго не отвечал.
— Я не знаю точно, — сказал он. — Но предполагаю. Без Отката в тесте не будет взыскателя. Я перестану им быть, а нового Система не назначит — нечего обрабатывать. Тест станет миром без взыскания. А долг — останется. Миллион. На тебе.
— И?
— Система не любит долг, который нельзя взыскать. Она его… передаст. Туда, где взыскивать можно.
— В продуктив, — сказал я.
— В продуктив, — согласился он. — Через твою же дверь. Тебя туда выкинет. Вместе с долгом. Что там с тобой будет — не знаю. Я никогда не был в продуктиве должником. Только в тесте.
Я смотрел на сетку под ногами. Белые линии. Квадраты.
— Данила знал? — спросил я.
— Знал.
— И всё равно шёл?
— И всё равно шёл. — Аркадий Семёнович помолчал. — Он сказал: «Аркадий Семёнович, ну это же просто долг. Долг — это когда есть кому отдавать. Значит, ещё не всё кончено».
Я засмеялся. Тихо. Не смог удержаться. Это было так по-айтишному. Так по-данилиному. Так по-моему.
— Почему вы мне всё это рассказываете? — спросил я. — Вы — функция. Взыскатель. Вам должно быть всё равно.
Аркадий Семёнович встал. Медленно. Пальто колыхнулось.
— Потому что ты спросил, как меня зовут, — сказал он. — За двадцать пять лет — второй. Данила оставил тебе надпись за холодильником. Я её видел. Я много чего вижу — я хожу везде. — Пауза. — Он знал, что я тебе расскажу. Если ты спросишь. Он на это рассчитывал.
— Он вам доверял.
— Он мне доверял, — сказал Аркадий Семёнович. — Взыскателю. Человеку, который ходит по городу и забирает людей. Странный был мальчишка.
Он помолчал.
— Как ты, — сказал он.
* * *
Он ушёл так же, как пришёл. Был — и не был.
Я сидел на краю Пустыря ещё долго. Потом встал. Пошёл обратно в город.
На ходу я открыл коленкоровый блокнот Палыча. На последнюю страницу. «Ошибся в оценке. Сильно. — П.П.».
И под этой строкой, карандашом, который нашёл в кармане фартука, написал:
«План.
1. Пятый уровень. Нулевой км, водолечебница. ~2 000 ошибок.
2. Данила — снять лаг? 380. Нет. Потом. Когда не будет Отката — лаг Модератора тоже, может быть, упадёт. Проверить.
3. Исходный код. Только во время Отката. Модератор будет там.
4. Патч: разорвать связь ТЕСТ–ПРОД. Кроме одной двери.
5. Костыль: выключить Откат. Миллион — на меня.
6. Аркадий Семёнович — свободен.
7. Архив — ?
8. Я — в прод. С долгом.
Кому сколько. Кого ждут.
— Л.»
Я посмотрел на столбик. Восемь пунктов. Как техзадание.
Палыч бы сказал: «Опасно». Щёлкнул бы костяшками. Посчитал бы, сколько это стоит. Посмотрел бы на меня поверх очков.
А потом сказал бы: «Я не учу. Я считаю». И начал бы считать вместе со мной.
Я закрыл блокнот.
* * *
Гоша сидел на бордюре. Под одеялом. Ждал.
Увидел меня. Встал.
— Ты куда ходил? — спросил он.
— К Серому.
Гоша моргнул.
— Зачем?
— Спросить, как его зовут.
— И как?
— Аркадий Семёнович, — сказал я. — Он хороший человек, Гоша. Он просто очень много должен.
Гоша подумал. Кивнул. Как будто это всё объясняло. Может, для Гоши и объясняло.
— Лёша, — сказал он. — А что теперь?
Я посмотрел на шаурмичную. На ставни — вечные, поднятые. На вывеску «У Ашота». На окно, за которым на кухне гудел холодильник Данилы. Мы больше не могли туда войти. Сто двадцать чужих единиц висели на нашем доме, как замок.
Я посмотрел на небо.
Ожидающее обновление: [Слияние контуров].
Готовность: 82%.
— Теперь, Гоша, — сказал я, — нам нужна армия.
— Армия?
— Армия. Кремень. Его сорок бойцов. Кирилл. — Я помолчал. — И курьеры.
Гоша посмотрел на меня. Долго. Своими круглыми, честными глазами.
— Курьеры, — повторил он. — Это где Ника.
— Это где Ника.
— Ты к ней пойдёшь?
— Пойду.
— А что скажешь?
Я подумал. Честно. Долго. Как Гоша.
— Спрошу, — сказал я. — Перед тем как просить. Сначала — спрошу.
Гоша улыбнулся. Первый раз за эти сутки.
— Это правильно, — сказал он. — Мне кто-то так говорил. Недавно. Я не помню кто.
Я не ответил. Взял два блокнота и счёты. Повесил счёты на шею, на шнурке, чтобы не потерять. Они стукнули о фартук.
Щёлк.
Технический долг: 71.
Уровень: 4.
До следующего уровня: 2 008.
Конец второй части.
Глава 21. Возвращение Ники
Почтамт стоял на другом конце города. Старое здание с колоннами и часами на фронтоне. Часы показывали без четверти три. Всегда. Двадцать один год.
У входа сидели двое. Парень в велосипедном шлеме и девушка с самокатом. Оба вскочили, когда увидели меня. Потом увидели Гошу за моей спиной — и сели обратно. Медленно.
— Ты повар, — сказал парень.
— Я повар.
— Тебя Диспетчер ждёт. Сказала — если придёт, пропустить.
— Откуда она знала, что я приду?
Парень пожал плечами.
— Она всегда всё знает. Она Диспетчер.
* * *
Внутри почтамт был похож на муравейник. Огромный операционный зал, высокий потолок, окошки с табличками «Приём посылок», «Выдача», «Переводы». У окошек — люди. Человек тридцать. Все в движении. Кто-то бегал с коробками. Кто-то сидел на полу и разбирал свёртки. Кто-то спал на скамейке, укрывшись курьерской сумкой.
На стене — огромная карта города. Бумажная, расчерченная маркером. Красные зоны — лаги. Синие — опасные кварталы. Зелёные стрелки — маршруты. И флажки. Десятки флажков на булавках, с именами.
У карты стояла женщина. Лет сорока пяти, крупная, в спортивном костюме. На голове — гарнитура. Наушник с микрофоном. Провод ни во что не был подключён — болтался у пояса. Но она держала руку у уха, как будто слушала.
— Повар, — сказала она, не оборачиваясь. — Ты на сорок минут раньше, чем я думала.
— Мы быстро шли.
— Вижу. — Она обернулась. Лицо — широкое, усталое, умное. Глаза — внимательные, как у таксиста, который в пробке знает все объезды. — Марго. Диспетчер. Я тридцать лет на такси диспетчером сидела. Пока сюда не попала. Привычка осталась.
Она постучала пальцем по гарнитуре.
Пользователь: Маргарита.
Класс: Диспетчер.
Уровень: 16.
Навык (известный): «Маршрут». Позволяет знать местоположение пользователей своей группы.
— Ты к Нике, — сказала Марго.
— К Нике.
— Она не хочет тебя видеть.
— Знаю.
— Тогда зачем пришёл?
— Спросить, — сказал я. — Можно ли с ней поговорить. Если нельзя — уйду.
Марго смотрела на меня. Долго. Потом сняла гарнитуру и повесила на шею.
— Спросить, — повторила она. — Ладно. Сейчас спрошу.
* * *
Ника вышла через десять минут.
Из бокового коридора. В новой куртке — оранжевой, с логотипом курьерской службы, которой здесь не было уже двадцать лет. Волосы — в хвосте, на резинке от денег. На поясе — нож. На руке — новая повязка, чистая.
Она остановилась в пяти шагах. Посмотрела на меня. Потом — на Гошу.
— Гош, — сказала она. И лицо у неё на секунду стало мягким.
— Привет, Ника, — сказал Гоша.
Потом она снова посмотрела на меня. И мягкость ушла.
— Марго сказала, ты спросил.
— Спросил.
— Это что-то новое.
— Это что-то новое, — согласился я.
Она стояла. Ждала. Скрестила руки.
— Ника, — сказал я. — Можно я тебе кое-что расскажу? Это долго. Это плохо. Если не хочешь — скажи, я уйду.
Она молчала. Смотрела.
— Говори, — сказала она наконец.
* * *
Мы сели на скамейку у стены. Под картой. Я — с одного края. Она — с другого. Гоша встал рядом, как всегда. Марго ушла к своим флажкам, но я видел, что она слушает.
Я начал с мэрии. С Олега Валентиновича, кабинета с фикусом, синего бейджа на зелёном сукне. Со Слияния — с того, что Кирилл прочитал в спецификации. «Прочие записи тестового контура удаляются».
Ника слушала. Лицо не менялось.
Потом — шаурмичная. Сто двадцать единиц на ней. Пятьдесят процентов за вход. Сто пятьдесят семь.
Ника нахмурилась.
— Сто пятьдесят семь — это выше порога.
— Выше.
— Тогда почему ты живой?
Я замолчал.
Вот это была самая тяжёлая часть. Я знал, что так будет. Шёл через весь город и знал.
— Потому что за меня заплатили, — сказал я. — Палыч.
Ника смотрела на меня. Без выражения.
— Кто?
Мир не качнулся. Я был готов. Но всё равно стало больно — тупо, глухо, как от удара в старый синяк.
— Пётр Павлович, — сказал я. — Счетовод. Он жил с нами. В шаурмичной. С первой недели. Он оценил тебя, когда ты уходила. Сказал «шестьсот сорок». Ты его поцеловала в макушку.
Ника смотрела на меня. Потом — на Гошу. Гоша развёл руками.
— Я тоже не помню, Ника, — сказал он. — Лёша говорит — был. Я верю.
— Его взяли, — сказал я. — Серый. Он сам отдал себя. Залогом. Чтобы покрыть наш долг. Мой. Гошин. Когда взыскивают — все забывают. Все, кроме меня. Мне первый уровень дал… — Я махнул рукой. — Неважно. Я помню.
Ника молчала. Долго.
— Это бред, — сказала она наконец. Но голос был неуверенный.
Я достал из кармана фартука коленкоровый блокнот. Открыл. Нашёл страницу. Апрель этого года.
Протянул ей.
Она взяла. Нехотя. Посмотрела.
Аккуратный почерк. Бухгалтерский. Столбиком.
«Ника (фамилия не указана). Курьер. Нажала «Доставлено» (новое приложение). Апрель 2026. Цена при приходе — 140. Через полгода — 640. Быстро растёт. Злая, потому что виноватая. Хорошая девочка. Довезёт. — П.П.»
Ника читала. Долго. Перечитывала. Губы шевелились.
«Злая, потому что виноватая».
«Довезёт».
Я видел, как у неё дрожат пальцы на странице.
— Я не знаю, кто это писал, — сказала она. Шёпотом. — Я не знаю, Лёша. Я не помню.
— Знаю.
— Но это… — Она подняла на меня глаза. Они были мокрые. — Это про меня. Это правда про меня. Кто-то знал. Кто-то так про меня думал. А я не помню.
Она заплакала. Не громко. Не всхлипывая. Просто слёзы потекли по щекам и закапали на страницу. На «довезёт».
Я не стал её трогать. Не стал говорить «всё будет хорошо». Гоша поставил рядом с ней на скамейку свою фляжку с водой. Тихо, как когда-то я ставил главбуху чай.
* * *
Когда она перестала плакать, я рассказал остальное.
Про Аркадия Семёновича. Про миллион. Про «назначается взыскателем». Про архив под пальто. Про Данилу на Пустыре: «Аркадий Семёнович, я вас вытащу». Про дверь.
Про план. Восемь пунктов. Я показал ей страницу в блокноте Палыча, где написал их карандашом.
Ника читала. Внимательно. Пункт за пунктом. Дошла до восьмого.
«Я — в прод. С долгом».
Подняла голову.
— Миллион, — сказала она. — Ты собираешься взять на себя миллион.
— Да.
— И тебя выкинет туда. В прод. С этим.
— Да.
— И что там будет?
— Не знаю.
Ника смотрела на меня долго. Я видел, как в ней борются злость и что-то другое.
— Зачем ты пришёл? — спросила она. — Только честно.
— За помощью, — сказал я. — Мне нужны курьеры. Марго. Ты. Во время Отката. Связь. Скорость. Без вас — не получится. Кремень не успеет. Гоша не успеет. Никто, кроме вас, не может пересечь город за ночь.
— Ты пришёл попросить.
— Я пришёл спросить, — поправил я. — Можно ли попросить. Ты можешь отказаться. Я пойму. Я тебя… — Я запнулся. — Я тебе должен. Двадцать. И больше, чем двадцать. Я не имею права просить. Поэтому спрашиваю.
Ника молчала.
— Двадцать, — сказала она наконец. — Я их отработала. За три ночи. Сама. Марго мне показала, как. Курьеры, оказывается, могут гасить долг доставками. Чужими. Срочными. — Она пожала плечами. — Я довезла сорок посылок через лаги. Двадцать четыре единицы.
— Знаю. Видел. Там ноль.
— Ты на меня смотрел? «Логом»?
— Как только вошёл. — Я помолчал. — Прости. Это тоже надо было спросить.
Ника фыркнула. Почти засмеялась.
— Ты исправляешься, Отладчик, — сказала она. — Медленно. Но исправляешься.
* * *
Марго подошла, когда мы замолчали. Встала напротив. Гарнитура на шее.
— Я всё слышала, — сказала она. — Извини. Профессиональное.
— Ничего.
— Миллион, — сказала Марго. — Слияние. Обнуление. Восемьдесят два процента. — Она помолчала. — У меня тридцать человек, повар. Самые быстрые в Изнанке. И все они хотят домой. Каждый. Каждый день кто-нибудь меня спрашивает: «Марго, а когда домой?» А я им говорю: «Довезём эту — и поедем». Тридцать лет так таксистам говорила.
— Я могу дать дверь, — сказал я. — Если получится. Не обещаю. Но — могу.
— Через обнуление?
— Без. Сами. Как есть.
Марго смотрела на меня. Потом — на карту на стене. На флажки.
— Мне кто-то рассказывал про тебя, — сказала она. — Давно. Что ты на вокзале научил сорок бойцов бить в швы. Что Толян теперь орёт осмысленно. Что ты вернул всему рынку минуты из банкомата. — Она помолчала. — Я думала — байки. Курьеры любят байки.
— Это не байки.
— Вижу. — Она надела гарнитуру. — Ладно, повар. Курьерская служба в деле. Но с условием.
— Каким?
— Наши маршруты — наши. Куда бежать, когда, как — решаю я. Ты говоришь, что нужно доставить. Я решаю, как. Без костылей на моих людях. Без посредников. Ни одной единицы — на курьера. Понял?
Я посмотрел на Нику. Ника смотрела на меня.
— Понял, — сказал я. — Ни одной.
— Тогда договорились. — Марго протянула руку. Крепкую, мозолистую. Я пожал.
* * *
Ника проводила нас до дверей. Молча. У выхода остановилась.
— Где вы теперь живёте? — спросила она. — Если шаурмичная…
— В библиотеке. В подвале. Там Данилин фильтр. Администраторы не видят, кто внутри.
— Холодно там?
— Нормально. Лампа горит.
Ника кивнула.
— Лёша, — сказала она. — Пётр Павлович. Какой он был?
Я подумал.
— Маленький, — сказал я. — Сухой. В очках. В вязаной жилетке. Рубашку каждый вечер стирал — чистая, с воротником. Счёты носил под мышкой. — Я снял счёты с шеи. Показал. — Вот эти. Говорил «я не учу, я считаю». Врал один раз за пятнадцать лет — ради меня. Тебе сказал правду про долг — ты спросила, он не смог промолчать. Потом извинялся.
Ника смотрела на счёты. Протянула руку. Коснулась костяшек — осторожно, кончиками пальцев.
Щёлк.
Она вздрогнула.
— Я… — Она нахмурилась. — Мне кажется, я это слышала. Этот звук. Много раз.
— Слышала.
— Но не помню.
— Не помнишь.
Ника убрала руку. Постояла.
— Ты его вернёшь? — спросила она. — Если всё получится? Если этот твой Аркадий Семёнович станет свободным — архив…
— Не знаю, — сказал я. Честно. — Может быть, хотя бы память. Может быть — ничего. Я не знаю, Ника.
— Ладно, — сказала она. — Тогда так. Если не вернёшь — расскажешь мне. Всё. С самого начала. Как Гоше. Я хочу помнить. Хотя бы с твоих слов.
— Расскажу.
— Обещаешь?
Я подумал. Гоша бы такое обещал, только если уверен.
— Обещаю, — сказал я. — Это я могу. Это в моих силах.
Ника кивнула. Повернулась, чтобы уйти. Остановилась. Обернулась через плечо.
— И ещё, Отладчик, — сказала она.
— Что?
— Ты мне должен шаурму. Две. Одну — за первый день, которая «не считается». Одну — за то, что я вернулась.
— Ты вернулась?
— Курьерская служба в деле, — сказала Ника. — Я — курьерская служба. Значит, вернулась. Запиши.
— Записал, — сказал я.
* * *
Мы шли обратно через весь город. Я и Гоша. Небо над водолечебницей было светло-серым. До вечера — несколько часов.
— Она вернулась, — сказал Гоша. Довольно.
— Вернулась.
— Это хорошо.
— Это очень хорошо, Гоша.
Мы прошли мимо шаурмичной. Ставни — подняты. Вывеска — «У Ашота». В окне — тёмная кухня. Холодильник Данилы гудел там один. Мы не могли войти. Сто двадцать единиц чужого долга висели на нашем доме.
Я остановился. Посмотрел на шаурмичную «Логом».
Объект: Шаурмичная «У Ашота».
Технический долг объекта (размещённый): 120.
Перенос на пользователей объекта: 50% при каждом входе.
А потом посмотрел ниже. Туда, где мелким шрифтом.
Холодильник: содержимое восстановлено.
Курица маринованная — 3 кг.
Лаваш — 1 упаковка.
Две шаурмы. Я должен был Нике две шаурмы.
Войти — шестьдесят единиц. Мой долг — семьдесят один. Сто тридцать один.
— Нет, — сказал я вслух. — Не сейчас. Потом.
Гоша посмотрел на меня.
— Потом — это когда?
— Когда выключу Откат, — сказал я. — Тогда этот долг будет — ничей. Тогда войду. И сделаю ей две шаурмы. Самые лучшие. С кинзой.
Гоша подумал.
— Это хороший план, — сказал он.
— Это лучший пункт плана, Гоша, — сказал я. — Девятый. Я его только что придумал.
Я открыл блокнот Палыча. На странице с планом, под восьмым пунктом, дописал:
«9. Две шаурмы — Нике. С кинзой».
Щёлк, — сказали счёты у меня на шее, ударившись о фартук.
Ожидающее обновление: [Слияние контуров].
Готовность: 83%.
Глава 22. План «Б»
— У меня гость, — сказал я Кременю.
Мы стояли в его кабинете. Карта на стене. Графин на столе. Кремень — у окна, смотрит на площадь.
— Какой гость?
— Белая рубашка. Кирилл. Тот самый. Он придёт через десять минут. Сюда. Если ты разрешишь.
Кремень обернулся. Медленно.
— Ты мне говоришь до, — сказал он.
— Ты просил — до. Я говорю до.
Кремень смотрел на меня долго. Шрам на щеке не двигался.
— А если я скажу — нет?
— Тогда я пойду и скажу Кириллу, что нет. И мы будем разговаривать без него. Только будет хуже. Он знает, где у мэрии двери. И какие из них не заперты.
Кремень помолчал. Потом подошёл к столу. Налил себе из графина.
— Толян, — сказал он, не повышая голоса.
Дверь открылась. Толян заглянул.
— Через десять минут придёт пацан в белой рубашке. Пропусти. Не бей. Обыщи — и пропусти.
Толян моргнул.
— В белой рубашке?
— В белой рубашке, Толян. Не бей.
Толян закрыл дверь. За дверью было слышно, как он говорит кому-то: «Слышь, в белой рубашке. Не бить. Я сам не понял».
* * *
Через полчаса в кабинете Кременя было тесно.
Кремень — за столом. Толян — у двери, с битой. Марго — у карты, в гарнитуре. Ника — на подоконнике, как на кухонном столе в шаурмичной. Гоша — на полу, потому что стулья его не выдерживали. Я — у стены, с блокнотами и счётами.
И Кирилл.
Он стоял посреди кабинета, сжимая в руках свой жёлтый бейдж. Снял, как только вошёл. Держал, как держат билет, который боятся потерять. Рубашка была мятая. Лицо — белее рубашки.
— Говори, — сказал Кремень.
Кирилл сглотнул.
— Готовность — восемьдесят пять, — сказал он. — Сегодня утром. За последнюю неделю — плюс шесть. Это быстрее, чем было. Модератор приказал увеличить нагрузку на пункт обнуления. Тридцать человек в день.
— Откуда тридцать? — спросила Марго. — Столько добровольцев нет.
— Не добровольцев, — сказал Кирилл. Тихо. — Он готовит что-то. Эдуард говорил — «аудит». Я не знаю, что это. Мне не говорят. Я первая линия. Стажёр.
Кремень щёлкнул пальцами по столу.
— Когда сто?
— Если так же — через три недели. Если быстрее — через две.
Тишина.
Я развернул на столе карту. Не Кременя — свою. Нарисованную на развороте коленкорового блокнота Палыча, поверх его последних столбиков. Город. Вокзал. Мэрия. Водолечебница. Почтамт. Библиотека.
— Вот, — сказал я. — Вот что я хочу сделать.
* * *
Я рассказывал долго. Медленно. По пунктам. Как рассказывают на планёрке план внедрения, который заведомо не уложится в сроки.
Пункт первый. Пятый уровень.
— Мне не хватает две тысячи ошибок, — сказал я. — Водолечебница. Днём — тысяча, может, полторы. Остальное — во время Отката, у самого источника. Там их столько, что «Лог» не успевает выводить.
— Ты пойдёшь туда днём? — спросила Ника.
— Завтра. С тобой и с Гошей. Если вы согласны.
Ника кивнула. Гоша — тоже.
Пункт второй. Ночь.
— Исходный код открывается только во время Отката, — сказал я. — Люк под плитой Нулевого километра. В водолечебнице. Я должен быть там, когда начнётся Откат. И у меня должно быть время. Час. Может, два.
— Модератор будет там, — сказал Кирилл. Быстро. — Он всегда там во время Отката. Каждую ночь. Сидит рядом с… с тем человеком. В лаге.
— Знаю, — сказал я. — Это я учёл.
— Как?
— Потом. Это отдельный пункт.
Пункт третий. Мэрия.
— Пока я внизу — наверху не должно быть подкрепления. Эдуард, сто белых рубашек на первой линии. Если они придут в водолечебницу — я не успею. — Я посмотрел на Кременя. — Мне нужно, чтобы им было чем заняться. В ту же ночь.
Кремень смотрел на мою карту. На мэрию, обведённую карандашом.
— Ты хочешь, чтобы я штурмовал мэрию, — сказал он.
— Я хочу, чтобы ты стучал в дверь мэрии. Очень громко. Так громко, чтобы все белые рубашки побежали её держать.
— Это одно и то же, повар.
— Нет, — сказал я. — Штурм — это когда хочешь войти. А стук — это когда хочешь, чтобы тебя слушали. Тебе не надо войти. Тебе надо, чтобы они думали, что ты хочешь войти.
Кремень молчал. Пил из стакана.
— Сорок бойцов, — сказал он. — Ночью. Во время Отката. С Откатышами на улицах. Перед мэрией, у которой периметр.
— Периметр я сниму, — сказал Кирилл.
Все посмотрели на него.
— Я… — Кирилл покраснел. — Я младший администратор. У меня есть право закрывать тикеты. Свои и… — он сглотнул, — чужие, если меня назначат соисполнителем. Периметр мэрии — это тоже тикет. Постоянный. «Защита административного центра». Если меня назначат — я могу его закрыть. Как Алексей закрыл тот, на площади. Только у меня — право. Без долга.
— А кто тебя назначит?
— Эдуард. Он всех стажёров ставит соисполнителями на постоянные тикеты. Для обучения. Я попрошу. Скажу — хочу научиться.
Кремень смотрел на Кирилла. Долго, тяжело. Кирилл не отводил глаз. Это стоило ему, видимо, всех сил.
— Ты понимаешь, что с тобой будет, если узнают? — спросил Кремень.
— Понимаю, — сказал Кирилл. — Метла. Как Стёпа.
— И всё равно?
— Я обновлял маме роутер, — сказал Кирилл. — Она меня попросила. Это была очень простая просьба. Я её не выполнил. Два года прошло. Она там сидит без интернета. Наверное, думает, что я её бросил. — Он помолчал. — Если есть хоть какая-то дверь… Я хочу домой. Не с метлой. Сам. Обновить ей роутер.
Гоша на полу поднял голову. Посмотрел на Кирилла. Долго.
— Я тоже, — сказал Гоша. — К маме. Сам.
Кирилл посмотрел на Гошу. Огромного, сидящего на полу. Кивнул.
Кремень поставил стакан.
— Ладно, — сказал он. — Стучим.
* * *
Пункт четвёртый. Связь.
— Марго, — сказал я. — Мне нужно знать, что происходит у мэрии, когда я внизу. И им — что происходит у меня. Каждые десять минут. Через лаги, через Откатышей, через весь город. Ночью.
Марго смотрела на свою карту на стене. Не на мою — на свою, у неё в голове. Я видел, как её глаза бегают по невидимым маршрутам.
— Шесть человек, — сказала она. — На эстафету. Вокзал — почтамт — мост — сквер — Пушкина — водолечебница. Через Пушкина — потому что там фонарь, Откатыши его обходят. Это ваш Данила сделал?
— Данила.
— Хороший был мужик, — сказала Марго. — Я каждый день по этому фонарю маршрут строю. Восемь минут на круг. Если без потерь.
— А если с потерями?
— С потерями — дольше, — просто сказала Марго. — Курьеры знают, что такое потери, повар.
Пункт пятый.
— Модератор, — сказала Ника. — Ты сказал — отдельный пункт.
— Отдельный пункт, — согласился я.
— Говори.
Я помолчал.
— Модератор будет внизу, — сказал я. — Рядом с Данилой. Он меня ждёт. Он думает, что я приду ставить Патч Слияния. Ему нужен пятый уровень, ему нужен я, ему нужна моя рука на консоли. Он меня пропустит. Сам откроет люк, если понадобится.
— А потом?
— А потом — он будет стоять у меня за спиной. Как стоял у Данилы.
Тишина.
— И что ты сделаешь? — спросил Кремень.
— Я буду не один, — сказал я.
— С кем?
— С Аркадием Семёновичем.
Ника вздрогнула. Марго сняла гарнитуру. Толян у двери перекрестился — неумело, слева направо.
— С Серым? — переспросил Кремень. Тихо. — Ты собираешься взять с собой Серого?
— Он и так там будет. Это его место. Он стоит у источника каждую ночь, когда начинается Откат. Он сам мне сказал.
— Он на чьей стороне?
— Ни на чьей, — сказал я. — Он — функция. Он может только взыскивать. Но в ту секунду, когда я выключу Откат, — у него будет одна секунда. Пока он ещё взыскатель. А у Модератора…
Я посмотрел на Кирилла.
— Кирилл, сколько у Модератора долга? В объектах?
— Я не знаю точно. Эдуард говорил — много. Тысячи.
— Девять тысяч четыреста двенадцать, — сказал я. — Я видел. В кабинете. Девять тысяч. Распиханы по банкоматам, скамейкам, шаурмичным. — Я помолчал. — А права администратора — они откуда? Кирилл?
Кирилл нахмурился.
— Мы… нас перенесло под админской учёткой. Так говорят.
— Учётка — в Системе, — сказал я. — В тестовом контуре. С Откатом. Аркадий Семёнович сделал Откат под админской учёткой. Откат — это фундамент всех админских прав здесь. Каждая блокировка, каждый лаг, каждое обнуление — это изменение в контуре, который каждую ночь откатывается к эталону. Всё держится на Откате.
— И если Откат выключить… — медленно сказала Ника.
— Права администратора — останутся, — сказал я. — Но перестанут работать так, как сейчас. Без Отката нельзя размещать долг в объектах. Потому что «объект» — это то, что откатывается. А если ничего не откатывается — объекты становятся просто вещами. Вещь не может держать долг. Долг вернётся. Владельцу.
— Девять тысяч, — сказал Кремень.
— Девять тысяч — Олегу Валентиновичу. В одну секунду. Девяносто порогов взыскания.
— А у Серого — одна секунда.
— А у Аркадия Семёновича, — сказал я, — одна секунда.
* * *
Кремень долго смотрел на мою карту в блокноте.
— Повар, — сказал он. — А если не сработает?
— Тогда всё, — сказал я. — Тогда меня поставят на колени у консоли. Как Данилу. Только я, наверное, успею поставить Патч Слияния. Потому что они найдут, чем меня заставить.
Я посмотрел на Нику. Она поняла. Отвернулась к окну.
— Что ты будешь делать, если тебя заставят? — спросил Гоша.
Я подумал.
— Не знаю, Гоша. Надеюсь, не узнаю.
— Это правда, — кивнул Гоша. — Я тоже бы не знал.
* * *
Пункт шестой. Дверь.
— Если всё получится, — сказал я, — будет дверь. Одна. Патч позволяет одно постоянное изменение. Разорвать связь — кроме одной двери. Через неё можно будет уйти. Каждому. Самому.
— Где будет дверь? — спросила Марго.
— Не знаю. Я ещё не выбрал.
— А надо?
— Надо. Патч требует объект. Дверь — это объект. Какой — я должен указать.
— Тогда выбери хорошую, — сказала Марго. — Чтобы не в лаге. Чтобы курьеры могли к ней провести.
Я кивнул. Записал в блокнот: «Дверь — выбрать».
Пункт седьмой. Дата.
— Готовность растёт, — сказал Кирилл. — Чем дольше ждём — тем ближе к ста.
— А мне нужно два дня, — сказал я. — Завтра — водолечебница, днём. Добрать уровень. Послезавтра — подготовка. И ночь.
— Ночь на четверг, — сказал Кремень. — Это через три дня.
— Ночь на четверг.
Кремень встал. Подошёл к карте на стене. Взял красный маркер. Нарисовал на мэрии крест. Большой, жирный.
— Ночь на четверг, — сказал он. — Стучим.
* * *
Водолечебница днём была такой же, как в первый раз. Улица-петля — шнурок на четырнадцатой липе. Двор с дублями. «Я» у фонтана говорил «не трогай, оно работает». «Гоша» держал руку у уха и говорил «мама, у меня всё хорошо». «Палыча» не было. Я посмотрел — его дубль исчез вместе с ним. Взыскано всё.
Зато был дубль Ники. Я его раньше не видел — в прошлый раз Ники с нами не было. Рыжая девушка в курьерской куртке стояла у фонтана и держала в руках телефон. Тыкала пальцем в экран. Раз, раз, раз. Одно и то же место.
— Что она делает? — спросила настоящая Ника. Тихо.
Я посмотрел.
Дубль пользователя «Ника».
Повторяющееся действие: нажатие кнопки «Отменить доставку».
«Отменить доставку». Не «Доставлено». Отменить.
Дубль Ники стоял у фонтана и полгода пытался отменить то, что она сделала. Раз, раз, раз. Кнопка не работала. Это была копия. Просто её желание.
Ника смотрела на свой дубль. Долго. Потом подошла. Встала напротив. Сказала:
— Хватит. Я сама. Я довезу.
Дубль не услышал. Продолжал нажимать.
Ника отвернулась и пошла дальше. Быстро. Не оглядываясь.
* * *
В водолечебнице я работал три часа.
Ходил между ванн. Смотрел. Читал. Каждый кран, каждую плитку, каждую струйку пара. Ника и Гоша стояли у входа, на страже. Иногда Ника подходила, спрашивала «сколько?». Я говорил цифру. Она кивала и уходила обратно.
Обнаружено ошибок за всё время: 4 980.
До следующего уровня: 532.
Пятьсот тридцать два. Всё, что можно было найти днём, — я нашёл. Остальное — только ночью. Только у самого источника. Когда пар густеет и Откат начинается.
Я подошёл к шару. К лагу. К Даниле.
Он стоял, как и раньше. На одном колене. Рука — в двух сантиметрах от плиты. Другая — откинута назад. Голова — через плечо. Очки — набок. Рот — открыт.
— Привет, Данила, — сказал я. — Это опять я. Л. Который про «Таинственный остров».
Он не ответил.
— Аркадий Семёнович мне всё рассказал, — сказал я. — Про дверь. Про змею. Про «это же просто долг». — Я помолчал. — Я попробую, Данила. В четверг. Если не получится — ну, будем стоять тут вдвоём. Ты на одном колене, я — на другом. Красиво будет. Как памятник.
Ника стояла у меня за спиной. Не смеялась.
— Он тебя слышит? — спросила она.
— Нет.
— Тогда зачем ты с ним говоришь?
Я подумал.
— Модератор говорит с ним каждую неделю. Двадцать один год, — сказал я. — Я подумал — Даниле, наверное, надоел один и тот же голос. Пусть будет другой.
Ника помолчала.
— Привет, Данила, — сказала она вдруг. Негромко. — Я Ника. Курьер. Спасибо за фонарь на Пушкина. Я по нему каждую ночь бегаю.
Гоша, стоявший у входа, тоже подошёл. Посмотрел на Данилу. Долго.
— Привет, — сказал Гоша. — Я Гоша. Танк. Спасибо за колонку. Вода хорошая.
Мы постояли. Трое. У шара, в котором двадцать один год стоял на одном колене человек в растянутом свитере.
Мне показалось — только показалось, — что пар вокруг шара на секунду качнулся. Как будто кто-то внутри очень медленно выдохнул.
* * *
Мы вернулись в библиотеку затемно.
У двери сидел курьер. Парень в велосипедном шлеме — тот, что встречал меня у почтамта. Запыхавшийся. Вскочил, увидев нас.
— От Марго, — сказал он. — Срочно. Записка. От того, в белой рубашке.
Он протянул бумажку. Мятую, сложенную вчетверо.
Я развернул. Кривой торопливый почерк Кирилла.
«Аудит — завтра. Утром. По всему городу. Все пользователи с техническим долгом (любым, даже сотые) подлежат доставке в Адм. центр. Массовое обнуление — в ночь на четверг. Модератор хочет довести готовность до 100 до конца недели. Слияние — в ночь на субботу.
Они знают про четверг. Не знаю откуда. Простите. — К.»
Я прочитал. Дважды. Передал Нике. Ника — Гоше.
— Они знают про четверг, — сказала Ника.
— Знают.
— Откуда?
Я посмотрел на свой интерфейс. На строку, которая висела там уже три недели.
Статус: под наблюдением.
— Может, оттуда, — сказал я. — Может, ещё откуда-то. Неважно.
— Что будем делать?
Я открыл блокнот Палыча. Нашёл страницу с планом. Посмотрел на семь пунктов, написанных сегодня в кабинете Кременя. Аккуратно, по порядку. Как техзадание.
Ни один план не переживает встречи с реальностью. Это я тоже знал по работе. Самые тщательные планы внедрения разваливались в первый же день, когда выяснялось, что склад работает не так, как написано в регламенте.
— План «Б», — сказал я.
— А какой был план «А»?
— Тот, что сегодня утром.
— А какой план «Б»?
Я закрыл блокнот.
— Тот же самый, — сказал я. — Только быстрее. И злее. И все, кого завтра заберут, — тоже будут в мэрии в ночь на четверг. Значит, Кременю не надо будет просто стучать.
— А что?
— Входить, — сказал я.
Ожидающее обновление: [Слияние контуров].
Готовность: 85%.
Глава 23. Аудит
Они пришли в восемь утра.
Я видел из окна библиотечного подвала. Окно было маленькое, под самым потолком, на уровне тротуара. Через него было видно ноги. Сначала — ничьи. Пустая улица, серая брусчатка.
Потом — ботинки. Чёрные, начищенные. Брюки со стрелками. Много.
И между ними — другие ноги. В кроссовках, в туфлях, в резиновых сапогах. Шли ровно, в ногу. Фоновые.
— Началось, — сказала Ника.
Она сидела на полу у стены, обхватив колени. Гоша — у двери. Знак — на руке. Он сидел так с шести утра.
Я поднялся на стул и прижался к стеклу.
* * *
Аудит выглядел так.
Белая рубашка шла впереди. С планшетом. Останавливалась у каждого дома. Смотрела на планшет. Если в доме кто-то был — планшет показывал. Белая рубашка поднимала руку. Фоновые входили в дом. Выходили — с человеком.
Не тащили. Не били. Вели под руки. Вежливо. Как в хорошей больнице ведут пациента на процедуру.
Человек не сопротивлялся. Или сопротивлялся — недолго. Белая рубашка касалась планшета, и человек обмякал. «Блокировка». Не навыка — всего. Ноги шли сами.
Пользователь: [Тамара].
Технический долг: 0,07 (перенесённый, объект «Колонка водоразборная»).
Статус: доставляется в Административный центр.
Ноль целых семь сотых. Она пила из колонки Данилы. Двенадцать лет. Набрала семь сотых.
Пользователь: [Николай].
Технический долг: 0,12.
Статус: доставляется.
Пользователь: [без имени].
Технический долг: 0,03.
Статус: доставляется.
Ноль целых три сотых. Человек однажды посидел на Данилиной скамейке в тени.
Я смотрел и считал. Как Палыч. Не мог не считать.
Двенадцать человек — только с нашей улицы. За полчаса.
* * *
— Я пойду, — сказал Гоша.
Он стоял у двери. Знак на руке. Лицо — красное, напряжённое. Он смотрел в окно вместе со мной. Видел то же, что и я.
— Гоша, — сказал я.
— Там людей забирают. Я Танк. Я должен встать.
— Их там тридцать белых рубашек. На одной улице. И сотня фоновых.
— Я встану у двери. Хоть у одной.
— Тебя заблокируют. Как в прошлый раз. И заберут. С ними.
— Пусть.
Гоша взялся за дверную ручку.
— Гоша, — сказал я. — Можно я тебя попрошу?
Он замер. Рука на ручке.
— Можно, — сказал он.
— Не ходи. Сегодня — не ходи. Ты мне нужен в четверг. У дверей мэрии. Там будут все, кого сейчас забирают. Если ты встанешь сегодня — тебя заберут сегодня. И в четверг у дверей мэрии будет стоять кто-то другой. Или никто. — Я помолчал. — Я не приказываю. Я прошу. Ты можешь отказаться.
Гоша стоял. Рука на ручке. Плечи вздрагивали.
Потом медленно убрал руку.
Сел обратно у двери. Знак — на колени. Лицо — в ладони.
Он плакал. Беззвучно. Огромный человек сидел на полу библиотечного подвала и плакал в ладони, потому что не мог встать у двери. А я стоял на стуле у окна и смотрел, как мимо идут ноги. Чёрные ботинки. Кроссовки. Резиновые сапоги.
Ника подошла к Гоше. Села рядом. Положила голову ему на плечо. Ничего не сказала.
* * *
К десяти они дошли до библиотеки.
Я видел, как остановились ботинки. Прямо у окна. Начищенные, чёрные. Брюки со стрелками. Синие брюки — не белые. Тот, кто стоял у окна, был не стажёр.
Эдуард.
Он постоял. Я видел край планшета у его колена. Видел, как пальцы касаются экрана.
Объект: Библиотека (подвальное помещение).
Изменён: пользователем Д*****.
Фильтр: активен.
Видимость пользователей внутри: скрыта.
Скрыта. Данилин фильтр. Двадцать один год.
Эдуард стоял. Минуту. Две.
Потом подошёл к двери. Я слышал его шаги — по ступенькам вниз. Три ступеньки.
Гоша поднял голову. Ника встала. Нож — в руке.
Эдуард постучал.
Один раз.
Тишина.
Ещё раз.
Тишина.
Два раза. Не три. Он не знал. Данила сделал дверь, которая открывается снаружи, если постучать три раза. Эдуард постучал два.
Я стоял, прижавшись к стене, и не дышал. Ника — тоже. Гоша сидел на полу с поднятым знаком.
За дверью было тихо. Потом — шаги. Вверх. Три ступеньки.
Ботинки прошли мимо окна. Ушли.
Я выдохнул.
— Два раза, — прошептала Ника. — Он постучал два раза.
— Данила знал, — сказал я. — Администраторы всегда стучат два раза. «Тук-тук, это мы». А три — это свои.
* * *
Аудит кончился к полудню. Я узнал об этом не из окна.
Сообщение всем пользователям контура:
Плановый аудит контура завершён.
Доставлено в Административный центр: 214 пользователей.
Готовность Обновления: 91%.
Массовое обнуление доставленных пользователей состоится в ночь на четверг.
Плановое Слияние контуров — в ночь на субботу.
Благодарим за сотрудничество.
Двести четырнадцать.
Половина вокзала. Треть курьеров. Все, кто жил в городе сам по себе, без клана. Все, кто хоть раз пил из колонки, сидел на скамейке, грелся у фонаря. Все, кто пользовался Данилиными костылями.
То есть все.
А потом пришло ещё одно сообщение. Не всем. Мне.
Входящее сообщение (пользователь: Олег Стрельников, Модератор).
Текст: «Алексей, доброе утро. Простите за беспокойство. Аудит — вынужденная мера. Я не хотел. Но вы не оставили мне выбора. Среди доставленных — Анатолий Громов (Толян, как вы его зовёте), Лариса Ивановна и Михаил Сергеевич (тётя Лара и дядя Миша), двенадцать курьеров Маргариты. Обнуление начнётся в полночь на четверг. С них. Я буду ждать вас у источника. Если вы придёте до полуночи и поставите Патч — обнуления не будет. Никакого. Все уйдут домой. Как обещал. Кофе в моём кабинете — для вас всегда. О. В.»
Я читал. Перечитывал.
«Все уйдут домой. Как обещал».
Он врал. Кирилл видел спецификацию. «Прочие записи удаляются». Он врал — и, наверное, сам в это не верил. Или верил. С ним невозможно было понять.
Толян. Тётя Лара с термосом. Дядя Миша с монтировкой.
С них.
* * *
Кремень пришёл в библиотеку в три часа дня.
Постучал три раза. Я открыл.
Он стоял на ступеньках. Куртка разорвана. Левая рука — на перевязи, из рукава тельняшки. Лицо — серое. Тесак за поясом. За ним — человек пятнадцать. Нарзанцы. Все побитые, все грязные.
— Пустишь? — спросил Кремень.
— Заходи. Только у меня тесно.
Он вошёл. Нарзанцы — за ним. Подвал библиотеки, рассчитанный на одного Данилу с книгой, стал похож на вагон метро в час пик. Гоша прижался к полкам. Ника забралась на стол.
Кремень сел в Данилино кресло. Тяжело. Посмотрел на лампу под зелёным абажуром.
— Они пришли в семь, — сказал он. — На вокзал. С двух сторон. Пятьдесят рубашек. Двести фоновых. Я… — Он замолчал. Потом продолжил. — Мы держали главный вход. Как ночью. Только это не Откатыши. Откатыши в швы бьются. А эти — блокируют. Касаются планшета — и у тебя руки опускаются. Сорок бойцов. Я тридцать лет так не дрался. И всё равно — как в вату.
— Толян? — спросил я.
Кремень долго молчал.
— Толян прикрывал, — сказал он. — Когда стало ясно, что не удержим. Я сказал — уходим через подвал. В подвале у меня ход — к старым путям. Толян встал у лестницы. С битой. Сказал: «Идите, шеф. Я их задержу». — Кремень посмотрел на свою перевязанную руку. — Его заблокировали на третьей минуте. Он стоял с битой и не мог ею махнуть. Стоял и орал. Знаешь, что орал?
— Что?
— «Шов! Плечо! Где резина к железу!» — Кремень хрипло засмеялся. — Своим. Которые уходили. Чтобы знали, куда бить, если догонят. Твоими словами, повар. Орал, пока его не увели.
Я ничего не сказал.
— Двадцать пять моих, — сказал Кремень. — Из сорока. И сотня с рынка. Весь вокзал. Пустой. Я туда больше не вернусь. Там больше нечего держать.
* * *
Вечером пришла Марго. С Никиной помощью — Ника сбегала за ней на почтамт и обратно за двадцать минут. Марго села на пол, у двери, рядом с Гошей. Гарнитура на шее.
— Двенадцать моих, — сказала она. — Из тридцати. Самые медленные. Новенькие. Те, кто ещё не научился обходить.
— Остальные?
— Остальные — на почтамте. Восемнадцать. Злые как черти. — Марго помолчала. — Эстафета до водолечебницы — шесть человек. У меня есть шесть. Даже восемь.
— Кирилл?
— Записку передал, — сказала Марго. Достала из кармана. Протянула.
Кривой почерк. Торопливый.
«Назначен соисполнителем на тикет «Защита Адм. центра». Эдуард ничего не заподозрил — сказал «молодец, учишься». В четверг в 00:15 закрою. Периметр упадёт. Доставленных держат в подвале мэрии. Восточный вход — ближе всего. Обнуление начнут в 00:30. Сначала — вокзальных. Модератор приказал лично. — К.»
Кремень прочитал через моё плечо. Шрам на щеке побелел.
— Ноль ноль тридцать, — сказал он. — Сначала — вокзальных.
— Толян.
— Толян, — повторил Кремень.
* * *
Ночью никто не спал.
Подвал библиотеки был набит людьми. Нарзанцы спали вповалку на полу — точнее, лежали с открытыми глазами. Кремень сидел в кресле, смотрел на лампу. Марго ушла к своим. Ника сидела на столе и точила нож о край полки. Вжик. Вжик.
Гоша сидел у двери. Знак на коленях.
Я сидел на полу у полок. С блокнотами Палыча. Открыл коленкоровый. Листал. Имена. Столбики. Пятнадцать лет.
Нашёл.
«Анатолий Громов. Громила. Нажал на светофоре кнопку для пешеходов — раз пятнадцать, потому что не загорался зелёный. Сентябрь 2021. Цена — 90 → 340. Дурак. Но нормальный. — П.П.»
Дурак. Но нормальный.
Я улыбнулся. Не смог удержаться. Толян нажал кнопку на светофоре пятнадцать раз. Конечно. Кто ещё.
Нашёл дальше.
«Лариса Ивановна Пчелинцева. Без боевого класса (Хозяйка). Закрывала термос — кнопку на крышке. Ноябрь 2014. Цена — 60. Поит всех чаем. Бесплатно. Цена не растёт, потому что она не берёт. — П.П.»
«Михаил Сергеевич Дунаев. Таксист. Нажал «Завершить поездку». Март 2017. Цена — 110. Возил людей тридцать лет. Здесь — никого. Скучает по дороге. — П.П.»
Я закрыл блокнот.
Двести четырнадцать человек в подвале мэрии. И в коленкоровом блокноте — двести четырнадцать строчек. Может, не все. Палыч записывал тех, кого видел. Но многих.
Кто что нажал. Сколько стоит. Кто чем живёт.
Палыч их оценил. Каждого. А я их…
Я посмотрел в интерфейс.
Уровень: 4.
До следующего уровня: 532.
Технический долг: 71.
Статус: под наблюдением.
Ожидающее обновление: [Слияние контуров].
Готовность: 91%.
Девяносто один.
В ночь на четверг — обнуление двухсот четырнадцати. Если получится — готовность прыгнет. Девяносто пять. Девяносто восемь. Сто — к субботе.
У меня было меньше суток.
* * *
Перед рассветом Гоша заговорил.
Он сидел у двери. Не поворачивался. Говорил тихо, в дверь, как будто ей.
— Лёша.
— Что, Гоша?
— Ты сказал — в четверг у дверей мэрии.
— Сказал.
— Я буду стоять у дверей мэрии, — сказал Гоша. — Всю ночь. Сколько надо. Пока не выведут всех. Тётю Лару. Дядю Мишу. Толяна. Всех.
— Знаю, Гоша.
— Я тебе обещаю.
Я посмотрел на него. На широкую спину, на знак на коленях. Гоша обещал только то, в чём был уверен.
— Гоша, — сказал я. — Ты не можешь знать, что выстоишь всю ночь. Там будет Эдуард. И сотня рубашек.
— Я не обещаю, что выстою, — сказал Гоша. — Я обещаю, что буду стоять. Это разное. Это я точно знаю. Я не уйду. Даже если не смогу держать — я не уйду.
Он помолчал.
— Это правда, — сказал он. — Я проверил. Внутри. Это — правда.
Ника на столе перестала точить нож.
Кремень в кресле поднял голову от лампы.
Я не нашёл, что ответить. Встал. Подошёл к Гоше. Сел рядом, у двери. Плечом к плечу.
Мы так и сидели до рассвета. Танк и Отладчик. Спиной к двери, которая открывается, только если постучать три раза.
Откат завершён.
Сохранение текущего состояния… выполнено.
Последнее утро перед четвергом.
Глава 24. Гоша против культа
Этого я не видел. Я был на другом конце города, у водолечебницы. Мне потом рассказали. Курьеры. Кремень. Кирилл. Тётя Лара. И сам Гоша — медленно, по порядку, морща лоб, проверяя каждое слово на правдивость.
Поэтому я расскажу так, как рассказали они.
* * *
В двадцать три пятьдесят Гоша стоял за углом мэрии. С восточной стороны. Там, где старый служебный вход — низкая железная дверь, крыльцо в три ступеньки, фонарь над козырьком, который не горел.
С ним были Кремень, пятнадцать нарзанцев и восемь курьеров. Остальные курьеры стояли по маршруту — эстафетой, через весь город. Марго — на крыше почтамта, с гарнитурой, в которую ничего не говорило, и с картой в голове.
Небо щёлкнуло.
Откат начался.
Город вокруг стал разбираться на слои. Мэрия — нет. Мэрия стояла, белая, светлая, с горящими окнами. Как остров. Как вокзал когда-то.
Из тумана вышли Откатыши. Медленно, бормоча своё «отмена». Обходили мэрию стороной, как вода обходит камень.
— Пятнадцать минут, — сказал Кремень. Шёпотом.
Гоша кивнул. Он держал знак «Уступи дорогу» на руке и смотрел на железную дверь. Не мигая. Так, как охранники торговых центров смотрят на пустое место, где ничего не происходит.
* * *
В ноль ноль пятнадцать Кирилл закрыл тикет.
Он рассказывал потом, что руки дрожали так, что он два раза промахнулся по кнопке. Сидел на первой линии, за своим столом, среди ста белых рубашек. Эдуард — в углу, за большим столом. Все работали — шелест клавиш, как дождь по крыше. Готовились к обнулению. Через пятнадцать минут — первая партия. Вокзальные.
Кирилл открыл тикет «Защита административного центра». Посмотрел на кнопку «Решено».
Подумал о маме. О роутере.
Нажал.
Тикет «Защита административного центра»: статус изменён на «Решено».
Периметр административного центра: отключён.
Никто не заметил. Секунду. Две. Шелест клавиш.
Потом Эдуард поднял голову от экрана.
* * *
Кремень увидел, как периметр упал. Не глазами — по Откатышам. Они вдруг остановились. Все разом. Повернули головы к мэрии. Как будто почуяли.
— Пошли, — сказал Кремень.
Они побежали.
Железная дверь служебного входа была заперта. Обычным замком. Без периметра — просто замком. Гоша ударил плечом. Один раз. Дверь вылетела вместе с косяком.
— Извините, — сказал Гоша двери.
Внутри — коридор. Узкий, длинный, со стенами, выкрашенными зелёной масляной краской до половины и белой — выше. Как в любой поликлинике. Как в любой школе. Лампы под потолком — гудящие, белые. В конце коридора — лестница вниз. В подвал.
И справа — двустворчатые стеклянные двери. В опенспейс. Туда, где сто белых рубашек.
Кремень с нарзанцами и курьерами побежал к лестнице вниз.
Гоша остался у стеклянных дверей.
Он встал посреди коридора. Широко. Знак «Уступи дорогу» — перед собой. Спиной — к лестнице в подвал. Лицом — к стеклянным дверям.
Коридор был узкий. Метра полтора. Гоша занимал его весь.
Это было его место. Он понял это сразу, когда увидел коридор. Охранники всегда понимают, где их место. Где одна дверь между теми, кого надо защищать, и теми, от кого.
За стеклом белые рубашки вставали из-за столов.
* * *
Эдуард вышел в коридор первым.
Остановился в трёх шагах от Гоши. Синий бейдж. Отглаженная рубашка. Планшет.
За ним — стажёры. Жёлтые бейджи. Человек двадцать. Ещё больше — за стеклом.
— Георгий, — сказал Эдуард. Мягко. — Добрый вечер.
— Добрый вечер, — сказал Гоша.
— Вы стоите в служебном коридоре административного центра.
— Стою.
— Вам нельзя здесь стоять.
— Я знаю.
— Тогда, пожалуйста, отойдите.
— Нет, — сказал Гоша.
Эдуард коснулся планшета.
Пользователь Эдуард применил: «Блокировка навыка».
Цель: Георгий.
Навык «Стойка»: заблокирован.
Навык «Щит»: заблокирован.
Навык «Провокация»: заблокирован.
Все три. Все навыки Танка.
Гоша стоял. Знак в руке потяжелел — навык «Щит» больше не помогал его держать. Ноги чуть дрогнули — «Стойки» больше не было.
Гоша стоял.
— Георгий, — сказал Эдуард. — У вас больше нет навыков. Вы обычный человек. Пожалуйста. Отойдите.
— Я обычный человек, — согласился Гоша. — Я и так был обычный. Я просто большой.
* * *
Стажёры пошли первыми. Трое. Плечом к плечу — сколько влезло в коридор.
Гоша не ударил. Он поднял знак — тяжело, двумя руками — и упёр его в пол. Наклонился. Как бульдозер. И стажёры упёрлись в «Уступи дорогу».
Толкали. Трое. Потом пятеро — задние давили на передних. Потом десять.
Гоша стоял.
Ноги скользили по линолеуму — сантиметр, ещё сантиметр. Гоша переставлял их. Упирался. Знак гнулся — Гоша выпрямлял его плечом. Пот тёк по лицу.
— Не… надо… — сказал он стажёрам. — Вам… больно… будет…
— Отойдите! — крикнул кто-то из них. Молодой, испуганный.
— Не могу, — сказал Гоша. — Обещал.
* * *
Эдуард стоял позади своих людей. Смотрел.
Потом коснулся планшета.
Пользователь Эдуард применил: «Вопрос».
Цель: Георгий.
— Георгий, — сказал он. Голос усилился — как через микрофон. Стажёры замерли. — Вы хотите причинить вред сотрудникам администрации?
Гоша, упирающийся в знак, поднял голову.
— Нет, — сказал он.
— Тогда вы обязаны отойти. Вы ведь помните — если вы продолжаете, вы солжёте. Действием. Вы же причиняете им вред. Вы их не пускаете.
Гоша подумал. Долго. Стажёры давили на знак. Знак скрипел.
— Это не вред, — сказал Гоша наконец. — Это дверь.
— Простите?
— Я — дверь, — сказал Гоша. — Дверь не делает вред. Дверь просто закрыта. Вы можете в неё стучать. Можете уйти. Но она закрыта. Это не вред. Это — дверь.
Эдуард молчал. Секунду. Две.
Обет правды. Система проверяла. Где-то внутри Гоши, в строчке «[Обет правды]», шёл процесс — я потом посмотрел лог. Сравнение утверждения с действием. Пользователь утверждает: «Я не хочу причинять вред». Пользователь препятствует проходу. Является ли препятствие проходу — вредом?
Проверка обета… выполняется.
Утверждение пользователя: «Я — дверь».
Проверка соответствия: соответствует.
Нарушение обета: не обнаружено.
Не обнаружено.
Гоша стоял. Дверью.
* * *
Эдуард попробовал по-другому.
— Георгий, — сказал он. — Вам страшно?
— Да, — сказал Гоша.
— Вы уверены, что ваши друзья победят?
— Нет.
— Вы уверены, что Алексей сможет то, что задумал?
— Нет.
— Тогда зачем вы стоите?
— Потому что они там, — сказал Гоша. — Внизу. Тётя Лара. Дядя Миша. Толян. И Лёша — там, в водолечебнице. Если я отойду — вы пойдёте вниз. Или к нему. Это не надо.
— А если вы будете стоять — вы умрёте, — сказал Эдуард. Тихо. — Вы понимаете?
— Да, — сказал Гоша.
— И всё равно?
— Я обещал, — сказал Гоша. — Не выстоять. Стоять. Это разное. Я Лёше сказал. Я не уйду. Даже если не смогу держать.
Эдуард смотрел на него. Долго. Потом сделал ещё одну попытку. Последнюю.
— Георгий. Скажите вашим друзьям внизу, чтобы они сдались. Так будет лучше для всех. Это — правда.
Гоша нахмурился. Морщил лоб. Думал. Проверял внутри.
— Это неправда, — сказал он. — Я не могу это сказать.
— Почему неправда?
— Потому что тогда их обнулят, — сказал Гоша. — А мама замечает. Когда это не ты. Мамы всегда замечают.
* * *
Эдуард опустил планшет.
— Давите, — сказал он стажёрам. Без мягкости. Просто.
И они надавили. Двадцать человек в коридоре шириной полтора метра. Ряд за рядом. Плечом в спину.
Знак «Уступи дорогу» согнулся пополам. Гоша выпустил его — тот упал на пол с грохотом. Гоша упёрся руками. Прямо в стажёров. В грудь первому, в плечо второму. Ладонями.
Не бил. Держал.
Ноги ехали по линолеуму. Метр. Ещё полметра. Сзади — лестница в подвал. Пять метров. Четыре.
Гоша стоял.
Кто-то из задних — не стажёр, кто-то из белых рубашек постарше — ударил его чем-то тяжёлым. По голове. Сбоку. Гоша качнулся. Из рассечённой брови потекла кровь. Залила глаз.
Гоша стоял.
Пользователь: Георгий.
Здоровье: 41%.
Ещё удар. По рёбрам. Что-то хрустнуло.
Здоровье: 28%.
Три метра до лестницы.
Гоша стоял.
* * *
— Шов! — заорал кто-то сзади. Снизу. С лестницы. — Плечо! Где резина к железу!
Толян.
Он вылетел из подвала первым — Кремень потом рассказывал, что Толяна держали в первой камере, у самой лестницы, и он, едва дверь открыли, побежал наверх. Без биты. С голыми руками. Лысый, в разорванном спортивном костюме. На шум.
Увидел Гошу. Увидел белые рубашки.
И не стал бить в стажёров.
Он встал рядом с Гошей. Плечом к плечу. Упёрся руками туда же, куда Гоша.
— Без обид, Гош, — сказал Толян.
— Без обид, — сказал Гоша.
Их стало двое. Коридор стал на одного человека уже.
За ними из подвала поднимались люди. Двести четырнадцать. Медленно — многих держала «Блокировка», они шли, как во сне. Курьеры вели их под руки. По два, по три. К железной двери. На улицу. В Откат.
А на улице, в тумане, курьеры Марго вели их по маршруту. Через фонарь на Пушкина. Тот, который обходили Откатыши. Восемь минут на круг.
* * *
Кирилл вышел в коридор с другой стороны. Со стороны опенспейса. Из-за спины Эдуарда.
Он рассказывал потом, что шёл как во сне. Что не помнит, как встал из-за стола. Что просто увидел через стекло — двадцать белых рубашек давят на двоих в коридоре, и у одного из них кровь на лице.
Он подошёл к Эдуарду. Сзади. Встал рядом.
— Эдуард Андреевич, — сказал он. — Можно?
Эдуард не обернулся.
— Что, Кирилл?
— Я соисполнитель по вашим тикетам, — сказал Кирилл. — Вы меня назначили. Для обучения.
Эдуард медленно повернул голову.
Кирилл коснулся своего планшета.
Пользователь Кирилл применил: «Закрытие тикета».
Тикет: «Блокировка навыков — Георгий». Статус: «Решено».
Все действия по тикету отменены.
Пользователь: Георгий.
Навык «Стойка»: доступен.
Навык «Щит»: доступен.
В коридоре что-то изменилось. Гоша вдруг перестал ехать назад. Совсем. Встал. Как будто врос в пол. «Стойка» вернулась. Двадцать человек давили на него — и не могли сдвинуть ни на миллиметр.
Гоша выпрямился. Медленно. Посмотрел через головы стажёров на Кирилла.
— Спасибо, — сказал он.
— Пожалуйста, — сказал Кирилл. Голос у него дрожал.
Эдуард смотрел на Кирилла. Лицо было пустым.
— Кирилл, — сказал он. — Вы понимаете, что сейчас сделали.
— Понимаю.
— Вы закрыли тикет старшего администратора. Без согласования. В пользу нарушителя. — Пауза. — Это обнуление, Кирилл.
— Я знаю, — сказал Кирилл. — Я Стёпу видел. С тряпкой. — Он сглотнул. — Но я не буду закрывать тикеты на людей, которые стоят дверью. Я лучше буду тереть прут.
Эдуард поднял руку. Фоновые за стеклом повернули головы.
— Обнулить, — сказал Эдуард.
* * *
Фоновые шли к Кириллу. Человек десять. С улыбками. Со швабрами.
Кирилл стоял. Не бежал. Он, кажется, уже всё решил.
И тогда из подвала вышел Кремень.
С тесаком. С перевязанной левой рукой. Шрам на щеке — белый, как известь. За ним — нарзанцы. Пятнадцать. И последние из двухсот четырнадцати — тётя Лара с термосом, дядя Миша с монтировкой, которую он где-то нашёл в подвале.
Кремень увидел фоновых. Увидел Кирилла.
Он не стал рубить. Фоновые были люди. Валерка Сомов. Семёновна, которая пирожки. Он помнил.
Он просто встал между фоновыми и Кириллом. Как Гоша. Тесак — в ножны. Пустые руки.
— Этого — не трогать, — сказал Кремень. — Он мой.
Фоновые остановились. Не потому что испугались. Им было нечем пугаться. Они остановились, потому что не знали, что делать с человеком, который стоит и не бьёт. Это не было прописано.
Эдуард смотрел на всё это. На Гошу с Толяном в коридоре. На Кременя перед фоновыми. На Кирилла с планшетом. На двести человек, уходящих в туман.
Он коснулся планшета. Посмотрел на экран.
И лицо у него изменилось.
Сообщение (пользователь: Олег Стрельников, Модератор) — всем сотрудникам:
«Отладчик у источника. Все — ко мне. Немедленно.»
Эдуард опустил планшет.
— Отход, — сказал он стажёрам. Ровно. — Всем. К источнику.
Стажёры перестали давить. Отпустили. Попятились. Повернулись — и побежали. По коридору, через опенспейс, к главному входу. Белые рубашки. Сто человек. В туман. К водолечебнице.
Эдуард уходил последним. На пороге стеклянных дверей обернулся. Посмотрел на Гошу.
— Вы хорошая дверь, Георгий, — сказал он. Без иронии. Почти с уважением.
И ушёл.
* * *
Гоша стоял в коридоре.
Знак — согнутый пополам — лежал у его ног. Кровь из брови залила половину лица. Рёбра — справа — болели так, что он не мог вдохнуть полной грудью. Толян стоял рядом, держался за стену.
Пользователь: Георгий.
Здоровье: 19%.
Тётя Лара подошла к нему. Последней. Из всех двухсот четырнадцати — последней. С термосом.
Открыла. Налила в крышку. Протянула.
— Пей, сынок, — сказала она.
Гоша взял. Руки дрожали. Чай пролился на рубашку.
— Спасибо, тётя Лара, — сказал он.
— Тебе спасибо, — сказала тётя Лара. — Тебе.
Гоша выпил. Отдал крышку. Посмотрел на коридор — пустой теперь. На стеклянные двери — за ними пустой опенспейс, брошенные столы, светящиеся терминалы. Фоновые стояли посреди зала. Улыбались. Не знали, что делать.
— Все вышли? — спросил Гоша.
— Все, — сказал Кремень. — Двести четырнадцать. Курьеры ведут.
— Тогда я могу сесть?
Кремень посмотрел на него.
— Можешь, Гоша, — сказал он. — Можешь.
Гоша сел. Прямо на пол. Посреди коридора. Привалился спиной к зелёной масляной стене.
И только тогда — потом все говорили, что заметили это одновременно, — только тогда его ноги перестали упираться в пол.
* * *
Через двадцать минут в коридор вбежал курьер. Парень в велосипедном шлеме. Запыхавшийся. С запиской от Марго.
Кремень прочитал. Вслух.
«Отладчик у люка. Модератор — рядом. Белые рубашки идут туда. Сто. Марго».
Тишина.
Гоша, сидевший у стены, поднял голову.
— Лёша один? — спросил он.
— С рыжей, — сказал Кремень.
— А сто белых рубашек идут туда.
— Идут.
Гоша посмотрел на свой знак. Согнутый пополам. На свои руки. На кровь на рубашке.
Потом начал вставать. Медленно. Держась за стену.
— Гоша, — сказал Кремень. — У тебя девятнадцать процентов.
— Я знаю.
— Ты не дойдёшь.
— Дойду, — сказал Гоша. Проверил внутри. — Это правда. Я дойду. Медленно. Но дойду.
Он поднял знак. Попробовал выпрямить — не получилось. Взял так, согнутым.
Толян, стоявший у стены, вздохнул. Отлепился от стены. Встал рядом.
— Без обид, Гош, — сказал Толян. — Я с тобой.
Кремень смотрел на них. Двоих. Побитых, окровавленных, на ногах еле держащихся.
Потом вытащил тесак.
— Курьер, — сказал он парню в шлеме. — Веди. Самым коротким.
* * *
Вот так Гоша шёл к водолечебнице. В ночь Отката. Через туман. С девятнадцатью процентами. С согнутым знаком «Уступи дорогу».
Я этого не видел. Мне рассказали.
Но я знаю, что, когда он дошёл, — он стоял.
Глава 25. Исходный код
В двадцать три сорок мы с Никой вошли в водолечебницу.
Улица-петля. Шнурок на четырнадцатой липе — я дёрнул его, не останавливаясь. Двор с дублями. «Я» у фонтана — «не трогай, оно работает». «Гоша» — «мама, у меня всё хорошо». «Ника» — тыкала в несуществующий экран, «отменить доставку».
Настоящая Ника прошла мимо своего дубля. Не посмотрела.
Внутри было тихо. Пар поднимался из ванн медленно, лениво. Под куполом собиралось облако.
В центре зала, у шара с Данилой, стоял складной стул. Брезентовый, рыбацкий. На стуле сидел Олег Валентинович.
В кардигане. С термосом на коленях. С кружкой «Лучшему дедушке» в руке.
Он сидел лицом к Даниле. Спиной к нам. И говорил. Тихо, неторопливо. Как говорят с больным в палате.
— …а Стёпа, помнишь, я тебе рассказывал, стажёр, — он теперь на лестнице. Прутья трёт. Ему хорошо, Даня. Правда хорошо. Ему ничего не страшно. Ты бы видел, как он улыбается…
Ника остановилась. Нож — в руке.
Олег Валентинович замолчал. Не обернулся.
— Вы пришли, Алексей, — сказал он. — Я знал, что придёте. Садитесь. Стульев, правда, больше нет. Я один хожу.
* * *
Я подошёл. Встал рядом со стулом. Ника — за моей спиной.
Олег Валентинович смотрел на Данилу. На руку в двух сантиметрах от плиты. На очки, съехавшие набок.
— Двадцать один год, — сказал он. — Каждую неделю. Я рассказываю ему новости. Кто пришёл. Кто ушёл. Что нового в продуктиве — газеты подтягиваются, я читаю. Он ведь любил читать. «Таинственный остров» — сорок семь раз.
— Я знаю.
— Вы были в библиотеке. — Он кивнул. — Конечно были.
Он отпил из кружки. Поставил её на термос.
— Вы пришли ставить Патч? — спросил он.
— Я пришёл к источнику, — сказал я.
— Это одно и то же.
— Посмотрим.
Он повернул голову. Посмотрел на меня снизу вверх. Добрые морщинистые глаза. Очки на шнурке.
— Вы четвёртого уровня, Алексей. Вам нужен пятый. Чтобы открыть люк. — Пауза. — Добирайте. Я подожду. Я никуда не тороплюсь.
Небо за куполом щёлкнуло.
Откат начинается.
* * *
Пар загустел.
Сразу, рывком. Из каждой ванны рванулся вверх белый столб. Под куполом облако набухло, потемнело, начало вращаться — медленно, как вода в сливе. Из отверстия в верхушке потянулся вниз, в город, туман.
А вокруг меня — посыпались строки.
Я перестал их различать. Это был не текст — это был водопад. Каждый кубический сантиметр пара. Каждая молекула. Каждый объект, который в эту секунду возвращался к эталону по всему городу. Всё это шло через источник. Через это место.
Ошибка…
Ошибка…
Ошибка…
Счётчик полз. Быстро. Очень быстро.
До следующего уровня: 412.
До следующего уровня: 288.
До следующего уровня: 131.
Я смотрел вверх. На вращающееся облако. На центр воронки.
Там, в самом центре, было что-то. Не пар. Плотнее. Как узел. Как спутанный клубок проводов.
Я посмотрел на него.
Объект: [Откат].
Тип: системный (изменён).
Изменён: пользователем Ковалёв А. С. (права администратора).
Тип изменения: костыль.
Действует до: ближайшего Отката (самоподдерживающееся).
Технический долг изменения: 1 048 576.
Носитель долга: Ковалёв А. С. (статус: взыскатель).
Связанные изменения: 9 412 (права администратора, размещение долга в объектах).
Связанные изменения: 214 008 (права администратора, блокировки, лаги, обнуления).
Связанные изменения: 38 (пользователь Д*****, исключения из Отката).
…
Двести четырнадцать тысяч связанных изменений. Всё, что Администрация сделала за двадцать пять лет. Каждая блокировка. Каждый лаг. Каждый человек с метлой. Всё — привязано к этому узлу. Всё держится на Откате.
Как я и думал.
Нет. Хуже, чем я думал.
Обнаружено ошибок: 262 459.
Уровень повышен: 4 → 5.
Навык «Патч»: разблокирован.
Описание: позволяет внести одно постоянное изменение в контур. Не создаёт технического долга.
Ограничение: одно изменение до полного погашения технического долга пользователя.
Доступ к объекту [Исходный код]: разрешён.
Пятый.
Я стоял посреди зала, в пару, и смотрел на строку «Патч: разблокирован». Как смотрят на зарплату, которую ждали три месяца.
Олег Валентинович встал со стула.
— Поздравляю, Алексей, — сказал он. Тепло. По-настоящему. — Пятый уровень. Второй в истории.
* * *
Люк открылся, когда я положил ладонь на бронзовую плиту.
Нулевой километр. Роза ветров. Круглая, с потёртыми от туристских ног лучами. Под моей ладонью она дрогнула. Раздвинулась. Лучи разошлись, как диафрагма у фотоаппарата.
Под ней — лестница. Винтовая, металлическая. Вниз.
Данила стоял на колене в двух шагах. В шаре. Рука — в двух сантиметрах от того места, где только что была плита. Теперь там была дыра. И лестница.
Двадцать один год он тянулся. А я — положил руку.
— Прости, Данила, — сказал я. — Я быстрее.
Олег Валентинович подошёл к люку. Посмотрел вниз.
— Я там никогда не был, — сказал он. — Двадцать пять лет. Аркадий Семёнович строил систему так, что модератор может открыть люк. Но не войти. Войти может только тот, кто ставит Патч. — Он посмотрел на меня. — Я войду за вами. Как сопровождающий. Это разрешено.
— А если я не разрешу?
— Это не вам разрешать, — мягко сказал он. — Это Системе.
Он коснулся планшета — тонкого, серебристого, не как у Эдуарда.
Сообщение (пользователь: Олег Стрельников, Модератор) — всем сотрудникам:
«Отладчик у источника. Все — ко мне. Немедленно».
Я прочитал. Он не прятал.
— Подстраховка, — сказал Олег Валентинович. — Простите. Я старый человек. Я привык, что планы не работают.
* * *
Мы спустились.
Я — первым. Ника — за мной. Олег Валентинович — последним, медленно, держась за перила.
Лестница была длинная. Витки, витки, витки. Пар остался наверху. Здесь было сухо и холодно. И гудело.
Гудело так, как гудит в серверной.
Внизу была дверь. Стеклянная. С наклейкой «Посторонним вход воспрещён». С кодовым замком, на котором кто-то давно написал маркером код: 1-2-3-4.
Я узнал эту дверь.
Я узнал наклейку. Она отклеилась с левого верхнего угла, и я каждый раз собирался её приклеить обратно — и каждый раз забывал.
Я узнал маркер. Это я написал код. Пять лет назад. Потому что главбух всё время его забывала.
Я толкнул дверь.
* * *
Серверная.
Моя серверная. Из офиса. Точь-в-точь.
Три стойки. Огоньки — зелёные, мигают. Кондиционер на стене — обмотанный скотчем. Серый пластиковый стул, на котором я сидел, когда ждал загрузки. Кружка на полу у стойки — моя, с надписью «Я не тормоз, я обновляюсь». Подарок коллег на день рождения. С недопитым чаем.
И главный сервер.
На двух кирпичах.
Силикатных. Белых. Чуть сколотых по углам. Два кирпича стояли на полу, и на них — сервер. Как я поставил два года назад. Чтобы поднять к холодному воздуху.
На сервере мигал огонёк. Один. Красный.
Я подошёл. Опустился на корточки. Посмотрел на кирпичи «Логом».
Объект: Кирпич силикатный (2 шт.).
Назначение: охлаждение.
Источник: [ПРОД].
Внесён в контур: пользователем Алексей Гордеев (в момент синхронизации).
Примечание: объект является опорой для объекта [Исходный код]. Удаление опоры недопустимо.
Опора для Исходного кода.
Мои кирпичи. Мои два кирпича держали Исходный код всей Изнанки.
Я засмеялся. Не мог остановиться. Сидел на корточках перед своим сервером на своих кирпичах в своей серверной, которая была в другом мире под минеральной водолечебницей, — и смеялся. До слёз.
— Лёша, — сказала Ника за спиной. Испуганно. — Ты чего?
— Кирпичи, — сказал я. Сквозь смех. — Ника. Это мои кирпичи. Я их принёс. На работу. В пакете из «Пятёрочки». Два года назад. Чтобы сервер не грелся. Внёс в таблицу оборудования. Главбух подписала не глядя.
Ника смотрела на кирпичи. Потом на меня.
— И что?
— И весь этот мир, — сказал я, вытирая глаза, — стоит на моих кирпичах. Не трогай. Оно работает.
* * *
Олег Валентинович стоял в дверях. Смотрел вокруг. Удивлённо — я видел.
— Это не та серверная, — сказал он. — У нас была другая. В подвале мэрии. Огромная. Шкафы до потолка.
— Исходный код выглядит так, как его ждёт увидеть Отладчик, — сказал голос.
Из угла. Из-за третьей стойки. Где было темно — там, где у меня в офисе стоял ящик с запасными кабелями.
Пальто. Руки в карманах. Лицо — то место, куда не смотришь.
Аркадий Семёнович.
— Для Данилы, — продолжал он, — это была серверная санатория «Горный воздух». С облупленной краской и старым «Пентиумом». Для Алексея — эта. Для тебя, Олег, если бы ты мог войти, — наш подвал. С гермодверью. Помнишь?
Олег Валентинович замер.
Он стоял в дверях серверной. Кружка «Лучшему дедушке» — он так и нёс её с собой, — кружка дрогнула у него в руке. Чай плеснул на пол.
Он смотрел на Аркадия Семёновича. На пальто. На то место, где у того было лицо.
— Аркадий… Семёнович, — сказал он. Голос был чужой. Тонкий. — Вы… здесь?
— Я всегда здесь, Олег, — сказал Аркадий Семёнович. — Когда начинается Откат. Двадцать пять лет. Это моё место.
— Я… не видел вас.
— Ты не смотрел.
* * *
Тишина. Гудели серверы. Мигал красный огонёк.
Я встал. Подошёл к рабочему месту — к столу у стены, где у меня стоял монитор для консоли. Монитор был включён.
На экране — два окна.
Первое:
Ожидающее обновление: [Слияние контуров].
Готовность: 91%.
Для применения: Патч (пользователь класса «Отладчик», уровень 5+).
[Применить Слияние]
Второе — поменьше. Камера. Чёрно-белая, зернистая. Я узнал ракурс. Камера в коридоре нашего офиса. Над кулером.
Ночь. Пустой опенспейс. Один светильник — над моим столом. Мой стол. Монитор — выключен. Кружки нет. А на стуле — лист бумаги. Белый. Крупно — фотография. Моё лицо. С корпоратива. Я там в колпаке, потому что был Новый год.
«ПРОПАЛ ЧЕЛОВЕК. Алексей Гордеев, 32 года…»
Я смотрел на экран.
На свой стол. На свою фотографию в колпаке. На кулер, который, наверное, булькал там, в пустом офисе. Хотел что-то сказать. Стеснялся.
— Это — продуктив, — сказал Олег Валентинович у меня за спиной. Он пришёл в себя. Голос снова был мягким. — Ваш мир, Алексей. Там вас ищут. Нажмите «Применить» — и вы там. Через три дня. Вместе со всеми.
— С метлой?
— Вы — не с метлой. Вы — администратор. Это часть сделки.
— А остальные?
Он не ответил.
* * *
Я обернулся.
Олег Валентинович стоял в двух шагах от меня. С кружкой. С планшетом в другой руке.
А Ника стояла у двери.
Неподвижно.
Совсем неподвижно. Рука — с ножом — поднята. Нога — на шаг вперёд. Рот — приоткрыт. Волосы — рыжий хвост — замерли в воздухе, как будто она только что повернула голову.
Вокруг неё воздух был плотнее. Тяжелее. Как вода в аквариуме.
Объект: Лаг (искусственный).
Установлен: пользователем с правами администратора [Модератор].
Цель: Ника.
Время в зависании: 00:00:14.
Четырнадцать секунд.
Пока я смотрел на свою фотографию в колпаке.
— Простите, девочка, — сказал Олег Валентинович. Негромко. Не Нике — в пространство. — Вы шли на меня с ножом. Я не мог позволить.
Я смотрел на Нику. На её глаза — зелёные, злые, — застывшие. Она шла на него. Пока я смотрел в экран, она пошла на него. С ножом. За меня.
И он её остановил. Как Данилу.
— Снимите, — сказал я.
— Сниму, — сказал Олег Валентинович. — Когда вы нажмёте «Применить».
— Снимите сейчас.
— Алексей. — Он вздохнул. Поставил кружку на стойку. — Я не злой человек. Я вам это уже говорил. Девочке не больно. Она ничего не чувствует. Для неё — секунда. Она даже не заметит.
— Данила тоже не заметил? Двадцать один год?
— Данила — заметит, когда проснётся. Если проснётся. Это будет зависеть от вас.
Он подошёл к монитору. Встал рядом со мной. Плечом к плечу. Как стоял, наверное, рядом с Данилой. У люка.
— Нажмите, Алексей, — сказал он. — Пожалуйста. Через пятнадцать минут здесь будут сто сотрудников. Я не хочу, чтобы они вас держали. Это унизительно. Для нас обоих.
— А если не нажму?
— Тогда девочка будет стоять здесь, — сказал Олег Валентинович. — Рядом с Данилой. Наверху. Я поставлю второй стул. И буду приходить к ним обоим. Каждую неделю. Рассказывать новости.
Он сказал это без угрозы. Тихо. С сожалением.
Это было страшнее любой угрозы.
* * *
Я посмотрел на экран.
[Применить Слияние]
Посмотрел на Нику. Замершую. С ножом.
На Аркадия Семёновича — в углу, за стойкой. Неподвижного. Руки в карманах.
На кирпичи.
На свою кружку на полу. «Я не тормоз, я обновляюсь».
На камеру в офисе. На свою фотографию в колпаке.
— Олег Валентинович, — сказал я. — Можно я вас спрошу?
— Спрашивайте.
— Вы когда-нибудь читали лог? До конца? Всех связанных изменений Отката?
Он моргнул.
— Зачем?
— Затем, что вы двадцать пять лет не дослушиваете, — сказал Аркадий Семёнович из угла. Тихо. — Даже меня.
Олег Валентинович повернулся к нему.
И тогда Аркадий Семёнович шагнул из темноты. В свет. Под белые лампы серверной.
И я увидел — все мы увидели, — как то место, куда не смотришь, медленно, очень медленно становится лицом.
Худым. Седым. С запавшими щеками. В роговых очках.
Лицом инженера, который двадцать пять лет назад нажал кнопку.
— Здравствуй, Олег, — сказал он. — Давно не виделись. Нам надо поговорить. О долге.
Глава 26. Переговоры с Коллектором
Олег Валентинович смотрел на лицо своего начальника.
Двадцать пять лет он его не видел. Я понял это по тому, как он смотрел. Как смотрят на фотографию человека, которого давно похоронили, а потом встретили на улице.
— Вы… — сказал он. — Вы — Серый.
— Я — взыскатель, — сказал Аркадий Семёнович. — Серым меня зовут на рынке. Ты бы знал, если бы ходил на рынок.
— Я думал, вы… Я думал, вас взыскали. За Откат. Я думал…
— Ты думал, что я заплатил и ушёл. — Аркадий Семёнович кивнул. — Ты так всем и рассказывал. «Он заплатил». Красиво. Как на поминках.
Олег Валентинович опустился на мой серый пластиковый стул. Тяжело. Планшет — на колени. Кружка «Лучшему дедушке» стояла на стойке, остывала.
— Двадцать пять лет, — сказал он.
— Двадцать пять, — согласился Аркадий Семёнович. — Каждую ночь. Я стоял у источника. Ты сидел у Данилы со своим термосом. В трёх шагах от меня. И рассказывал ему новости. — Пауза. — Я тоже слушал, Олег. Про Стёпу. Про то, как он улыбается.
* * *
Я стоял у монитора. Ника — в лаге, у двери. Неподвижная, с ножом. Кнопка «Применить Слияние» светилась на экране.
Я не трогал её. Я слушал.
— Миллион, — сказал Аркадий Семёнович. — Ты знаешь, Олег? Миллион сорок восемь тысяч пятьсот семьдесят шесть. Столько стоит Откат. Ты знаешь, сколько я погасил?
Олег Валентинович молчал.
— Шестнадцать тысяч. За двадцать пять лет. — Аркадий Семёнович сделал шаг. Встал у стойки. Рядом с кружкой. — А знаешь, из чего они? Из людей. Двести с лишним человек. Стас. Банкомат твой — тот, у вокзала. Пётр Павлович — неделю назад. Каждый, кого я взял, — пошёл в счёт.
— Я… не знал.
— Ты не спрашивал.
— Вы бы не ответили!
— Я бы ответил, — сказал Аркадий Семёнович. — Данила спросил — я ответил. Алексей спросил — я ответил. Это просто, Олег. Надо подойти и спросить: «Как вас зовут?» Ты двадцать пять лет не подошёл.
* * *
Олег Валентинович поднял голову.
— Вы спасли этот мир, — сказал он. Голос окреп. — Вы. Откатом. Без вас здесь ничего бы не было. Я просто… я поддерживал. Двадцать пять лет. То, что вы построили.
— Ты им пользовался, — сказал Аркадий Семёнович.
— Я…
— Девять тысяч четыреста двенадцать единиц в объектах, — сказал Аркадий Семёнович. Ровно. Как зачитывают акт проверки. — Двести четырнадцать тысяч связанных изменений. Блокировки. Лаги. Обнуления. Каждое — держится на моём Откате. Каждое — без твоего долга, потому что ты научился вешать его на скамейки. А Откат — на мне. Ты строил свой чистый мир на моём долге, Олег. Двадцать пять лет. Я — фундамент. Ты — надстройка. Без меня тебя нет.
Олег Валентинович смотрел на него. Губы шевелились.
— Это… это неправда.
— Посмотри лог, — сказал Аркадий Семёнович. — Ты модератор. У тебя есть доступ. Ты двадцать пять лет не смотрел. Посмотри.
Олег Валентинович медленно коснулся планшета.
Я видел, как он читает. Как бегут строки по серебристому экрану. Как меняется его лицо. Медленно. По миллиметру.
«Связанные изменения: 214 008. Права администратора. Действуют при условии: Откат активен».
Он опустил планшет.
* * *
— Олег Валентинович, — сказал я.
Он повернулся ко мне. Как будто забыл, что я здесь.
— Вы говорили, — сказал я, — что Данила хотел разорвать связь. Замуровать всех. Что после этого никто никогда не уйдёт домой.
— Говорил.
— А Аркадий Семёнович говорит, что вы не дослушали. Что Данила хотел разорвать связь — кроме одной двери.
Олег Валентинович посмотрел на Аркадия Семёновича.
— Это правда, — сказал Аркадий Семёнович. — Он рассказал мне. На Пустыре. Нарисовал пальцем на сетке. Дверь. Одну. Через которую уходят сами. Не обнулёнными. Не фоновыми. По одному. Когда захотят.
— И Слияния бы не было, — сказал Олег Валентинович.
— Не было бы.
— И Откат?
— И Откат бы выключился. Данила собирался выключить его вторым шагом. Костылём. — Пауза. — И взять мой долг на себя.
Олег Валентинович долго молчал.
— Он хотел вас вытащить, — сказал он наконец. Тихо.
— Хотел, — сказал Аркадий Семёнович. — А ты встал у него за спиной.
* * *
— Без Отката тест развалится, — сказал Олег Валентинович. Быстро. Почти отчаянно. — Как двадцать пять лет назад. Вы же помните! Дома осыпались. Улицы исчезали. Через две недели — пустая сетка. Без Отката здесь никто не выживет!
Это был хороший аргумент. Я и сам об этом думал. Всю ночь перед четвергом. Сидел у двери с Гошей и думал.
Аркадий Семёнович покачал головой.
— Двадцать пять лет назад тест разваливался не потому, что не было Отката, — сказал он. — А потому, что была связь.
— Что?
— Синхронизация, Олег. Каждую ночь — данные из продуктива. Через плохой канал. С ошибками. Ты же видел — газеты размытые. Лестница в «Вертикали» не загрузилась. Яблоки пластиковые. Каждая синхронизация — порция мусора. Битые данные. Тест не разваливался сам — его разваливала связь. — Аркадий Семёнович снял очки. Протёр. Как Палыч. — Я тогда не понял. Думал — нестабильность контура. Поставил Откат — чтобы каждую ночь возвращать к эталону. Откат маскировал ошибки синхронизации. Но не убирал их. Двадцать пять лет — каждую ночь — мусор приходит, Откат его прячет. Мусор копится. В тумане. Откатыши — это он и есть. Мусор. Битые данные. Удалённые записи, которые не смогли удалиться.
Олег Валентинович смотрел на него.
— Если разорвать связь, — сказал Аркадий Семёнович, — мусор перестанет приходить. Тест перестанет разваливаться. Откат станет не нужен. Можно будет его выключить. И мир — останется. Стабильным. Сам по себе.
— Вы… уверены?
— Нет, — сказал Аркадий Семёнович. — Я двадцать пять лет ни в чём не уверен. Но Данила считал так. И я — двадцать один год с ним согласен. — Пауза. — А Алексей?
Все посмотрели на меня.
Я смотрел на кирпичи под сервером. На красный огонёк.
— Синхронизация через битый канал — это как обмен между базами без проверки дублей, — сказал я. — Каждую ночь — новые ошибки. Их маскируют откатом. Ошибки копятся. — Я помолчал. — Я восемь лет такое чинил. На работе. Это не чинится откатом. Это чинится, когда выключаешь кривой обмен.
* * *
— Хорошо, — сказал Олег Валентинович.
Он встал со стула. Медленно. Поправил кардиган. Взял планшет.
— Хорошо, — повторил он. — Допустим. Допустим, вы правы. Оба. Связь — источник ошибок. Откат — маска. Мир выстоит.
Он посмотрел на меня.
— Но Слияние, Алексей. Слияние — это не только про тест. Это про продуктив. Про тот мир. Грязный, больной, сломанный. Вы же видели. Ипотеки. Долги. Одиночество. Люди, которых никто не ищет. — Он кивнул на экран, на камеру в моём офисе. На мою фотографию в колпаке. — Вас — ищут. А сколько тех, кого нет? Я двадцать пять лет готовил для них лучший мир. Порядок. Стабильность. Каждый на своём месте.
— С метлой.
— С миром в душе.
— Без воли.
— Без боли, — сказал Олег Валентинович. — Это одно и то же, Алексей. Вы просто ещё молоды, чтобы это понять.
Я смотрел на него.
Добрый дедушка. С кружкой. В кардигане. Двадцать пять лет в тесте. Он правда так думал. Он не врал. Он верил — как верят в бога, которого сами придумали.
— Олег Валентинович, — сказал я. — Можно я вам кое-что покажу?
* * *
Я открыл свой интерфейс. И впервые — сделал то, чего не делал никогда.
Вывел «Лог» наружу. На экран. Как Эдуард выводил договор над фонтаном. Это дал пятый уровень — я увидел опцию, когда разблокировался Патч. «Показать запись другим пользователям».
На втором мониторе, рядом с камерой, развернулось окно. Текст.
Я выбрал запись. Одну. Из тысяч.
Пользователь: [данные скрыты].
Класс: Эхо (заблокирован).
Режим: Эталон.
Время в режиме: 10 лет 2 месяца.
Восстановление удалённых данных… частично.
Остаточные данные (последнее перед обнулением):
«…мама, я скоро. Тут очередь, но быстрая. Говорят — бесплатно. Я сниму долг и сразу к тебе. Подожди меня. Не выключай свет…»
Олег Валентинович читал.
Я выбрал следующую.
Пользователь: Степан.
Режим: Эталон.
Время в режиме: 1 месяц.
Остаточные данные: «…Олег Валентинович, я исправлюсь, честное слово, я закрою эти пять, дайте мне ещё один день, я…»
Олег Валентинович перестал читать.
Он смотрел на экран. Неподвижно. Губы побелели.
— Это… — сказал он. — Это не они. Это остатки. Мусор. Они сейчас — счастливы.
— Они сейчас, — сказал я, — ничего. Ни счастливы, ни несчастны. Ничего. А это — то, что было последним. Перед тем как вы их сделали «ничем». Это то, чего они хотели. Стёпа хотел ещё один день. Парень с классом «Эхо» хотел к маме. И чтобы она не выключала свет.
Олег Валентинович молчал. Долго.
— Вы двадцать пять лет не читали лог до конца, — сказал Аркадий Семёнович. Тихо. — Даже их.
* * *
Шаги.
Сверху. По винтовой лестнице. Много. Тяжёлые, быстрые, в ногу.
Белые рубашки.
Олег Валентинович поднял голову. Посмотрел на дверь. Потом — на меня. Потом — на Аркадия Семёновича.
Я видел, как в нём что-то ломается. Как в старом здании, у которого вынули опору.
И как что-то другое — застывает. Твёрдое. Холодное.
— Нет, — сказал он.
Шёпотом.
— Нет, — повторил он громче. — Нет. Я двадцать пять лет… Я не для того… — Он посмотрел на экран со «Слиянием». — Девяносто один процент. Девяносто один, Аркадий Семёнович. Я почти дошёл. Я почти…
— Олег, — сказал Аркадий Семёнович.
— Нет! Вы всегда так! — Олег Валентинович вскинул голову. Очки слетели со шнурка, повисли на одной стороне. — Вы всегда — «Олег, ты не дослушал». «Олег, ты не понял». «Олег, посмотри лог». А я — делал! Я двадцать пять лет делал! Пока вы ходили в своём пальто и собирали по капле! Я построил центр! Я построил порядок! Я!..
В дверь серверной ввалились белые рубашки.
Эдуард — первым. За ним — стажёры. Двадцать. Тридцать. Сколько влезло — серверная была небольшая.
Эдуард остановился. Посмотрел на Аркадия Семёновича — с лицом. На Модератора — с очками на одной дужке. На меня — у монитора. На Нику — в лаге у двери.
— Олег Валентинович? — сказал он.
— Держите его, — сказал Олег Валентинович. Показал на меня. — Руки. Держите руки.
* * *
Меня взяли под руки. Двое. Потом четверо. Держали крепко — вежливо, но крепко.
Пользователь Эдуард применил: «Блокировка навыка».
Цель: Алексей Гордеев.
Навык «Костыль»: заблокирован.
Костыль — заблокирован.
Навык «Патч»: блокировка невозможна.
Причина: пользователь находится в объекте [Исходный код]. Навык «Патч» в данном объекте защищён.
Патч — нет. Аркадий Семёнович так строил.
Но без костыля я не мог выключить Откат.
А без Патча — Олег Валентинович не мог запустить Слияние.
Ему нужна была моя рука.
Он подошёл. Взял меня за запястье. Сам. Старческими пальцами — неожиданно сильными. Повернул мою руку ладонью вниз.
— Простите, Алексей, — сказал он. — Мне правда жаль. Я не хотел так.
Он потянул мою руку к экрану. К кнопке «Применить Слияние».
Я упирался. Четверо стажёров держали меня за плечи. Олег Валентинович тянул за запястье. Медленно. Сантиметр. Ещё сантиметр.
— Аркадий Семёнович! — крикнул я.
Аркадий Семёнович стоял у стойки. Неподвижно. Руки — в карманах.
— Я не могу, Алексей, — сказал он. Тихо. Ровно. — Я — функция. Я могу только взыскивать. У него — ноль. У тебя — семьдесят один. Ниже порога. Я ничего не могу.
— Тогда зачем вы здесь?!
— Чтобы ты знал, что я здесь, — сказал Аркадий Семёнович. — Когда понадобится. Одна секунда. Я жду.
Моя ладонь коснулась экрана.
Пользователь Алексей Гордеев (Отладчик, ур. 5): обнаружено касание.
Применение Патча: [Слияние контуров].
Подтверждение пользователя: … получено (физический контакт).
Начато применение.
Готовность: 91%… 92%…
Полоска загрузки.
Поползла.
* * *
Олег Валентинович отпустил моё запястье. Отступил на шаг.
Смотрел на экран. На полоску. Лицо — бледное, мокрое. Он плакал, кажется. Или это был пот.
— Девяносто два, — прошептал он. — Девяносто три…
На втором мониторе — камера в моём офисе.
Опенспейс. Мой стол. Моя фотография в колпаке.
И в углу кадра, у кулера, — белое.
Туман.
Он полз по полу. Из-под двери серверной. Нашей, офисной, настоящей. Белый, плотный, как молоко, которое убежало из кастрюли. Медленно растекался между столами.
Готовность: 94%.
А в тумане, у кулера, что-то двигалось.
Высокое. Сутулое. Сделанное из кусков.
Оно повернуло голову к камере. Медленно. Со скрипом.
Я видел, как шевелятся его губы. Звука не было. Но я знал, что оно говорит.
«…отмена… отмена… отмена…»
В моём офисе. В продуктиве. Там, где завтра утром придут люди. Бухгалтерия. Вадим Сергеевич. Главбух, которая забывает код от двери.
Готовность: 95%.
— Олег Валентинович, — сказал я. Голос был хриплый. — Посмотрите на второй экран.
Он посмотрел.
На туман у кулера. На Откатыша между столами.
И я увидел, как он впервые — впервые за двадцать пять лет — понимает, что его чистый мир выглядит именно так.
— Это… временно, — сказал он. Неуверенно. — Это… при первом Слиянии… будут корректировки…
— В проде не откатывают, — сказал я.
Готовность: 96%.
На лестнице — снова шаги. Тяжёлые. Медленные. Неровные.
Один человек. Нет — двое. Трое.
И голос. Знакомый. Хриплый. Орущий так, что дрожали серверные стойки.
— Шов! Где у них шов, повар?! У белых рубашек — где шов?!
Толян.
И за ним, в дверном проёме, — огромная фигура. В крови. С согнутым пополам дорожным знаком «Уступи дорогу».
Гоша.
Готовность: 97%.
Глава 27. Слияние
Гоша вошёл в серверную, и серверная стала меньше.
Он стоял в дверях. Огромный, в крови. Бровь рассечена, левый глаз заплыл. Рубашка охранника — разорвана на боку, под ней — что-то тёмное. Знак «Уступи дорогу» — согнутый пополам, как раскрытая книга. Гоша держал его за край, как держат сломанный зонт.
Он посмотрел на меня. На стажёров, которые держали меня за плечи. На Олега Валентиновича у монитора.
На Нику — замершую в лаге, в метре от него. С ножом.
— Ника, — сказал Гоша. Тихо.
Потом снова на меня.
— Лёша, — сказал он. — Можно я?
Я не сразу понял, о чём он спрашивает. А потом понял. Он спрашивал разрешения. Как я спрашивал его в «Вертикали». «Гоша, можно я через тебя?» Он запомнил.
— Можно, Гоша, — сказал я.
* * *
Он пошёл.
Не быстро. Танки не бегают. Он пошёл, как идёт поезд, который только тронулся, — тяжело, медленно, неостановимо. Стажёры у двери бросились ему наперерез. Трое. Он их не ударил. Просто прошёл сквозь — как лифт сквозь стену «Вертикали». Подхватил, развёл руками в стороны, как раздвигают шторы. Стажёры отлетели к стойкам.
— Извините, — сказал Гоша.
Толян влетел за ним. С битой — где-то нашёл новую, или Кремень дал. Без колючей проволоки. Встал у Гоши за спиной.
— Повар! — заорал он. — Где у них шов?!
— У них нет шва! — крикнул я. — Это люди!
— Тогда куда бить?!
— Никуда! Держи!
Толян подумал секунду. Потом бросил биту. Встал рядом с Гошей. Упёрся руками.
За ними в дверях — Кремень. С тесаком в ножнах. С перевязанной рукой. Он не входил — стоял на пороге и смотрел. Шрам на щеке — белый.
А за Кременем — Кирилл.
Жёлтый бейдж на шее. Планшет в руках. Лицо — белое, но спокойное. Как у человека, который уже всё решил ещё в коридоре мэрии.
Готовность: 97%.
* * *
Эдуард обернулся. Увидел Кирилла.
— Вы, — сказал он.
— Я, — сказал Кирилл.
Он коснулся планшета.
Пользователь Кирилл применил: «Закрытие тикета».
Тикет: «Блокировка навыка — Алексей Гордеев». Статус: «Решено».
Все действия по тикету отменены.
Навык «Костыль»: доступен.
Кирилл поднял на меня глаза. Через всю серверную. Через белые рубашки, через Гошу, через стойки с мигающими огоньками.
— Это уже второй тикет Эдуарда Андреевича за сегодня, — сказал он. — Я, наверное, лучший стажёр в истории.
* * *
Гоша дошёл до меня.
Четверо стажёров всё ещё держали меня за плечи. Гоша посмотрел на них. Сверху вниз. Он не сказал ни слова. Он просто положил свои огромные ладони им на плечи. Двоим. Мягко. Как кладут руку на плечо старого знакомого.
Стажёры отпустили меня. Сами. Не знаю почему. Может, потому что Гоша был в крови и смотрел на них одним глазом. Может, потому что у одного из них на бейдже было написано «Стаж: 3 месяца», и он просто не знал, что делают, когда тебе на плечо кладёт руку двухметровый Танк.
Гоша развернулся. Встал спиной ко мне. Лицом к серверной. К Эдуарду. К тридцати белым рубашкам.
Широко расставил ноги.
Между мной и ними.
— Я — дверь, — сказал Гоша.
Пользователь: Георгий.
Здоровье: 14%.
Навык «Стойка»: активен.
Четырнадцать процентов.
Он стоял.
* * *
Я повернулся к монитору.
Применение Патча: [Слияние контуров].
Готовность: 98%.
Девяносто восемь.
На втором экране — камера в моём офисе. Туман залил уже половину опенспейса. Белый, плотный. Откатыш у кулера — стоял, покачиваясь. Ещё один — у окна. Третий — у моего стола. Смотрел на фотографию в колпаке.
Олег Валентинович стоял рядом со мной. У монитора. Смотрел на полоску.
— Поздно, — сказал он. Тихо. Не мне — себе. — Девяносто восемь. Поздно.
Я смотрел на экран. Читал. Все строки. Как обещал Нике. Она стояла в лаге у двери — я не мог на неё оглянуться, но я читал для неё.
Применение Патча: [Слияние контуров].
Тип: постоянное изменение.
Применяется пользователем: Алексей Гордеев (Отладчик, ур. 5).
Статус: в процессе.
Параметры Патча: [просмотр] [изменение — доступно до завершения].
Изменение — доступно до завершения.
Я перечитал.
Изменение. Доступно. До. Завершения.
Патч ещё не применился. Он применялся. Полоска ползла. А пока она ползёт — параметры можно было менять. Как в любой нормальной системе. Пока транзакция не закрыта — её можно откатить. Или изменить.
Нет. Не откатить. В проде не откатывают.
Изменить.
* * *
Я ткнул в «изменение».
Параметры Патча.
Цель: [Слияние контуров].
Изменить цель? [Да] [Нет]
Олег Валентинович увидел.
Я не знаю, как. Может, по моему лицу. Может, у модератора был доступ к моему экрану — какой-то, частичный. Но он увидел.
— Нет, — сказал он.
И схватил меня за руку.
Старческие пальцы. Неожиданно сильные. Сжали запястье так, что хрустнули кости.
— Нет! — Он тянул мою руку от экрана. — Не смейте! Двадцать пять лет! Я двадцать пять лет!..
Я упирался. Он тянул. Мы стояли у монитора — молодой айтишник в фартуке «Лучший повар в мире» и шестидесятилетний модератор в кардигане — и боролись за мою руку. Как дети за пульт от телевизора.
Готовность: 98,4%.
Гоша стоял спиной к нам. Держал серверную. Тридцать белых рубашек давили на него — и не могли сдвинуть. Он не оборачивался. Он был дверью. Дверь не оборачивается.
Толян держал рядом с ним. Кирилл — у двери, что-то делал в планшете, быстро, — закрывал тикеты, наверное, один за другим, всё, до чего мог дотянуться.
Кремень — на пороге. Смотрел.
А Аркадий Семёнович — у стойки. Неподвижно. Руки в карманах.
— Аркадий Семёнович! — крикнул я.
— Я не могу, Алексей, — сказал он. — У него ноль.
Олег Валентинович тянул мою руку. Я чувствовал, как пальцы соскальзывают с экрана. Ещё сантиметр — и я не дотянусь.
И тут у Олега Валентиновича соскочили очки.
С одной дужки, на которой они висели. Упали на пол. Звякнули о плитку.
Он на секунду — на одну секунду — посмотрел вниз. На очки.
Привычка. Двадцать пять лет он носил эти очки на шнурке. Двадцать пять лет поправлял их, протирал, искал. Рефлекс. Упали очки — посмотри.
Одна секунда.
Я ткнул в «Да».
* * *
Изменение цели Патча.
Выберите новую цель.
Я знал, что выбрать. Я придумал это ещё на Пустыре. Записал в блокнот Палыча, пункт четвёртый. Восемь раз перечитывал.
Новая цель: Разрыв связи контуров ТЕСТ–ПРОД.
Исключение: [указать объект].
— Объект, — сказал я вслух. Сам себе. — Дверь.
Я так и не выбрал. Марго говорила — выбери хорошую. Чтобы не в лаге. Чтобы курьеры могли провести. А я всё откладывал. Потом. Потом.
Потом наступило сейчас.
Готовность: 98,9%.
Олег Валентинович поднял очки. Выпрямился. Увидел экран. Увидел «Разрыв связи».
— Нет, — сказал он. Совсем тихо. — Нет, Алексей. Пожалуйста.
Я не смотрел на него. Я думал.
Дверь. Хорошая. Чтобы все знали, где. Чтобы не в лаге. Чтобы — домой.
И я вспомнил.
Деревянная. Простая. На кухне. За стойкой, между залом и плитой. С табличкой. «Посторонним вход воспрещён». Посторонним — зачёркнуто. Сверху маркером, кривым торопливым почерком: «Никому». А ниже, мелко: «Кроме меня».
Данила сделал эту дверь — первой. Двадцать один год назад. Дверь в кухню, где холодильник. Где курица. Где шаурма, без которой здесь сходят с ума.
Дверь, которую в Изнанке знает каждый. На которую двадцать лет смотрели, проходя мимо шаурмичной. Которую я открыл в первый день — и за которой нашёл тепло.
Исключение: Дверь (кухня, шаурмичная «У Ашота»).
Тип исключения: проход в контур ПРОД.
Режим: ручной (инициируется пользователем).
Условие прохода: [указать].
Условие прохода.
Я подумал секунду. Одну.
— Каждому, кто захочет, — сказал я.
Условие прохода: добровольное намерение пользователя.
Синхронизация через исключение: отключена.
Подтвердить изменение цели Патча? [Да] [Нет]
Я прочитал. Все строки. Ещё раз.
Ника стояла в лаге у двери. Я не мог на неё оглянуться. Но я знал, что, если бы она могла, она стояла бы сейчас у меня за спиной и ждала. Пока я дочитаю.
Я дочитал.
Да.
* * *
Цель Патча изменена.
Применение Патча: [Разрыв связи контуров ТЕСТ–ПРОД, исключение: 1].
Готовность: 99%.
Полоска дрогнула. Остановилась.
И поползла дальше.
На втором экране, в моём офисе, туман замер.
Потом — дрогнул. Как будто кто-то вздохнул. И пополз назад. Медленно. К двери серверной. Откатыш у моего стола перестал смотреть на фотографию в колпаке. Повернул голову. Растерянно. Как будто забыл, зачем пришёл.
И тут в офисе включился свет.
Не мой — над моим столом и так горело. Весь. Общий. Все лампы в опенспейсе разом.
В кадре появился человек.
Он вошёл со стороны лифтов. В пальто, наброшенном на плечи. В домашних тапочках. С телефоном в руке — фонарик включён. Лет пятьдесят. Лысеющий. Встревоженный.
Вадим Сергеевич.
Коммерческий директор. В половине первого ночи. В тапочках.
Он остановился посреди опенспейса. Посмотрел на туман на полу. На Откатыша у кулера. Высокого, сутулого, сделанного из кусков.
Звука не было. Но я видел его губы. Я восемь лет видел эти губы на планёрках. Я умел их читать.
«Лёш?..»
Он смотрел на Откатыша. И думал, что это я.
«Лёш, это ты?! Ну наконец-то! Ты где был?! У нас носки!..»
Откатыш медленно повернул к нему голову. Мозаика из стекла, бетона и куска дорожного знака.
«…отмена…» — сказал Откатыш.
Вадим Сергеевич замер.
Я засмеялся. Посреди серверной. Посреди всего этого. Олег Валентинович смотрел на меня, как на сумасшедшего. А я не мог остановиться.
— Он подумал, что это я, — сказал я. Сквозь смех. — Вадим Сергеевич. Он подумал… Он пришёл ночью в офис, потому что, наверное, кто-то из охраны позвонил — что-то в серверной. И подумал, что я вернулся. И первое, что он спросил, — про носки.
Готовность: 99,8%.
Туман уходил. Под дверь серверной — назад, туда, откуда пришёл. Откатыш у кулера становился прозрачным. Контур. Набросок.
Вадим Сергеевич стоял посреди опенспейса и смотрел, как тает высокая сутулая фигура. Телефон с фонариком дрожал у него в руке.
Последнее, что я видел, — как он медленно, очень медленно, крестится. Неумело. Слева направо.
Как Толян.
Готовность: 100%.
Патч применён.
Связь контуров ТЕСТ–ПРОД: разорвана.
Исключение: Дверь (кухня, шаурмичная «У Ашота»). Статус: создана.
Ожидающее обновление [Слияние контуров]: отменено.
Причина: целевой контур недоступен.
Второй экран погас.
Камера. Офис. Вадим Сергеевич в тапочках. Моя фотография в колпаке.
Чёрный прямоугольник.
* * *
В серверной стало тихо.
Белые рубашки перестали давить на Гошу. Не потому что устали. Они смотрели на свои планшеты. Все тридцать. Читали.
Сообщение всем пользователям контура:
Обновление [Слияние контуров] отменено.
Связь с внешним контуром разорвана.
Синхронизация: отключена навсегда.
Навсегда.
Эдуард стоял посреди серверной. Читал. Медленно опустил планшет.
Посмотрел на Олега Валентиновича.
Олег Валентинович стоял у монитора. С очками в руке — он так и не надел их. Смотрел на чёрный экран, где минуту назад был продуктив.
Он ничего не говорил.
Он был похож на человека, который двадцать пять лет строил дом. А потом пришёл утром — и на месте дома ровная площадка. Чистая. Аккуратная. Ни одного кирпича.
— Двадцать пять лет, — сказал он. Шёпотом.
Я не ответил. Мне было его жалко. Это было глупо, наверное. Но мне было жалко.
Технический долг: 71.
Навык «Патч»: использован (1/1).
Навык «Костыль»: доступен.
Патч — использован. Связь — разорвана. Дверь — создана.
Слияния не будет.
Но Откат — работал. Где-то над нами, под куполом водолечебницы, вращалось облако. Туман тёк в город. Откатыши бродили по улицам. Ника стояла в лаге. Данила стоял в лаге. Обнулённые подметали площадь.
Ничего не кончилось.
Это был только первый пункт.
Я повернулся к Аркадию Семёновичу.
Он стоял у стойки. Руки в карманах. Лицо — снова то место, куда не смотришь. Но я знал, что под ним — лицо инженера. Худого, седого, в роговых очках.
— Аркадий Семёнович, — сказал я. — Вы готовы?
Он долго молчал.
— Двадцать пять лет готов, — сказал он.
Я посмотрел вверх. Сквозь потолок серверной. Сквозь винтовую лестницу. Сквозь мраморный пол водолечебницы. Туда, под купол, где в центре вращающегося облака висел узел. Спутанный клубок проводов.
Откат.
Объект: [Откат].
Технический долг: 1 048 576.
Последний костыль.
Глава 28. Последний костыль
Откат был не под куполом.
Я думал — под куполом. Узел в центре облака. Клубок проводов. Я собирался подниматься по винтовой лестнице, тянуться к нему, как Данила к люку.
А потом я посмотрел на сервер.
На главный. На двух кирпичах. С одним красным огоньком.
Объект: Сервер (Исходный код контура ТЕСТ).
Активные процессы: 1.
Процесс: [Откат].
Статус: выполняется (циклически).
Индикатор процесса: красный.
Красный огонёк.
Я стоял и смотрел на него. И вспоминал.
Ночь закрытия квартала. Серверная. Девять процентов. Все огоньки — зелёные. Почти все. Один — красный. На главном сервере. На том, что на кирпичах.
Я положил руку на кнопку питания. Кнопка была тёплая.
Я тогда подумал: «Плохо тебе, да?»
Это был Откат. Тот самый красный огонёк. Я смотрел на него в первую ночь — и не знал. А потом нажал кнопку питания. И провалился сюда.
— В этот раз, — сказал я вслух, — не перезагружать.
Гоша, стоявший спиной ко мне, не обернулся. Но я видел, как он кивнул.
* * *
Я опустился на колени перед сервером. На кафель. Рядом с кирпичами. Положил ладонь на корпус.
Он был тёплый. Как кнопка тогда.
«Костыль».
Навык «Костыль».
Выбран объект: Процесс [Откат].
Тип объекта: системный (изменён пользователем Ковалёв А. С.).
Внимание: объект является костылём.
Внимание: изменение чужого костыля приводит к переносу долга изменения на инициатора.
Я читал. Медленно. Каждую строку.
За спиной было тихо. Белые рубашки не двигались. Эдуард стоял посреди серверной с опущенным планшетом. Олег Валентинович — у монитора, с очками в руке. Толян — у Гоши за плечом, тяжело дышал. Кремень — на пороге. Кирилл — у двери.
Аркадий Семёнович — у стойки.
Все ждали, пока я дочитаю.
Выберите действие:
[Изменить параметр]
Параметр «Статус»: выполняется → отключён.
Последствия изменения:
1. Процесс [Откат] будет отключён. Действие изменения: до ближайшего Отката. Ближайший Откат: не запланирован (процесс отключён). Изменение будет действовать бессрочно.
2. Технический долг изменения (1 048 576) будет перенесён на инициатора: Алексей Гордеев.
3. Связанные изменения (права администратора, 214 008) утратят основание. Действие прав администратора, зависящих от процесса [Откат], будет прекращено.
4. Долг, размещённый пользователями с правами администратора в объектах (9 412 + 1 307), будет возвращён владельцам.
5. Функция «Взыскатель» (носитель: Ковалёв А. С.) будет снята в связи с переносом основного долга. Время до снятия функции после применения: 1 сек.
6. Архив взыскателя будет передан новому носителю основного долга.
7. Новый носитель основного долга не может быть взыскан в контуре (взыскатель отсутствует). Будет инициирована передача носителя в контур, где взыскание возможно.
Семь пунктов. Я прочитал их три раза.
Пункт седьмой. «Будет инициирована передача носителя».
Я знал. Аркадий Семёнович говорил. На Пустыре.
Знать — и читать на экране, мелким шрифтом, — это разное.
* * *
— Эдуард, — сказал я. Не оборачиваясь.
— Да, — сказал Эдуард. Голос был пустой.
— Сколько у вас в объектах?
Пауза.
— Сорок три.
— Ниже порога. Вам вернётся сорок три. Права пропадут. Будете жить.
Ещё пауза.
— Спасибо, — сказал Эдуард. Не знаю, иронично или нет. — Что мне делать, Алексей? Без прав?
Я подумал.
— Не знаю, — сказал я. — Подметать, может быть. Своими руками. По своей воле. Это, говорят, успокаивает.
Эдуард ничего не ответил.
— Остальным, — сказал я громче. Всем белым рубашкам. — У кого сколько в объектах — вернётся. У большинства — мало. Вас взвешивали на весах Палыча, я видел в его блокноте. Вы не богатые. Вам Олег Валентинович не давал много вешать. Он всё вешал сам.
Белые рубашки молчали. Кто-то из стажёров, совсем молодой, тихо заплакал.
* * *
— Аркадий Семёнович, — сказал я.
— Да.
— Архив. Пункт шестой. Он перейдёт ко мне.
— Перейдёт.
— Палыч там?
— Там, — сказал Аркадий Семёнович. — Пётр Павлович. Стас. Двести сорок семь человек. Все, кого я взыскал. Все — на полках. С именами.
— И я буду их носить.
— Будешь.
— Как вы — под пальто.
— Нет, — сказал Аркадий Семёнович. — Я носил их как взыскатель. Как обеспечение долга. А ты будешь носить как… — Он помолчал. — Я не знаю, как ты будешь их носить, Алексей. Ты будешь первым, кто носит архив не будучи взыскателем. Может быть — как память. Может быть — как бухгалтерию. Пётр Павлович бы сказал, как.
— Пётр Павлович бы сказал: «Я не учу. Я считаю».
— Тогда считай, — сказал Аркадий Семёнович.
Я кивнул.
— Тогда понесу.
* * *
— Олег Валентинович, — сказал я.
Он стоял у монитора. С очками в руке. Смотрел на чёрный экран.
Я обернулся к нему. Впервые с той секунды, как встал на колени.
— Пункт четвёртый, — сказал я. — Девять тысяч четыреста двенадцать. Вернутся вам. Вы понимаете?
Он медленно кивнул.
— Девяносто четыре порога, — сказал он. Шёпотом. — Я считал. Пока вы читали.
— И пункт пятый. У Аркадия Семёновича будет одна секунда.
— Я понимаю.
Он поднял глаза. Посмотрел на Аркадия Семёновича. На своего начальника. На пальто, на руки в карманах, на то место, где лицо.
— Аркадий Семёнович, — сказал он. — Вы ведь меня возьмёте?
— Возьму, Олег, — сказал Аркадий Семёнович. — Это функция. Я не выбираю.
— А если бы выбирали?
Аркадий Семёнович молчал. Долго.
— Если бы выбирал, — сказал он, — я бы двадцать пять лет назад взял тебя с собой на планёрку. И заставил бы дослушать. До конца. Хоть раз.
Олег Валентинович закрыл глаза.
Потом открыл. Надел очки. Медленно, аккуратно — дужку за левое ухо, дужку за правое. Поправил на переносице. Как будто готовился к совещанию.
— Алексей, — сказал он. — Можно вас попросить?
— Просите.
— Данила. Он ведь проснётся? Когда лаги… когда мои изменения…
— Проснётся.
— Скажите ему… — Олег Валентинович помолчал. — Скажите ему, что я дослушал. Наконец. Что он был прав. Про продуктив. Про то, что там не откатывают. — Пауза. — И что новости я ему рассказывал не просто так. Я правда… Я правда любил его. Как сына.
— Скажу, — сказал я.
— Спасибо.
Он отвернулся к монитору. К чёрному экрану. Стоял ровно. Руки — по швам. Ждал.
* * *
Я повернулся обратно к серверу.
Красный огонёк. Тёплый корпус под ладонью. Кирпичи — силикатные, белые, чуть сколотые.
Подтвердить изменение? [Да] [Нет]
Я подумал о Нике.
Она стояла у двери. В лаге. С ножом в руке и шагом вперёд. Она не знала, что сейчас будет. Она даже не знала, что Слияния больше нет. Для неё прошла секунда. Она шла на Олега Валентиновича — за меня.
Она бы стояла сейчас у меня за спиной. И ждала. Пока я дочитаю.
Я дочитал. Три раза.
Я подумал о Гоше. Он стоял спиной ко мне, лицом к белым рубашкам. Четырнадцать процентов. Дверь.
Я подумал о Палыче. О сорока пяти минутах. О «двенадцать — я ошибся». О «я всегда плачу полностью. Привычка».
Я подумал о Даниле. О «Таинственном острове». О фонаре на Пушкина. О «это же просто долг. Долг — это когда есть кому отдавать».
О Вадиме Сергеевиче в тапочках. О кулере, который булькал в пустом офисе.
О маме Гоши. О маме Кирилла с роутером. О женщине, которая ждала лекарство для ребёнка.
О двух шаурмах для Ники. С кинзой.
— Гоша, — сказал я.
— Да, Лёша?
— Можно?
Гоша не обернулся. Он стоял дверью. Он не понимал, наверное, о чём я спрашиваю. Но он мне верил.
— Можно, — сказал Гоша.
Я нажал «Да».
* * *
Сначала ничего не произошло.
Секунду. Как тогда, у ставней шаурмичной, когда я первый раз вызвал костыль.
Потом красный огонёк на сервере мигнул.
И стал зелёным.
Тихо. Без звука. Просто — был красный, стал зелёный. Как светофор. Как кнопка для пешеходов, на которую Толян нажал пятнадцать раз, потому что не загорался зелёный.
Загорелся.
А наверху — я не видел, но потом мне рассказали курьеры, — над куполом водолечебницы облако перестало вращаться. Замерло. И начало опускаться. Медленно, мягко, как снег. Туман на улицах — остановился. Перестал течь. Лёг на брусчатку, на крыши, на асфальт. И начал таять.
Откатыши остановились посреди улиц. Все разом. По всему городу. Замолчали. Перестали бормотать «отмена».
Постояли.
И рассыпались. Не как от удара — тихо. Как песочный замок, когда до него дошла вода. Кукла, ковёр, манекен, обломок клавиатуры, кусок дорожного знака — всё это опустилось на мостовую. И исчезло. Не вернулось в туман. Просто — исчезло.
Удалённые данные, которые наконец удалились.
Процесс [Откат]: отключён.
Ближайший Откат: не запланирован.
Технический долг: +1 048 576.
Технический долг: 1 048 647.
Миллион сорок восемь тысяч шестьсот сорок семь.
Семьдесят один — мой. Остальное — Аркадия Семёновича. Теперь — моё.
Я смотрел на цифру. Она не помещалась в интерфейс. Её перенесло на вторую строку.
* * *
За моей спиной кто-то вскрикнул.
Я обернулся.
Олег Валентинович стоял у монитора. Ровно. Руки по швам. Очки на носу.
Пользователь: Олег Стрельников.
Права: Модератор — прекращены.
Технический долг (возвращённый): 9 412.
Порог взыскания: превышен.
А рядом с ним — Аркадий Семёнович.
Он вынул руку из кармана. Ту самую — сухую, немолодую, с белой полоской от кольца.
Одна секунда.
Он положил ладонь Олегу Валентиновичу на плечо. На кардиган. Легко. Как кладут руку на плечо старого знакомого. Как кладут руку на плечо заместителю, с которым двадцать пять лет назад вместе нажали кнопку.
— Взыскано, — сказал Аркадий Семёнович.
Не «полностью». Не «частично». Просто — «взыскано».
Олег Валентинович стал серым.
Кардиган — сначала. Плечо, рукав. Клетчатая рубашка — потеряла клетку. Очки на шнурке — стали прозрачными.
Лицо — последним. Он смотрел на Аркадия Семёновича. И — мне показалось — улыбался. Не так, как улыбался в кабинете с фикусом, — тепло, по-дедушкински. Иначе. Устало. Как человек, которому наконец разрешили не идти на работу.
Потом — контур. Набросок.
Потом — ничего.
Кружка «Лучшему дедушке» осталась стоять на стойке. С остывшим чаем.
* * *
И тут всё, что держалось на его долге, — пошло.
Я видел это в «Логе». Строки — тысячами, водопадом. Всё, что Олег Валентинович создал за двадцать пять лет. Всё, что взыскатель забрал вместе с ним — как дверь Стаса, как банкомат.
Изменение «Лаг (искусственный) — Ника»: взыскано.
Изменение «Лаг (искусственный) — Д*****»: взыскано.
Изменение «Перевод пользователя в режим «Эталон»» × 1 214: взыскано.
Изменение «Блокировка объекта «Колонка водоразборная»»: взыскано.
Изменение «Размещение долга — Шаурмичная «У Ашота»»: взыскано.
Минуты, изъятые в Административный центр: возвращены владельцам.
…
Ника шагнула.
Из лага — сразу, не останавливаясь. Тот же шаг, который начала двадцать минут назад. Нож — вперёд. На Олега Валентиновича.
На пустое место.
Она пролетела мимо монитора. Нож свистнул в воздухе. Она развернулась — быстро, рывком, курьерским — и замерла.
Посреди серверной. С ножом. Ничего не понимая.
— Где он? — сказала она. — Где этот… дедушка?
— Заплатил, — сказал я.
Ника смотрела на меня. На меня — на коленях у сервера. На пустое место у монитора. На кружку. На Аркадия Семёновича — с лицом, — который стоял у стойки и медленно опускал руку.
На Гошу — в крови, со сломанным знаком.
— Что я пропустила? — спросила она.
— Двадцать минут, — сказал я.
Ника опустила нож.
Подошла ко мне. Встала напротив. Я всё ещё стоял на коленях. Она смотрела сверху вниз.
— Ты прочитал все строки? — спросила она.
— Все. Три раза.
— Тогда ладно, — сказала Ника.
И ударила меня в плечо. Кулаком. Сильно. Больно.
А потом опустилась на колени рядом. И обняла. Крепко. Уткнулась лбом мне в плечо — в то самое, куда только что ударила.
— Дурак, — сказала она мне в фартук. — Дурак ты, Отладчик.
* * *
Аркадий Семёнович стоял у стойки.
Пальто на нём было — просто пальто. Серое, длинное, старое. С потёртыми пуговицами. Под ним — не темнота и не полки. Под ним — костюм. Тёмный, мешковатый, девяностых годов. Белая рубашка. Галстук — криво завязанный.
Лицо — лицо. Худое. Седое. В роговых очках. Его было видно. Его можно было смотреть.
Он смотрел на свои руки. Поворачивал их ладонями вверх, вниз. Как будто впервые видел.
— Аркадий Семёнович? — сказал я.
Он поднял голову.
— Я… — сказал он. И замолчал. Голос был другой. Не сухой. Обычный голос старого человека. Немного хриплый. — Я, кажется, устал, Алексей.
И сел. Прямо на пол. У стойки. Привалился к ней спиной.
Пользователь: Ковалёв Аркадий Семёнович.
Класс: Администратор (права прекращены).
Функция «Взыскатель»: снята.
Технический долг: 0.
Ноль.
Двадцать пять лет. Миллион. Ноль.
* * *
А потом на меня упал архив.
Не физически. В интерфейсе. Новая вкладка. Тяжёлая — я почувствовал её как тяжесть в груди. Как будто мне на плечи повесили рюкзак, набитый книгами.
Архив взыскателя: передан.
Носитель: Алексей Гордеев.
Записей: 247.
Статус записей: сохранены (носитель долга).
Режим забвения: снят (взыскатель отсутствует).
Режим забвения — снят.
Я не сразу понял, что это значит.
Понял, когда услышал Гошу.
Он стоял у двери серверной. Спиной ко всем. Он всё ещё держал её — хотя белые рубашки давно перестали давить. Они сидели на полу, многие. Смотрели в погасшие планшеты.
Гоша медленно обернулся.
Лицо — в крови, один глаз заплыл. Он смотрел на меня. На мои руки. На шею.
На счёты. Деревянные, с костяшками. Которые висели у меня на шнурке, поверх фартука.
— Лёша, — сказал Гоша. Голос сорвался. — Лёша. Это же его. Это Палыча.
Я смотрел на него.
— Палыч, — сказал Гоша. — Пётр Павлович. Он… он сказал мне: «Гоша, ты хочешь помочь Алексею?» Тогда, со стажёрами. Это он сказал. Я помню. Я помню, Лёша. Он сидел в кресле. В жилетке. Он щёлкал вот так…
Гоша поднял руку. Огромную, в крови. Пальцами показал в воздухе — щёлк, щёлк.
И заплакал. Громко. Как ребёнок. Стоя посреди серверной в другом мире, с согнутым знаком «Уступи дорогу» в руке.
— Я забыл его, — плакал Гоша. — Лёша, я его забыл. Как я мог его забыть?
Ника рядом со мной вздрогнула. Подняла голову от моего плеча.
— Палыч, — сказала она. Медленно. Как будто пробуя слово на вкус. — Палыч. Очки. Жилетка. «Шестьсот сорок». Я его… я его поцеловала. В макушку. Когда уходила.
Её глаза стали огромными.
— Я его поцеловала, — повторила она. — И забыла.
Кремень на пороге серверной закрыл глаза. Толян сел на пол рядом с Гошей.
— Весы, — сказал Кремень. Хрипло. — Он мне сказал «весы в порядке». А я знал, что он врёт. Палыч никогда не врал. А тут — врал. Ради тебя, повар. Я всё это время… — Он не договорил.
Режим забвения снят.
Все вспомнили.
Я сидел на полу серверной, с Никой, с архивом на двести сорок семь записей в груди, со счётами на шее, с миллионом долга в интерфейсе — и плакал. Вместе с Гошей. Вместе со всеми.
Потому что теперь — не один.
* * *
Внимание.
Носитель основного долга: Алексей Гордеев.
Технический долг: 1 048 647.
Взыскатель в контуре: отсутствует.
Взыскание в контуре: невозможно.
Инициирована передача носителя в контур, где взыскание возможно.
Канал передачи: исключение «Дверь (кухня, шаурмичная «У Ашота»)».
Время передачи: с наступлением утра контура.
С наступлением утра.
Я посмотрел на часы. Не на свои — у меня не было. На часы на стене серверной. Круглые, офисные. Те самые, что висели у нас над дверью. Они показывали двадцать минут второго.
Утро в Изнанке наступало в шесть.
Четыре с половиной часа.
— Ника, — сказал я.
— Что?
— Сколько отсюда до шаурмичной? Курьерским?
Ника вытерла лицо рукавом. Посмотрела на меня. Поняла не сразу. А потом — поняла.
— Двадцать минут, — сказала она. — А что?
— Я тебе должен две шаурмы, — сказал я. — С кинзой. Девятый пункт плана.
Она смотрела на меня.
— Шаурмичная, — сказала она. — Там же сто двадцать на ней. Пятьдесят процентов за вход.
— Уже нет, — сказал я. — Взыскано. Вместе с ним.
— А у тебя — миллион.
— У меня — миллион, — согласился я. — Что мне пятьдесят процентов от нуля?
Ника засмеялась. Сквозь слёзы. Хрипло, неуверенно. Как в первый день, на бордюре, над первой шаурмой.
— Дурак ты, — сказала она.
— Записал, — сказал я.
Глава 29. Утро
Данила проснулся на середине крика.
Мы поднялись из серверной — все, гуськом, по винтовой лестнице. Я первый. За мной Ника. Гоша — его вели под руки Толян и Кремень. Кирилл. Аркадий Семёнович — медленно, держась за перила, как старик, которым он теперь был. Белые рубашки — за нами, молча. Эдуард — последним.
Я вылез из люка в зал водолечебницы. Пар не поднимался. Ванны стояли тихие, вода в них — гладкая, как зеркало. Под куполом не было облака. Через отверстие в верхушке было видно небо. Тёмное. Ночное. С чем-то, чего я в Изнанке никогда не видел.
Звёзды.
Я не успел на них посмотреть.
— …ТОЙ! — заорал кто-то в двух шагах от меня. — СТОЙ, ОЛЕГ, НЕ НАДО!..
Шара не было.
Человек в растянутом свитере рухнул вперёд — туда, куда тянулся двадцать один год. Рука ударилась о край люка. Он вскрикнул от боли. Перекатился на спину. Очки слетели. Он лежал на мраморном полу, хватал ртом воздух и смотрел вверх, на купол, на звёзды в отверстии.
— Олег… — сказал он. Уже тише. Растерянно.
Я сел рядом с ним. На пол.
— Олега больше нет, — сказал я. — Привет, Данила.
Он повернул голову. Посмотрел на меня — без очков, щурясь. Небритый. Худой. Тридцать четыре года. Двадцать один год назад.
— Ты кто? — спросил он.
— Л., — сказал я. — Алексей. Отладчик. Второй.
Данила смотрел на меня. Долго. Потом — на мой фартук. «Лучший повар в мире». Потом — на счёты у меня на шее.
— Второй, — повторил он. — Сколько я…
— Двадцать один год.
Он закрыл глаза.
— Двадцать один, — сказал он. — Твою ж… — Он не договорил. Открыл глаза. — Ты прочитал? За холодильником?
— Прочитал.
— Ты спросил? Как его зовут?
Я кивнул. Посмотрел за спину. Туда, где у люка стоял Аркадий Семёнович. В пальто — просто пальто. С лицом.
Данила проследил мой взгляд.
Увидел.
Он сел. Резко. Нашёл на полу очки. Надел — криво, одна дужка погнулась. Смотрел на старика у люка.
— Аркадий Семёнович, — сказал он.
— Здравствуй, Даня, — сказал Аркадий Семёнович.
Данила встал. Пошатнулся — ноги, двадцать один год на одном колене, не держали. Я подхватил его под руку. Он не заметил. Он шёл к Аркадию Семёновичу. Три шага.
Остановился. Посмотрел ему в лицо. В лицо, которое теперь можно было видеть.
— Я же говорил, — сказал Данила. Голос дрожал. — Я же говорил, что вытащу.
— Говорил, — сказал Аркадий Семёнович. — Не ты вытащил. Он.
— Неважно, — сказал Данила.
И обнял его. Неловко, крепко, по-мальчишески. Старика в старом пальто. Аркадий Семёнович постоял. Потом поднял руки — медленно, как будто вспоминая, как это делается, — и обнял в ответ.
* * *
Я рассказал Даниле всё по дороге. Быстро, как сводку. Слияние — отменено. Связь — разорвана. Дверь — одна, в шаурмичной. Откат — выключен. Миллион — на мне. Олег — взыскан.
Данила слушал. Шёл, держась за моё плечо. Кивал.
У выхода из водолечебницы я остановился.
— Данила, — сказал я. — Он просил тебе передать. Олег Валентинович. Перед тем как.
Данила остановился тоже.
— Что?
— Что он дослушал. Наконец. Что ты был прав. Про продуктив. Про то, что там не откатывают. — Я помолчал. — И что новости он тебе рассказывал не просто так. Он правда тебя любил. Как сына.
Данила стоял долго. Смотрел на площадь перед водолечебницей. На бронзовую плиту — туристскую, ненастоящую.
— Он каждую неделю приходил? — спросил он.
— Каждую неделю. Двадцать один год. Со стулом и термосом.
Данила кивнул.
— Я не слышал, — сказал он. — Ни разу. — Пауза. — Поздно, Олег Валентинович. Поздно вы дослушали.
Он пошёл дальше. Не оборачиваясь.
* * *
Город был тихим.
Не мёртвым — тихим. Это разное. Мёртвая тишина — это когда звук пропадает, как на Пустыре. А эта — была живая. Просто ночь. Просто улицы. Просто никто не бормочет «отмена».
Тумана не было. Откатышей не было. Небо — тёмное, со звёздами. Неровными, какими-то кривыми, недорисованными. Но звёздами.
Дома стояли на месте. Не разбирались на слои. Не становились сеткой. Просто стояли. Как дома.
У мэрии на площади сидели люди.
Человек сто, может, больше. Сидели на ступенях, на брусчатке, у фонтана. Мётлы, швабры, подносы — валялись рядом. Брошенные.
Они плакали. Многие. Или смотрели перед собой. Или обнимали друг друга.
Фоновые.
Бывшие фоновые.
Парень с метлой — тот, с классом «Эхо», — сидел на нижней ступеньке. Смотрел на свои руки. На мозоли от метлы. Десять лет мозолей.
— Мама, — сказал он, когда мы проходили мимо. Нам, или никому. — Я обещал маме, что скоро. Тут очередь была. Быстрая. Сколько я…
— Десять лет, — сказал я.
Он посмотрел на меня. Глаза — живые. Мокрые.
— Она выключила свет? — спросил он. — Как вы думаете? Я просил не выключать.
Я не знал, что ответить.
— Есть дверь, — сказал я. — В шаурмичной «У Ашота». Через неё можно уйти. Домой. Самому. Когда захочешь.
Он смотрел на меня долго.
— Самому, — повторил он.
— Самому.
На ступенях выше сидел Стёпа. Стажёр. Тот, что тёр медный прут. Тряпка — в руке. Он смотрел на неё. Потом отбросил. Как будто она обожгла.
Кирилл подошёл к нему. Сел рядом. Ничего не сказал. Просто сел.
* * *
Шаурмичная стояла на своём месте.
Ставни — подняты. Вечные. Вывеска — «У Ашота». Окно — тёмное.
Я подошёл к двери. Посмотрел «Логом».
Объект: Шаурмичная «У Ашота».
Статус: исключена из Отката (Откат отключён).
Технический долг объекта (размещённый): 0.
Перенос на пользователей: отсутствует.
Ноль.
Я вошёл.
Холодильник гудел. Тихо, ровно, по-домашнему. Зелёная лампочка горела.
Я открыл дверцу. Свет. Холод. Курица в синем тазике. Лаваш. Соус. Капуста. Помидоры. Кинза. Минералка с оленем.
Всё на месте.
— Ну что, — сказал я холодильнику. — Работаешь?
Холодильник загудел чуть громче.
* * *
Это была самая большая шаурма в истории Изнанки.
Не в смысле одной шаурмы. В смысле — их было много. Я делал их одну за другой. Курицу — на сковородку. Лаваш — на стол. Соус. Капуста. Помидоры. Кинза. Завернуть. Следующую.
Кухня была маленькая. Но все как-то поместились. Или не поместились — стояли в зале, на улице, у ставней.
Гоша — на полу у двери. Перевязанный — Марго привела курьеров с бинтами и лекарствами из его же сумки, из угла за холодильником. Здоровье — двадцать девять. Лицо — опухшее, но улыбается.
Ника — на столе. Как всегда. Болтала ногами.
Кремень — в дверях. С тесаком в ножнах. Не входил — стоял на пороге, смотрел.
Толян — рядом с Гошей. Ел уже третью.
Марго — у окна. Гарнитура на шее.
Кирилл. Стёпа. Парень с классом «Эхо» — его звали Илья, выяснилось. Тётя Лара с термосом. Дядя Миша с монтировкой. Эдуард — снаружи, на бордюре. Один. Ему вынесли шаурму. Он взял. Посмотрел. Ел медленно.
Данила стоял у стены. У той, за холодильником. Я отодвинул его — первым делом. Данила читал.
Свою надпись. «Если ты это читаешь — ты Отладчик».
Мою — под ней. «Нашёл тридцать восемь. Колонку, фонарь, библиотеку. Перечитал «Таинственный остров». Неплохо, но ты преувеличиваешь — 47 раз многовато».
Мою вторую. «Не всегда. Ника — 20. Не отдал. Не спросил. Ушла».
Данила дочитал. Обернулся ко мне.
— Сорок семь — это нормально, — сказал он. — Там в конце капитан Немо. Это стоит сорока семи.
— Я дочитал до капитана Немо.
— И?
— И сорок семь — нормально, — согласился я.
Данила засмеялся. Впервые. Хрипло, с непривычки.
Потом снова посмотрел на стену. На «Ника — 20. Не отдал. Не спросил».
Посмотрел на Нику на столе.
— Это она? — спросил он тихо.
— Она.
— Отдал потом?
— Она сама отработала.
— А спросил?
— Спросил, — сказал я. — Потом. Когда понял.
Данила кивнул. Как будто это было главное.
— Я Олега не спросил, — сказал он. — Тогда. Двадцать один год назад. Я ему сказал — разорву связь. Не спросил, чего он боится. Просто сказал. И пошёл. — Он посмотрел на свои руки. — Может, если бы спросил…
Он не договорил.
* * *
Аркадий Семёнович сидел в зале, в Данилином кресле из библиотеки — его так и оставили здесь. Ел шаурму. Медленно. Аккуратно. Держал двумя руками.
— Двадцать пять лет, — сказал он, когда я сел рядом. — Двадцать пять лет я не ел, Алексей. Взыскателю не надо есть. — Он посмотрел на шаурму. — Я забыл, какая она.
— Какая?
— Вкусная, — сказал Аркадий Семёнович. — Простая. Вкусная.
* * *
Ника слезла со стола, когда я сделал последнюю.
Подошла. Встала рядом. Смотрела, как я заворачиваю лаваш.
Я завернул. Взял ещё одну — которую отложил раньше. Протянул ей обе.
— Две, — сказал я. — С кинзой. Одна — за первый день. Одна — за то, что вернулась.
Ника взяла. Обеими руками. Как в первый день. Как будто это была не еда, а младенец. Или граната.
Понюхала.
— Курица, — сказала она.
— Курица.
Она откусила от первой. Закрыла глаза. Жевала долго.
Не плакала. Улыбалась.
— Ну, — сказала она, прожевав. — Квиты.
— Квиты, — сказал я.
— Не совсем, — сказала Ника. — Ты мне ещё должен. За «дурак». Я тебя назвала дураком раз сорок. Ты каждый раз говорил «записал». Где записал?
Я достал коленкоровый блокнот Палыча. Открыл последнюю страницу. Ту, где мой план.
Под девятым пунктом, «Две шаурмы — Нике. С кинзой», я написал:
«10. Дурак — записал. 40 раз. — Л.»
Показал ей.
Ника прочитала. Засмеялась. Ударила меня в плечо. Не сильно.
* * *
Дверь кухни была деревянная. Простая. С табличкой.
«Посторонним вход воспрещён». «Посторонним» — зачёркнуто. Сверху маркером — «Никому». Ниже, мелко — «Кроме меня».
Я посмотрел на неё «Логом».
Объект: Дверь (кухня, шаурмичная «У Ашота»).
Статус: исключение из разрыва связи (Патч).
Тип: проход в контур ПРОД.
Режим: ручной.
Условие прохода: добровольное намерение пользователя.
Я взял маркер. Зачеркнул «Никому». Зачеркнул «Кроме меня».
И написал ниже, большими буквами:
«КАЖДОМУ, КТО ЗАХОЧЕТ».
Данила стоял рядом. Смотрел.
— Хорошо, — сказал он. — Лучше, чем у меня.
* * *
Первым пошёл Гоша.
Он встал с пола. Медленно, держась за стену. Двадцать девять процентов. Подошёл к двери. Посмотрел на неё. На надпись.
Обернулся.
— Лёша, — сказал он. — Можно я первый?
— Можно, Гоша.
— Мама там одна. Два года.
— Знаю.
Гоша подумал. Долго. Морщил лоб.
— Я ей скажу, — сказал он. — «Мама, у меня всё хорошо».
Он остановился. Проверил внутри. Я видел — проверял. Как всегда.
— Это правда, — сказал Гоша. Удивлённо. Почти испуганно. — Лёша. Это правда. У меня всё хорошо. Я могу ей это сказать.
Он улыбнулся. Огромный, перебинтованный, с заплывшим глазом. Улыбнулся так, как улыбаются дети, которые нашли подарок под ёлкой.
— Я могу ей сказать правду, — повторил он. — И это будет хорошая правда.
Ника подошла к нему. Обняла. Он обнял в ответ — бережно, как бабочку.
Толян подошёл. Протянул руку. Гоша пожал.
— Без обид, Гош, — сказал Толян.
— Без обид, — сказал Гоша.
Кремень на пороге кивнул ему. Молча. Гоша кивнул в ответ.
Потом Гоша подошёл ко мне.
— Лёша, — сказал он. — Спасибо, что спрашивал.
— Гоша…
— Не всегда, — сказал Гоша. Честно. — Но потом — всегда. Я заметил.
Он взял свой знак. Согнутый пополам «Уступи дорогу». Посмотрел на него. Подумал.
Положил на пол у двери. Аккуратно.
— Пусть тут будет, — сказал он. — Мне там не надо. Там — я просто охранник. А тут пусть будет. Вдруг кому-то понадобится дверь.
Он открыл дверь кухни.
За ней была не кухня. За ней было — светло. Я не видел, что там. Просто свет. Ровный, тёплый. Как от фонаря на Пушкина.
Гоша шагнул.
И его не стало.
Знак «Уступи дорогу» лежал на полу у двери. Согнутый пополам.
* * *
Потом пошли другие.
Не все. Многие. По одному. Сами.
Кирилл — с жёлтым бейджем, который он оставил на столе. Сказал: «Роутер. Наконец-то». Ушёл.
Илья — тот, что с классом «Эхо». Стоял перед дверью долго. Потом сказал: «Свет». И шагнул.
Дядя Миша — с монтировкой. Сказал: «Порулить охота. Тридцать лет рулил». Тётя Лара — с термосом — посмотрела на него, на дверь, на шаурмичную. Налила мне чаю в крышку. Поставила на стол. И ушла с ним. Вместе. Держась за руки.
Стёпа. Двенадцать курьеров Марго. Человек тридцать с вокзала.
Кремень не пошёл.
— Моя земля, — сказал он. Стоя на пороге. — Восемь лет я думал, что она моя. А она была их. — Он кивнул в сторону мэрии. — Теперь — моя. По-настоящему. Без Отката. Без белых рубашек. Я тут останусь. Кто-то же должен держать вокзал.
Толян посмотрел на него. Подумал.
— Я с вами, шеф, — сказал он. — Мне там всё равно светофоры не загораются.
Марго не пошла.
— Курьеры не бросают маршрут, — сказала она. — Пока все не доставлены. Тут ещё человек пятьсот, которые не знают про дверь. Кто-то должен им рассказать. Довезти, кто захочет. — Она поправила гарнитуру. — Потом. Может, через год. Может, никогда. Посмотрим.
Данила не пошёл.
— Мне там пятьдесят пять, — сказал он. — Мамы нет — она болела, когда я пропал. Двадцать один год. Нет её, наверное. Санаторий — может, закрыли. — Он помолчал. — А здесь — фонарь на Пушкина. Библиотека. Холодильник. И тридцать восемь костылей, за которыми надо следить. Без Отката они вечные. Кто-то должен их обслуживать.
— Админ, — сказал я.
— Админ, — согласился Данила. — Без прав. Как раньше.
Аркадий Семёнович не пошёл.
— Я посижу на скамейке, — сказал он. — В сквере у фонтана. Там Даня тень зафиксировал. Двадцать пять лет хотел посидеть. Не было времени.
* * *
Ника стояла у двери.
Долго. Смотрела на свет за ней.
— Мне надо довезти, — сказала она. Не мне. Себе.
— Знаю.
— Та женщина. С ребёнком. Полгода прошло. Я даже не знаю, жива ли… — Голос сорвался. — Я должна её найти. Сказать. Не знаю что. «Простите». Это ничего не изменит. Но я должна.
— Должна, — согласился я.
Она обернулась ко мне.
— А ты?
— А меня выкинет, — сказал я. — С рассветом. Туда же. В прод. С миллионом. — Я посмотрел на интерфейс. — Через двадцать минут.
— Куда выкинет?
— Думаю — в серверную. Откуда пришёл. У нас в офисе. Улица Ленина, сорок два, третий этаж.
Ника смотрела на меня.
— Курьеры, — сказала она, — адрес находят сами.
— Знаю.
— Я тебя найду, Отладчик.
— Записал, — сказал я.
Она шагнула ко мне. Близко. Посмотрела в глаза. Зелёные, злые, мокрые.
И поцеловала. Быстро. В щёку. Неловко. Как Палыча в макушку.
— Это не за шаурму, — сказала она. — Это аванс.
Повернулась.
Шагнула в дверь.
И её не стало.
* * *
Я остался на кухне. Один. Остальные — снаружи, на улице. Кремень, Толян, Марго, Данила, Аркадий Семёнович. И те, кто ещё не решил.
Небо за окном светлело.
Не рывками. Плавно. Медленно, как в нормальном мире. От тёмно-синего — к серому. От серого — к чему-то розоватому. На востоке, над крышей вокзала, поднималось что-то.
Солнце.
В Изнанке не было солнца. Никогда. А теперь — поднималось. Кривое, неровное, с пикселями по краям. Недорисованное. Но солнце.
Внимание.
Утро контура.
Откат: не запланирован.
Передача носителя основного долга: начинается.
Канал: исключение «Дверь (кухня, шаурмичная «У Ашота»)».
Я посмотрел на стену. На надпись Данилы. На свои — под ней.
Взял маркер. И дописал. Последнее. Внизу, под всем:
«Холодильник — тебе. Не благодари. Шаурма — это важно.
Плати. Всегда плати.
И спрашивай. Перед тем как нажать — спрашивай. Это одно и то же.
Не трогай, если работает. Но если не работает — не бойся трогать.
— Л.
P.S. Палыч бы посчитал. Он всегда считал правильно».
Я закрыл маркер. Положил на стол.
Открыл архив. Нашёл запись.
Архив. Запись 246.
Пользователь: Пётр Павлович.
Класс: Счетовод.
Взыскан: полностью (добровольное погашение залогом).
Остаточные данные (последнее перед взысканием):
«…кого ждут. Надо было считать — кого ждут. Не минуты. Хорошее вложение было. Мальчик. Двенадцать минут — я ошибся. Сильно ошибся. Хорошо, что ошибся…»
Я закрыл архив.
Двести сорок семь записей. Тяжело. Как рюкзак, набитый книгами. Как блокнот в коленкоровой обложке.
Я понесу.
Счёты стукнули о фартук. Щёлк.
* * *
Я вышел на улицу. Последний раз.
Данила стоял у ставней. Аркадий Семёнович — рядом. Кремень и Толян — у бордюра. Марго — с гарнитурой.
— Ну, — сказал Данила. — Иди, второй.
— Иду, первый.
— Как там? В проде?
— Не знаю, — сказал я. — Узнаю — напишу.
— Связь разорвана.
— Я найду, как, — сказал я. — Я же Отладчик.
Данила засмеялся.
Аркадий Семёнович подошёл. Протянул руку. Сухую, немолодую. С белой полоской от кольца.
Я пожал.
— Миллион, — сказал он. — Тяжёлый.
— Тяжёлый.
— Долг — это когда есть кому отдавать, — сказал Аркадий Семёнович. — Значит, ещё не всё кончено.
— Так Данила говорил.
— Так Данила говорил, — согласился он.
Передача носителя: 10 секунд.
Я посмотрел на город. Серые улицы, которые больше не будут сеткой. Аптеку. Остановку.
Женщину на плакате.
У неё было два глаза. Зелёных. Оба.
Объект: Текстура (рекламный плакат).
Статус: загрузка завершена.
Попыток: 4 049.
Загрузилась.
Я улыбнулся ей.
Передача носителя: выполняется.
Мир дрогнул.
Как в серверной. Как в первую ночь. Пол стал мягким, как пластилин. Небо потекло.
Я успел увидеть, как Данила машет мне рукой. Как Толян чешет лысину. Как Кремень кивает.
И как Аркадий Семёнович, старик в старом пальто, медленно идёт по улице к скверу. К фонтану. К скамейке, где тень никогда не сдвигается.
Потом — свет.
Ровный, тёплый.
Как от фонаря на Пушкина.
Глава 30. Закрытие квартала
Пол был холодный. Плитка. Серая, офисная, с трещиной у левой стойки.
Я лежал на спине и смотрел в потолок. Потолок был белый, подвесной, с квадратами. Один квадрат — с жёлтым пятном. Протечка. Я три года писал заявку в управляющую компанию.
Гудели серверы.
Я повернул голову. Стойки. Огоньки — зелёные. Все. Кондиционер на стене, обмотанный скотчем. Серый пластиковый стул. Кружка на полу — «Я не тормоз, я обновляюсь». С недопитым чаем. Чай покрылся плёнкой. Старой. Пятинедельной.
И главный сервер. На двух кирпичах.
Зелёный огонёк. Ровный. Спокойный.
Я сел.
На мне был фартук. «Лучший повар в мире». Выцветший, в пятнах от соуса. Под ним — моя рабочая рубашка, грязная, мятая. На шее — счёты. Деревянные, с костяшками, на шнурке.
Щёлк.
Я посмотрел на свои руки. Обычные. Мои.
Потом посмотрел перед собой. Специально. Внимательно. Как смотрел на всё подряд пять недель.
Объект: Кружка керамическая.
Контур: ПРОД.
Статус: требует мытья.
Я засмеялся. Тихо. Сидя на полу серверной.
«Лог» работал.
* * *
Пользователь: Алексей Гордеев.
Класс: Отладчик.
Контур: ПРОД.
Уровень: 5.
Навык «Лог»: активен.
Навык «Костыль»: [недоступно в контуре ПРОД].
Навык «Патч»: использован (1/1).
Архив: 247 записей.
Технический долг: 1 048 647.
Статус: не погашен.
Не погашен.
Миллион. На мне. В проде.
Я закрыл интерфейс. Встал. Ноги затекли — я, видимо, долго лежал. Подошёл к двери серверной. Стеклянной, с наклейкой «Посторонним вход воспрещён», которая отклеилась с левого верхнего угла.
Я её приклеил обратно. Пальцем. Наконец-то.
Набрал код. Один-два-три-четыре.
Вышел.
* * *
В опенспейсе горел свет. Весь. Все лампы.
За окнами было серо — раннее утро. Город просыпался. Где-то внизу, на улице, проехал троллейбус. Настоящий. С рогами на проводах. Над ним — я невольно посмотрел — не висел голубь.
У кулера, на офисном стуле, сидел Вадим Сергеевич.
В пальто, наброшенном на плечи. В домашних тапочках. С телефоном в руке. Фонарик на телефоне был всё ещё включён — батарея, видимо, почти села, свет был тусклый. Он сидел так, видимо, всю ночь. Смотрел на дверь серверной.
Увидел меня.
Телефон выпал у него из рук. Стукнулся об пол. Фонарик погас.
— Лёш? — сказал Вадим Сергеевич. Голос был тонкий. — Лёш, это… ты?
— Я, Вадим Сергеевич.
Он смотрел на меня. На фартук. На счёты. На пятинедельную щетину.
— Настоящий?
— Настоящий.
— А тот?.. — Он показал дрожащим пальцем на кулер. — Ночью. Тут. Высокий такой. Из кусков. Я думал, это ты. Я ему сказал: «Лёш, ну наконец-то». А он…
— Это был не я, — сказал я.
— А кто?
Я подумал. Как объяснить коммерческому директору, который шесть лет не понимает шуток после десяти вечера, что ночью в его опенспейсе стояла удалённая запись из тестового контура, собранная из мусора синхронизации?
— Подрядчик, — сказал я.
Вадим Сергеевич моргнул.
— Подрядчик?
— Подрядчик. Тот, который ставил обновление. Неудачно. Я откатил. — Я помолчал. — То есть нет. Не откатил. Отменил. В проде не откатывают.
Вадим Сергеевич смотрел на меня долго.
Потом встал. Подошёл. Медленно, шаркая тапочками. Остановился передо мной.
И обнял.
Неловко. По-начальнически. Похлопал по спине. Два раза.
— Пять недель, Лёш, — сказал он мне в плечо. — Пять недель. Полиция. Объявления. Мать твоя каждый день звонила. Я… — Он отстранился. Посмотрел мне в лицо. Глаза у него были красные. — Я думал, ты умер. Честно. Думал — всё. Довели. Закрытием квартала довели.
— Почти, — сказал я.
* * *
Я позвонил маме.
С офисного телефона. Своего у меня не было — он остался у Ники. В Изнанке. Или уже не в Изнанке. Я не знал.
Мама взяла трубку после первого гудка. Как будто сидела рядом с телефоном пять недель.
— Алло? — сказала она. — Алло, кто это?
— Мам, — сказал я. — Это я.
Тишина в трубке. Долгая. Потом — звук. Такой, какой я не слышал от неё никогда. Как будто кто-то сел на пол.
— Лёша, — сказала мама. — Лёшенька.
— Мам, у меня всё хорошо.
Я сказал это — и остановился. Проверил внутри. Как Гоша.
Миллион долга. Архив на двести сорок семь человек в груди. Счёты Палыча на шее. Данила с фонарём на Пушкина. Аркадий Семёнович на скамейке в тени, которая не двигается. Пустое место в коленкоровом блокноте, где последняя запись — «я ошибся. Сильно ошибся».
И всё-таки.
— Это правда, мам, — сказал я. — У меня всё хорошо.
* * *
Вадим Сергеевич сварил кофе. Сам. В офисной кофемашине, которую никто, кроме бухгалтерии, не умел включать. Принёс мне. Поставил на стол.
На моём столе лежал лист. Белый, с фотографией. Я в колпаке. «ПРОПАЛ ЧЕЛОВЕК».
Я перевернул его лицом вниз.
— Лёш, — сказал Вадим Сергеевич. Осторожно. Как говорят с больным. — Ты, это. Отдохни. Сколько надо. Неделю. Две. Я Генеральному скажу.
— Спасибо.
— Только… — Он замялся. Посмотрел на мой монитор. Выключенный. — Только, Лёш. Тут такое дело. Квартал.
— Что — квартал?
— Не закрыли, — сказал Вадим Сергеевич. Виновато. — Квартал. Третий. Пять недель. Без тебя никто не смог. База висит. Подрядчики приходили — другие, нормальные, — три дня сидели, сказали: «Кто-то тут что-то подкрутил, мы не понимаем, что, без вашего айтишника не трогаем». И ушли.
— Не тронули?
— Не тронули. Сказали — опасно. Сказали — «не трогайте, оно работает».
Я засмеялся. Громко. Вадим Сергеевич смотрел на меня испуганно.
— Носки, — сказал я сквозь смех. — Носки на четыре миллиона.
— На шесть уже, — сказал Вадим Сергеевич. Совсем убито. — Октябрь же тоже.
* * *
Я включил монитор.
База. Та же самая. Окно закрытия квартала. Полоска загрузки.
Девять процентов.
Пять недель — девять процентов. Она ждала меня. Как голубь в лаге над троллейбусом.
Я посмотрел на неё. «Логом». Впервые. В проде.
Объект: Процесс «Закрытие периода».
Контур: ПРОД.
Статус: ожидание.
Причина ожидания: блокировка таблицы (сеанс пользователя Гордеев А., не завершён).
Время ожидания: 35 дней 6 часов.
Блокировка таблицы. Мой сеанс. Я ушёл в серверную перезагружать сервер — и не закрыл свой сеанс. Пять недель база ждала, пока я его закрою. Пять недель подрядчики не могли понять, что «кто-то подкрутил». Никто ничего не подкручивал.
Просто я не вышел из системы.
Я нажал «Завершить сеанс».
Полоска дрогнула.
Девять. Двенадцать. Двадцать. Сорок.
Вадим Сергеевич стоял у меня за плечом. Смотрел на экран. Не дышал.
Шестьдесят. Восемьдесят. Девяносто пять.
Сто.
Закрытие периода: выполнено.
Вадим Сергеевич выдохнул. Так громко, что булькнул кулер.
— Лёш, — сказал он. — Ты гений.
— Нет, — сказал я. — Я просто нашёл ошибку.
* * *
Телефон на моём столе зазвонил в восемь двадцать.
Офисный. Внутренний. С ресепшена.
— Алексей? — сказала девушка с ресепшена. Новенькая, я её не знал. — Тут к вам курьер. Говорит — лично. Говорит — заказ на ваше имя.
— Какой заказ?
— Не говорит. Говорит — лично. Рыжая такая. С велосипедом.
Я положил трубку.
Встал.
Вадим Сергеевич посмотрел на меня.
— Лёш, ты куда?
— Мне привезли, — сказал я. — Я ненадолго.
* * *
Она стояла у входа в бизнес-центр. На тротуаре. Рядом — велосипед, старый, с курьерским коробом на багажнике. Куртка — оранжевая, с логотипом курьерской службы, которой здесь не было уже двадцать лет. Мой телефон торчал у неё из кармана.
Рыжий хвост на резинке от денег.
Она увидела меня. В фартуке «Лучший повар в мире». Со счётами на шее.
Не улыбнулась. Посмотрела оценивающе. Как в первый день — на асфальте, над моими ботинками.
— Вы Гордеев? — спросила она. — Алексей?
— Я.
— Вам заказ. — Она открыла короб. Достала свёрток. Бумажный пакет. Тёплый. Протянула мне. — Шаурма. Две штуки. С кинзой.
Я взял. Развернул край пакета. Пахло курицей, соусом и кинзой.
И почему-то мандаринами.
— Откуда? — спросил я.
— «У Ашота», — сказала Ника. — На углу. Настоящая. Он, оказывается, двадцать лет назад закрывался, а потом снова открылся. Ты знал?
— Знал. Я там каждый день ел.
— Я заказала. Сказала — для Отладчика. Ашот не понял. Но завернул.
— Оплачено?
— Оплачено. Тридцать минут.
— Минут?
— Рублей, — поправилась Ника. — Триста рублей. Привычка.
Мы стояли на тротуаре. Мимо шли люди. Офисные, в пальто, с кофе. На работу. Никто не смотрел на нас.
— Ты нашла её? — спросил я.
Ника помолчала. Посмотрела в сторону. На троллейбус, который проехал мимо.
— Нашла, — сказала она. — Вчера. Адрес был в старом приложении — в моём телефоне. То есть в твоём. Я его не выключала полгода. Там вся история заказов осталась.
— И?
— Ребёнок живой, — сказала Ника. — Мальчик. Четыре года. Бегает. — Голос дрогнул. — Она меня не узнала. Открыла дверь — смотрит. Я говорю: «Простите. Я полгода назад не довезла вам лекарство. Нажала "Доставлено" и уехала». Она смотрит. Долго. Потом говорит: «А, это вы». Я думала — сейчас начнёт. А она говорит: «Соседка тогда в аптеку сбегала. Всё обошлось». И…
Ника замолчала.
— И?
— И налила мне чаю, — сказала Ника. — Я сидела у неё на кухне. Пила чай. Она рассказывала про мальчика. Как он в садик пошёл. А я сидела и не могла поверить, что всё. Что я полгода… что я в другом мире… а она просто — налила чаю.
Она вытерла лицо рукавом.
— Довезла, — сказал я.
— Довезла, — сказала Ника. — Поздно. Но довезла.
* * *
Мы сели на бордюр. Прямо у входа в бизнес-центр. Как на бордюр у шаурмичной.
Ника вынула из кармана мой телефон. Положила мне на колени.
— Твоё, — сказала она. — Было твоё. Теперь опять твоё.
Я развернул шаурму. Протянул ей одну. Она взяла.
Откусили одновременно.
Шаурма была вкусная. Настоящая. Из настоящей курицы. За настоящие триста рублей. Хуже, чем та, что я делал из Данилиного холодильника. Но лучше всего, что я ел в жизни.
— Гоша? — спросил я.
— Звонил, — сказала Ника. С набитым ртом. — Вчера вечером. На твой телефон, ты ему номер давал когда-то, он запомнил. Сказал: «Ника, у меня всё хорошо». И молчал. Долго. А потом сказал: «Это правда». И засмеялся. И мама его там на фоне плакала. — Она помолчала. — Он в «Вертикаль» вернулся. Охранником. Его взяли обратно. Говорит, теперь каждый раз, когда кто-то заходит, он говорит «добрый день» и думает — а вдруг это кто-то из наших.
— А Кирилл?
— Не знаю. Роутер, наверное, обновляет.
Мы ели. Молча. Мимо шли люди.
* * *
Технический долг: 1 048 647.
Контур: ПРОД.
Статус: не погашен.
Строка висела в правом нижнем углу. Как всегда. Маленькая. Тихая.
Я её не трогал. Пусть висит.
А потом — ниже — появилась ещё одна.
Новая. Я её не звал.
Взыскатель (контур ПРОД): назначен.
Расстояние: 3,4 км.
Я перестал жевать.
Ника посмотрела на меня. На моё лицо. Она всегда умела читать моё лицо. Лучше «Лога».
— Что? — спросила она.
— Ничего, — сказал я.
— Отладчик.
— Взыскатель, — сказал я. — Здесь. В проде. Назначен. Три и четыре километра.
Ника медленно опустила шаурму.
— Кто?
— Не знаю.
— Кого назначили?
— Не знаю, Ника.
Мы сидели на бордюре. Смотрели в конец улицы. Туда, где за перекрёстком, за домами, за торговым центром «Вертикаль» был город. Обычный. Утренний. Живой.
Где-то там, в трёх и четырёх десятых километра, кто-то шёл.
Расстояние: 3,3 км.
Медленно. Неторопливо. Как идут люди, которые знают, что их всё равно дождутся.
* * *
У меня зазвонил телефон. Мой. Тот, что Ника вынула из кармана и положила мне на колени — минуту назад. Пять недель он был у неё. Теперь — у меня.
Номер был незнакомый.
Я посмотрел на Нику. Ника пожала плечами.
Я нажал «Ответить».
— Лёш? — сказал Вадим Сергеевич. Из офиса. С чужого номера — с городского, наверное. — Лёш, ты где? Ты сказал — ненадолго. Тут такое дело. Квартал-то мы закрыли. А октябрь? Месяц-то тоже надо закрывать. Ты бы глянул? Там опять полоска какая-то. Девять процентов.
Я засмеялся.
Ника смотрела на меня. Не понимала. Я покачал головой — потом расскажу.
— Лёш? — сказал Вадим Сергеевич. — Ну что там?
Я посмотрел на правый нижний угол.
Технический долг: 1 048 647.
Взыскатель: в пути.
Расстояние: 3,2 км.
Посмотрел на Нику. Рыжую, злую, с шаурмой в руке. Довезла.
Посмотрел на счёты у себя на шее.
Щёлк.
— Работает, Вадим Сергеевич, — сказал я. — Всё работает.
Я положил трубку.
— Ника, — сказал я. — Можно я тебя спрошу?
Она посмотрела на меня. Долго. Своими зелёными глазами. Потом — в конец улицы. Туда, где в трёх и двух десятых километра кто-то шёл.
Потом — обратно на меня.
— Спрашивай, — сказала Ника. — Ты же теперь всегда спрашиваешь.
Расстояние: 3,1 км.
Я спросил.
* * *
Конец первой книги.
Спасибо за чтение
Вернуться к книге
