Дверь открылась с тихим шипением, больше подходящим для шлюза космического корабля. Внутри бар напоминал гибрид советской рюмочной и серверной Google – вдоль стен тянулись стойки с мигающими серверами, а между ними притулились обшарпанные столики с кружками, в которых пиво странным образом мерцало всеми цветами радуги.
За одним из столиков сидела девушка, одетая в чёрную толстовку с принтом командной строки Linux. Она с отсутствующим видом печатала что-то на старом ноутбуке, экран которого отражался в её глазах строчками зелёного кода. Заметив Ивана, она подняла голову и улыбнулась улыбкой, в которой было что-то от программного сбоя.
– mkdir meeting && cd meeting, – сказала она вместо приветствия. – Присаживайся, Ваня. Я /dev/null, но можешь звать меня просто Нуля.
Иван сел напротив, машинально отметив, что её лицо словно собрано из пикселей, которые иногда самопроизвольно перемешивались, как в сломанном мониторе.
– Что за хрень творится? – спросил он, выкладывая на стол флешку. – Сначала эти баги в офисе, потом цифровой призрак в серверной, теперь этот бар…
– Подожди, – перебила его Нуля, быстро набирая что-то на клавиатуре. – Сначала надо проверить, не прослушивают ли нас.
Она нажала Enter, и вокруг их столика возник едва заметный голубоватый купол.
– Файрвол, – пояснила она. – Самописный. Теперь можно говорить. Только сначала закажи что-нибудь. Здесь не любят, когда места занимают просто так.
Иван огляделся. За барной стойкой материализовался давешний бармен, протирающий стакан квантово запутанной тряпкой – она существовала одновременно во всех возможных состояниях чистоты.
– Мне… это… водки?
– Настоящей или симулированной? – деловито уточнил бармен.
– А есть разница?
– Никакой, – усмехнулся бармен. – Как и во всём остальном.
Бармен поставил перед Иваном стакан с прозрачной жидкостью, которая меняла агрегатное состояние каждые несколько секунд.
– Ты заметил, что реальность начала сбоить, – Нуля закрыла ноутбук. – Это не баг, Ваня. Это фича. Проект "ЦифроРусь" запущен уже давно, лет пять назад. То, что ты видишь сейчас – это последствия обновления системы до версии 2.0.
Иван сделал глоток. Водка на вкус напоминала двоичный код – нули и единицы обожгли горло.
– Какого обновления? О чём ты вообще?
– Помнишь, когда ты в последний раз видел настоящий закат? – вместо ответа спросила Нуля. – Не это вылизанное RGB-небо с идеальной цветокоррекцией, а настоящий, с неровностями и несовершенствами?
Иван попытался вспомнить и не смог. Все закаты в его памяти вдруг показались подозрительно похожими, будто рендеренными одним и тем же алгоритмом.
– Мы живём в отрендеренной реальности, Ваня. Твоя нейросеть для дипфейков – это только верхушка айсберга. Настоящий проект гораздо масштабнее: они создают полноценную замену реальности. И знаешь, что самое смешное? – Нуля придвинулась ближе. – Ты сам приложил к этому руку.
– Я? Каким образом?
– Помнишь тот код, который ты написал три года назад? Проект "Зеркало"?
Иван нахмурился. Что-то шевельнулось в памяти, но воспоминание ускользало, как строчка кода с ошибкой компиляции.
– Это был алгоритм для… – он запнулся. – Чёрт, я не помню.
– Конечно не помнишь. Они подчистили память. Но код остался, – Нуля постучала пальцем по флешке. – Прямо здесь. Это бэкап твоего сознания, сделанный до того, как они начали редактировать реальность.
За соседним столиком кто-то громко рассмеялся. Иван обернулся и увидел компанию молодых людей, застывших в неестественных позах. Их лица периодически распадались на полигоны.
– NPC, – пояснила Нуля. – Массовка для поддержания иллюзии социальной жизни. В последней версии их немного глючит.
Иван почувствовал, как к горлу подступает тошнота. Он снова посмотрел на флешку.
– И что там, в этом бэкапе?
– Правда. Настоящий код проекта "Зеркало". Алгоритм, который ты создал для… – Нуля вдруг замерла на полуслове. Её глаза расширились. – Чёрт. Они засекли нас. Фаервол взломан.
Свет в баре мигнул. Музыка из колонок превратилась в белый шум. Бармен за стойкой начал распадаться на пиксели.
– Быстро, – Нуля вскочила, сунула ноутбук в рюкзак. – Уходим через чёрный вход. У нас три минуты до полной перезагрузки локации.
– Куда уходим?
– В единственное место, где ещё сохранилась настоящая реальность. В глубокий оффлайн.
Нуля схватила Ивана за руку и потащила через зал. Вокруг них реальность начала распадаться: стены бара покрылись строчками ошибок, потолок мерцал текстурами системных сообщений, NPC за столиками застыли в T-позах, как сломанные 3D-модели.
"CRITICAL ERROR: Reality synchronization failed"
"BACKUP SYSTEMS OFFLINE"
"EMERGENCY SHUTDOWN INITIATED"
"PLEASE REMAIN CALM"
Надписи плыли в воздухе, складываясь в жуткий текстовый коллаж.
– Сюда! – Нуля толкнула неприметную дверь с надписью "source code". За ней оказалась лестница, ведущая куда-то вниз.
– Подожди, – Иван остановился. – Почему я должен тебе верить? Может, это ты глюк системы?