Ночь. Часть четвёртая. Две Беловки. Глава 4
ДВЕ БЕЛОВКИ
Глава четвёртая
Не по именам. По связям
Металл скрипнул ещё раз.
До первого перехода оставалось двадцать две секунды.
И никто уже не знал, кто должен перейти первым: ребёнок, кошка, Григорий или тот, кто говорил его голосом из рации.
— Не переходи, — повторил Оставшийся.
Голос был глухим, будто шёл не из рации, а из закрытой комнаты.
Григорий стоял у калитки и смотрел на мостик.
Кованая калитка была заперта. Два замка на месте. Цепь держала створку. Мокрый металл блестел в свете фонаря. Всё выглядело правильно.
Кроме того, что мостик уже начал опускаться.
Медленно.
Упрямо.
Так, будто замки, цепь и калитка были придуманы для людей, а настоящая дверь открывалась совсем в другом месте.
— Где ты? — спросил Григорий в рацию.
Пауза.
Шум дождя.
Треск связи.
Оставшийся ответил:
— Не там, где ты меня ищешь.
Лёша стоял у двери Надгреба и смотрел на мостик.
— Ну прекрасно. Очень конкретно. Прям координаты прислал.
Катюша подняла смартфон выше.
Наша Катя. Девушка Александра. Маркетолог. Человек, который умел из сложного сделать понятное — иногда быстрее, чем остальные успевали понять, что именно стало сложным.
На экране был летний лес. Сергей с Аликом. Катерина с Маратом. Света с Дианой. С той стороны — солнце. С этой — гроза.
А между ними — мостик, который не имел права двигаться.
Саша говорил в рацию быстро, но уже без паники:
— Пап, я не вижу Оставшегося как отдельный узел. Он не у ворот. Не в старом доме. Не у калитки.
— Тогда откуда голос?
— Из маршрута.
— Объясни.
— Он между состояниями. Как зависший процесс. Как переход, который не завершился.
Григорий сжал рацию.
— Не смешивай его с Первым читателем.
— Я не смешиваю. Это система смешивает.
Маруся стояла у края мостика и не шипела.
Она просто смотрела на металл.
За рвом Диана всё ещё тянула руку вперёд. Уже не к Марусе. К самому мостику.
И это было хуже.
— Света! — резко сказал Григорий в телефон. — Отойди назад!
Сигнал прошёл с задержкой.
Света подняла голову.
— Григорий Игоревич? Я вас слышу, но не вижу.
— Не надо видеть. Отойди от мостика. Унеси Диану.
Сергей, удерживая рвущегося Алика, обернулся к Свете:
— Света, назад. Быстро.
Катерина потянула Марата в сторону леса.
Марат пошёл.
Алик — нет.
Алик был резвый, непослушный, упрямый. Он упирался, хрипел, рвался вперёд и одновременно пятился назад. В его теле будто спорили две команды: подойти и убежать.
Саша сказал:
— Таймер не останавливается.
00:00:18
— Саша, кто считается первым переходом?
— Любой устойчивый контакт между слоями.
— Физический?
— Уже нет.
Григорий посмотрел на Диану.
— Взгляд?
— Возможно.
— Голос?
— Возможно.
— Имя?
Саша не ответил.
И это стало ответом.
Телефон Катюши мигнул.
На экране над людьми за рвом появились подписи:
SVETLANA
(Светлана)
KATYA
(Катя)
SERGEY
(Сергей)
CHILD
(ребёнок)
Катюша нахмурилась.
— Нет. Пошла путаница.
— Что? — спросил Григорий.
Она развернула экран.
— Свету подписало как Светлану. Катерину — как Катю.
Из Дровяника сразу включилась Светик:
— Что значит «как Светлану»?
Голос у неё стал ровным. Опасно ровным.
Галина Алексеевна ответила раньше всех:
— НОЧЬ путает не имена. Она путает связи.
На экране подписи снова дрогнули.
Над Катюшей, стоявшей рядом с Григорием, появилось:
KATERINA
(Катерина)
Над Светик в Дровянике:
SVETA
(Света)
Над Светой за рвом:
WIFE
(жена)
Над Катериной:
KATYA
(Катя)
Лёша посмотрел на экран.
— Вот это уже мерзко.
— Не смотреть на подписи, — сказала Галина Алексеевна. — Смотреть на людей.
Старый дом за спиной хлопнул картой по столу.
Мальчишеский голос сказал:
— Ошибка. Один лишний.
На ноутбуке у Саши вспыхнуло:
IDENTITY CONFLICT EXPANDED
(конфликт личностей расширен)
Потом:
RESOLVE BY NAME
(решить по имени)
Григорий резко повернулся к старому дому.
— Нет.
Светик тихо:
— Гриша…
— Нет, — повторил он. — Не по именам.
Дождь ударил сильнее.
Мостик опустился ещё на несколько сантиметров.
00:00:14
Оставшийся сказал:
— Она заставит выбрать.
— Кого?
— Настоящего.
— И что будет с остальными?
Пауза.
— Их объявят ошибкой.
Григорий закрыл глаза на секунду.
Вот оно.
Не мостик.
Не калитка.
Не старый дом.
Это был тот же ход, только глубже.
В третьей части НОЧЬ разделила Григория. Потом разделила Беловку. Теперь она бралась за всех.
Если две Светы — выбери настоящую.
Если две Кати — выбери настоящую.
Если два Григория — выбери настоящего.
Если три Беловки — выбери ту, которая имеет право остаться.
А кто не выбран — тот лишний.
Григорий открыл глаза.
— Не получится.
— Пап? — сказал Саша.
— Всем молчать.
Он сказал это негромко.
Но так, что даже Лёша перестал дышать в рацию.
Григорий шагнул ближе к калитке.
Маруся не сдвинулась.
Значит, ещё можно.
— Саша, вводи ручной протокол.
— Какой?
— Наш.
На экране появилось новое окно:
MANUAL ID PROTOCOL
(ручной протокол имён)
Саша быстро печатал.
— Пап, диктуй.
Григорий говорил чётко, не отрывая взгляда от мостика:
— Светик — внутри Беловки. Светлана Белова. Наш дом.
Саша ввёл:
SVETIK_BELOVA = GRIGORY / HOME / INSIDE
(Светик Белова — Григорий, дом, внутри)
Строка мигнула красным.
CONFLICT: DUPLICATE NAME
(конфликт: имя повторяется)
— Она не принимает, — сказал Саша. — Для неё две Светы — это дубль.
— Тогда пиши не имя, — сказал Григорий. — Пиши связь.
Саша дописал:
SVETIK_BELOVA = GRIGORY / HOME / INSIDE / TRUST
(Светик Белова — Григорий, дом, внутри, доверие)
Экран принял строку.
CONFIRMED
(подтверждено)
— Катюша — здесь. Катя Королькова. Связь, телефон, команды людям.
Катюша коротко кивнула:
— Принято.
Саша ввёл:
KATYUSHA_KOROLKOVA = INSIDE / COMMUNICATION / VOICE
(Катюша Королькова — внутри, связь, голос)
Экран принял строку.
— За рвом — Катерина. Рядом с Сергеем. Держит Марата.
KATERINA_OUTSIDE = SERGEY / MARAT / OUTSIDE
(Катерина за рвом — Сергей, Марат, снаружи)
Система снова мигнула:
CONFLICT: KATYA / KATERINA
(конфликт: Катя / Катерина)
— Нет, — сказал Григорий. — Катюша здесь. Катерина за рвом.
Саша дописал:
KATERINA_OUTSIDE = LOCATION_CONFIRMED
(Катерина подтверждена местом: за рвом)
Конфликт исчез.
— Света — за рвом. С Дианой.
Саша ввёл:
SVETA_OUTSIDE = DIANA / OUTSIDE
(Света за рвом — с Дианой, снаружи)
Система снова мигнула:
CONFLICT: SVETA / SVETLANA
(конфликт: Света / Светлана)
Светик из Дровяника сказала:
— Света, слышишь меня?
Сигнал прошёл с задержкой.
Света подняла голову.
— Тётя Света?
— Да. Света, держи Диану крепче. Не смотри на мостик. Слушай Григория.
Света прижала Диану к себе и сделала шаг назад.
На экране Саши строка дрогнула.
SVETA_OUTSIDE: CONFIRMED BY VOICE
(Света за рвом подтверждена голосом)
Потом появилась ещё одна:
RELATION: FAMILY / TRUST
(связь: семья / доверие)
Катюша тихо сказала:
— Вот. Система искала имя, а сработал голос.
Галина Алексеевна сухо добавила:
— Потому что имя можно перепутать. Доверие — сложнее.
Григорий поднял телефон ближе.
— Света, назад. Не к нам. Домой.
Света кивнула.
— Поняла.
Саша посмотрел на экран.
SVETA_OUTSIDE: STABLE
(Света за рвом: стабильно)
Лёша выдохнул у Надгреба:
— Наконец-то нормальная авторизация. По своим.
Старый дом хлопнул картой.
Громко.
Зло.
На экране появилось:
UNRESOLVED: GRIGORY
(не решено: Григорий)
Оставшийся сказал:
— Теперь ты.
Светик резко:
— Не отвечай один.
Галина Алексеевна:
— Правильно. Он не один.
Саша:
— Пап, не называй себя отдельно.
Лёша:
— Не выбирай персонажа. Собирай аккаунт.
Катюша:
— Григорий Игоревич, не «я». «мы».
Григорий смотрел на калитку.
Мостик висел над рвом, не доходя до другой стороны совсем немного. Если он ляжет, переход станет дорогой. Если станет дорогой — кто-то сделает первый шаг.
— Григорий, — сказал он наконец. — Тот, кто проснулся.
Рация зашипела.
— И Григорий, — добавил он. — Тот, кто остался.
Оставшийся молчал.
— Нас разделила НОЧЬ. Но никто из нас не лишний.
Старый дом ответил мальчишеским голосом:
— Один ход.
Григорий сказал:
— Один человек.
На ноутбуке вспыхнуло:
GRIGORY_AWAKE
(Григорий, который проснулся)
GRIGORY_REMAINING
(Григорий, который остался)
SELECT ONE
(выберите одного)
— Нет, — сказал Григорий.
— Что нет? — спросил Лёша.
— Нельзя выбрать одного Григория.
— Почему?
Григорий и Оставшийся ответили почти одновременно:
— Потому что лишнего нет.
Экран мигнул.
SELECT ONE: FAILED
(выбор одного невозможен)
Потом:
MERGE REQUIRED
(нужно объединение)
Саша резко вдохнул.
— Пап…
— Не сейчас.
— Но оно предлагает merge.
— Оно предлагает кнопку. А нам нужно решение.
Оставшийся тихо сказал:
— Если нажмёте сейчас, она не объединит нас. Она оставит того, кого легче объяснить.
Григорий спросил:
— То есть меня?
— Того, кто удобнее для истории.
— А ты?
— А я опять останусь там, где никто не должен оставаться один.
Светик ответила мгновенно:
— Нет.
Одно слово.
Но так, что спорить не стал никто.
Саша медленно сказал:
— Тогда только без перезаписи.
— Что значит? — спросил Лёша.
— Никого не удаляем. Не заменяем. Не выбираем основного. Ищем согласование состояний.
Григорий усмехнулся краем губ.
— Александр Григорьевич, вот теперь ты говоришь как человек, который понимает, что перед ним не файл.
— А Вы, Григорий Игоревич, — ответил Саша, — как человек, который слишком долго делает вид, что не знает, что такое архитектура системы.
Оставшийся сказал:
— Потом. Если будет потом.
На экране:
MERGE REQUEST: DELAYED
(запрос на объединение отложен)
GRIGORY_STATE: SPLIT BUT LINKED
(состояние Григория: разделён, но связь сохранена)
Мостик остановился.
00:00:09
Лёша шумно выдохнул.
— Девять секунд. Обожаю, когда у нас есть целых девять секунд до конца света.
— Не болтай. Дыши, — сказала Светик.
— Я многофункционален.
Катюша повернулась к экрану.
— Подписи стабилизируются.
Над каждым теперь стояли не имена, а связи.
SVETIK_BELOVA
(Светик Белова)
KATYUSHA_KOROLKOVA
(Катюша Королькова)
KATERINA_OUTSIDE
(Катерина за рвом)
SVETA_OUTSIDE
(Света за рвом)
SERGEY_CHILDHOOD
(Сергей из детства)
DIANA_CHILD
(Диана, ребёнок)
ALEXEY_NADGREB
(Алексей у Надгреба)
ALEXANDER_NETWORK
(Александр держит сеть)
GALINA_ENGINEER
(Галина Алексеевна, инженер)
MARUSYA_GATEKEEPER
(Маруся, хранитель прохода)
Лёша присвистнул.
— Маруся получила роль круче всех.
Маруся не обернулась.
Она явно была согласна.
Над Антошкой появилось:
OBSERVER_DECOY
(ложный наблюдатель)
— Я же говорил, — сказал Лёша. — Антошка MVP, самый ценный игрок.
Галина Алексеевна сухо:
— Алексей, потом будешь праздновать. Сейчас смотри на мостик.
Именно в этот момент мостик дрогнул снова.
Но не вверх.
И не вниз.
Он начал вибрировать.
Мелко.
Часто.
Металл зазвенел.
Алик взвыл.
Катерина, удерживая Марата, подняла голову.
— Резонанс.
Сергей с трудом держал Алика.
— Катя, если это из ЛЭТИ, говори коротко.
— Самое опасное — не самый сильный удар, а тот, который попал в частоту.
Игорь ответил из-за ворот:
— Вот теперь пошла нормальная физика.
Светик резко:
— Игорь, без лекций.
— Это не лекция, Светлана. Это попытка не дать вашей калитке сдать лабораторную вместо нас.
Григорий посмотрел на мостик.
Потом на антенну у калитки.
Потом в сторону ворот, где высокая антенна на контейнере ловила дождь и грозу.
— Контур, — сказал он.
Саша уже печатал.
— Ворота. Антенна на контейнере. Бесшовный интернет. Ретранслятор на калитке. Металлический мостик. Ров как разрыв.
Катерина добавила с той стороны:
— И внешний импульс. Гроза.
Игорь произнёс из-за ворот:
— Собственная частота контура: эф-ноль равно один делить на два пи корень из LC.
Светик не удержалась:
— Игорь, если ты сейчас начнёшь писать формулы на воротах, я тебя лично вычеркну из всех списков.
— Поздно. Формула уже работает.
Саша проговорил вслух:
— f; = 1 / 2;;LC. Если меняем L или C, собственная частота уходит. Если частота уходит, резонанс слабеет.
Лёша повернулся к нему:
— По-человечески.
Григорий ответил:
— Если не можешь остановить грозу, измени контур.
— Чем?
— Граничными условиями.
Галина Алексеевна тут же включилась:
— ЛИАП. Сначала вход, выход, обратная связь и границы системы. Потом уже лезем руками.
Светик добавила из Дровяника:
— А в Корабелке сказали бы проще: если конструкцию ведёт, не дави сильнее. Ищи нагрузку и опору.
Саша кивнул:
— У нас положительная обратная связь. Диана смотрит на Марусю. Маруся держит нашу сторону. Ретранслятор фиксирует контакт. Система усиливает переход.
— То есть чем больше она смотрит сюда, тем сильнее мостик становится дорогой сюда, — сказал Григорий.
— Да.
— Нужна отрицательная обратная связь, — сказала Галина Алексеевна. — То, что вернёт систему к устойчивому состоянию.
Катюша поняла первой.
Не как инженер.
Как человек, который умел превращать сложное в действие.
— Значит, цель должна быть не здесь.
— Да, — сказал Григорий. — Их цель — не Беловка. Их цель — домой.
Катюша подняла смартфон.
Голос её стал ровным, чётким, почти дикторским:
— Сергей, Катерина, Света. Не смотрите на калитку. Не смотрите на мостик. Не смотрите на нас. Разворачивайтесь к своей тропинке. Ваша цель — домой. Не к нам. Домой.
Света крепче прижала Диану.
Диана недовольно пискнула и уткнулась лицом ей в плечо.
— Тихо, маленькая, тихо, — прошептала Света, хотя, кажется, успокаивала уже не ребёнка, а себя.
Катерина потянула Марата назад.
Сергей сказал:
— Алик, домой.
Алик упирался ещё секунду.
Потом сделал шаг назад.
Мостик дрогнул.
И впервые за всю НОЧЬ пошёл вверх.
На ноутбуке у Саши вспыхнуло:
RESONANCE SHIFTED
(резонанс смещён)
FEEDBACK WEAKENED
(обратная связь ослабла)
Лёша выдохнул:
— А если не ослабнет?
Игорь ответил из-за ворот:
— Тогда будем считать, что лабораторную мы завалили.
— Спасибо, Ржевский, — буркнул Лёша. — Очень вдохновил.
Но мостик продолжал подниматься.
Медленно.
Тяжело.
Скрипя металлом так, будто кто-то поднимал не железо, а чужую волю.
UNTIL FIRST CROSSING: PAUSED
(до первого перехода: отсчёт приостановлен)
Саша сказал:
— Переход остановлен.
Лёша поднял руки.
— Всё? Мы победили?
Никто не ответил.
Потому что из старого дома снова донеслась музыка.
Адриано Челентано оборвался на середине фразы.
Потом включился другой звук.
Не песня.
Не карта.
Не мопед.
Голос.
Тот же взрослый, чужой, спокойный.
— Один слой удержали.
На экране ноутбука появилось:
GATE_LAYER ACTIVE
(активирован слой ворот)
Григорий медленно повернулся в сторону ворот.
Там, за дождём, за домом, за контейнерами, стояли КамАЗ, Артём и Игорь.
Саша сказал:
— Пап…
— Что?
— Груз снова изменил статус.
На экране появилась строка:
HUMANITARIAN LOAD: WAITING FOR CONNECTION
(гуманитарный груз ждёт подтверждения связи)
Светик резко спросила:
— Для груза теперь тоже связь нужна?
Оставшийся ответил раньше Саши:
— Да.
Григорий закончил за него:
— Потому что груз ждут там, на передовой.
И в этот момент у ворот ударила молния.
Не где-то в лесу.
Прямо рядом с высокой антенной на контейнере.
Белый свет разорвал ночь.
Камера ослепла.
Рации захрипели.
И среди этого хрипа Артём, позывной Грузин, коротко сказал:
— У нас проблема.
Потом связь оборвалась.
На ноутбуке осталась одна строка:
AIR_DEFENSE_EVENT: RESTORED
(восстановлено событие со сбитым ПВО беспилотником)
Саша побледнел.
— Пап…
Григорий уже понял.
Это был не новый дрон.
Это проснулся след того самого беспилотника, который тогда сбила ПВО.
Рация молчала.
Камера у ворот ослепла.
Мостик завис над рвом.
Старый дом перестал играть музыку.
На несколько секунд вся Беловка стала слишком тихой.
Потом экран мигнул снова.
OBSERVER COUNT: 2
(наблюдателей: двое)
— Первый читатель? — спросил Григорий.
— Да, — сказал Саша. — Но не только.
На экране появилась новая строка:
FIRST_READER: BETWEEN_NODES
(Первый читатель между узлами)
CURRENT_READER: ACTIVE
(текущий читатель активен)
Лёша медленно повернулся к Катюше.
— Это кто?
Катюша смотрела не на мостик.
На текст.
— Тот, кто сейчас читает.
— То есть прямо сейчас?
Саша не ответил.
Потому что система уже вывела следующее:
READING POSITION: CHAPTER 4 / ENDING
(место чтения: конец четвёртой главы)
ATTENTION VECTOR: UNSTABLE
(внимание направлено неустойчиво)
ANCHOR REQUIRED
(нужен якорь)
Григорий почувствовал холод, который не имел отношения к дождю.
— Она смотрит через него, — сказал Оставшийся.
— Через кого? — спросила Светик.
— Через читателя.
Маруся повернула голову к пустоте.
Не к мосту.
Не к калитке.
Не к старому дому.
Туда, где никого не было.
И впервые за всю НОЧЬ зашипела.
На экране появилась последняя строка:
IF READER REMEMBERS FIRST LINE — LOOP RESTARTS
(если читатель вспомнит первую строку — круг начнётся заново)
Григорий понял, что теперь нельзя произносить ни одного лишнего слова.
Потому что где-то по ту сторону страницы кто-то, возможно, уже вспомнил:
НОЧЬ. У меня широко открыты глаза…
И в этот момент у ворот снова ожила рация.
Голос Артёма был глухим, с помехами, но живым:
— Григорий Игоревич… беспилотник…
Связь оборвалась.
На экране вспыхнуло:
NEXT CHAPTER UNLOCKED
(следующая глава открыта)
Свидетельство о публикации №226071602253