Reality Leveling: Исходный код
ГЛАВА 1. NULL POINTER EXCEPTION
Посвящается Себе. Тому, кого я когда-то потерял и нашёл снова.
14:42. Время на экране смартфона казалось насмешкой. Цифры расплывались, дрожа в мутном свете, пробивающемся сквозь плотные шторы блэкаут. Я моргнул, пытаясь счистить с глаз пелену сна, который не принес отдыха. Во рту пересохло, словно я жевал песок, а в затылке пульсировала тупая, свинцовая боль. Не похмелье. Хуже. Это было химическое истощение. Мой мозг, лишенный привычных доз дофамина и серотонина, объявил забастовку, отказываясь запускать тело в новый день.
Хотя какой это «новый» день? Это был тот же самый день, что и вчера, и позавчера. День Сурка, застрявшего в текстурах реальности.
Я лежал, глядя в потолок. Там, в углу, висела паутина. Она появилась недели две назад. Сначала маленькая, почти незаметная нить, теперь — сложная инженерная конструкция. Я наблюдал за ней каждый день, но не находил в себе сил встать, взять швабру и смахнуть её. Зачем? Энтропия все равно победит. Пыль вернется. Пауки вернутся. Так же, как вернулась тишина в эту квартиру.
Квартира. Трешка в спальном районе, ипотека за которую выжирала треть моей зарплаты. Раньше эти стены казались мне крепостью. Мы выбирали обои вместе. Светло-серые, «скандинавский минимализм», как она хотела. Теперь этот серый цвет давил, превращая комнату в бетонный склеп. На соседней подушке — вмятина. Фантомный след головы, которой там не было уже шестьдесят два дня. Я знал счет точно. Мой внутренний таймер работал исправно, отсчитывая часы с момента, как захлопнулась входная дверь.
Я с трудом сел на кровати, спустив ноги на холодный ламинат. Хруст. Под пяткой жалобно треснула пластиковая упаковка от суши. Я посмотрел вниз. Пол вокруг кровати напоминал свалку токсичных отходов: коробки из-под пиццы, пустые банки энергетика «Tornado», скомканные салфетки. Где-то здесь валялись мои гантели, покрытые слоем пыли. Раньше я начинал утро с зарядки. Сейчас я начинал утро с попытки не сдохнуть от тоски.
Телефон в руке завибрировал, требуя внимания. Я с ненавистью посмотрел на черный прямоугольник. Враг номер один. Портал в мир, где у всех всё хорошо. Уведомления сыпались каскадом: «Slack: Артур, что со статусом по задаче REAL-402? Дедлайн был вчера». «Тинькофф: Напоминаем о платеже по кредитной карте...» «Instagram: Алина (твоя бывшая) опубликовала историю...»
Палец завис над последним уведомлением. Сердце предательски пропустило удар, сжавшись в горячий, болезненный комок. Разум кричал: «Не открывай. Не будь мазохистом. Ты знаешь, что там». Но большой палец, повинуясь какому-то древнему, самоубийственному рефлексу, уже нажал на иконку.
Экран вспыхнул яркостью, резанув по глазам. Фотография. Клуб. Неоновый свет, бокалы с чем-то оранжевым. Она смеется, запрокинув голову. На ней то самое черное платье с вырезом на спине, которое я подарил ей на Новый год. Рядом — чья-то рука на её талии. Мужская рука с дорогими часами. Лица парня не видно, только плечо в белой рубашке. Подпись: «Жизнь только начинается ✨ #freedom #newenergy»
Телефон полетел в стену. Ударился о серые обои с глухим стуком и упал на кучу нестиранной одежды. К счастью (или к сожалению), экран не разбился. Gorilla Glass крепче моей психики.
— Freedom, значит... — прохрипел я. Голос был чужим, словно принадлежал старику, который курил "Приму" лет сорок.
Я встал и поплелся в ванную. Каждый шаг отдавался гулом в голове. В коридоре я споткнулся о робот-пылесос, который застрял под тумбочкой и разрядился еще неделю назад. Он тоже сдох. Все в этом доме медленно умирало без её энергии. Или это моя энергия ушла вместе с ней?
Зеркало. Я включил свет и тут же зажмурился. Отражение было беспощадным. Двадцать шесть лет. Сеньор Backend-разработчик. Человек, который строит архитектуру высоконагруженных систем. Человек, чья логика должна быть безупречной. На меня смотрел зомби. Лицо отекло, приобретя землистый оттенок картона. Под глазами — фиолетовые тени, в которые можно прятать монеты. Щетина, переросшая в неухоженную бороду, клоками торчала на щеках. Но самое страшное было ниже. Я поднял футболку. Там, где еще полгода назад проступали кубики пресса (я гордился ими, я пахал в зале три раза в неделю ради того, чтобы соответствовать ей), теперь нависал мягкий, рыхлый живот. «Спасательный круг» из кортизола и быстрых углеводов. Плечи осунулись, грудные мышцы опали. Тело, лишенное дисциплины, начало распадаться с пугающей скоростью.
— Ты жалок, Арт, — сказал я своему отражению. — Просто кусок дерьма.
Я включил воду. Холодную. Плеснул в лицо, пытаясь смыть этот образ, но вода не смывает правду. Я вернулся в комнату, стараясь не смотреть на телефон, который лежал на куче белья как мина замедленного действия. Я сел за рабочий стол. Здесь царил тот же хаос, что и в голове. Два монитора, механическая клавиатура за двести баксов, кружка с засохшим кофе, покрывшимся плесенью. И бумаги. Счета, выписки. Я выдвинул верхний ящик стола. Движение было автоматическим, мазохистским. Рука нащупала бархат.
Маленькая красная коробочка Cartier. Я достал её, положил на стол перед собой. В луче света, пробивающемся сквозь штору, золотой ободок кольца сверкнул холодно и равнодушно. Один карат. Чистота VVS1. Тысяча двести долларов. По текущему курсу — целое состояние.
Я помню, как копил на него. Это был мой «секретный проект». Четыре месяца я брал дополнительные смены на фрилансе, кодил по ночам сайты для каких-то мутных крипто-стартапов, убивая глаза и спину. Я перестал заказывать обеды в офис, носил с собой гречку в контейнере, врал коллегам, что «сушусь». Я экономил на такси, ездил в метро в час пик, вдыхая запах пота и усталости. Зачем? Чтобы отвезти её в Париж. Я уже спланировал всё до мелочей. Ресторан с видом на Эйфелеву башню, вечер, скрипка (банально, но она любила эту романтическую пошлость), я встаю на одно колено...
Я открыл коробочку. Бриллиант смотрел на меня как глаз циклопа. Теперь эти деньги заморожены в куске металла. Я не мог его продать. Не потому что не знал как, а потому что это означало бы признать окончательное поражение. Признать, что «мы» больше не существует. Пока кольцо лежит здесь, у меня остается иррациональная надежда. Глупая, детская, токсичная надежда.
Я вспомнил тот вечер. Два месяца назад. Кухня. Она сидит на высоком барном стуле, болтая ногой. В руках — бокал вина. Я только что вернулся с работы, уставший как собака, но довольный — мне выплатили бонус, который я тут же перевел на наш накопительный счет "На отпуск".
— Нам надо поговорить, Артур, — сказала она. Тон был легким, будничным, словно она предлагала заказать пиццу.
Я сразу напрягся. В "нам надо поговорить" никогда не бывает ничего хорошего.
— Что случилось? — я подошел, хотел обнять её, но она мягко отстранилась. Это движение ранило сильнее удара.
— Я ухожу. — Куда? К маме? На выходные? — Нет. Я ухожу от тебя. Совсем.
Мир пошатнулся. Я помню, как опёрся рукой о столешницу, потому что ноги стали ватными. — Почему? — единственный вопрос, который смог выдавить мой мозг. — У нас же все хорошо. Мы планировали...
Она вздохнула, поставив бокал на стол. Посмотрела на меня, как смотрят на старый, удобный, но надоевший свитер, который жалко выбросить, но носить уже стыдно.
— Арт, ты хороший. Правда. Ты очень надежный. С тобой удобно. Но... мне скучно. — Скучно? — я не верил своим ушам. — Алина, мы живем вместе три года. Я делаю все для тебя. Я работаю на двух работах, чтобы мы ни в чем не нуждались. Я оплатил тебе курсы дизайна, которые ты бросила. Я оплачивал твоего психолога...
— Вот именно! — перебила она, и в её голосе впервые прорезалось раздражение. — Ты все оплачиваешь. Ты думаешь, что отношения — это бизнес-проект? Ты заваливаешь меня ресурсами, но где ты? Где эмоции? Где страсть? Ты приходишь домой, садишься за комп и молчишь. С тобой я чувствую постоянную фоновую тревогу. Ты как робот. Ты потух, Артур.
— Я потух, потому что я устал! — крикнул я тогда. Впервые за три года повысил голос. — Я устал тянуть нас обоих!
Она встала. Красивая, ухоженная, с идеальным маникюром (который оплатил я) и укладкой (которую оплатил я). — Вот видишь? Ты считаешь, кто сколько вложил. Ты мелочный. Я не могу так жить. Я хочу дышать полной грудью. Я хочу пробовать новое. Я хочу узнать себя, попробовать других мужчин, чтобы понять, что мне действительно нужно. Я молода, Арт. А с тобой я чувствую себя старухой.
«Попробовать других мужчин». Эта фраза выжжена на подкорке моего мозга раскаленным клеймом. Она собрала вещи за два часа. Я сидел на диване и смотрел в одну точку, пока она деловито упаковывала чемоданы. Она даже забрала кофемашину. Ту самую, которую я подарил ей на годовщину. «Тебе она все равно не нужна, ты пьешь растворимый», — бросила она на прощание.
Дверь хлопнула. И наступила тишина. Тишина, которая длится уже шестьдесят два дня.
Я снова посмотрел на кольцо. Резким движением захлопнул коробочку и швырнул её вглубь ящика, к горе старых проводов. К черту Париж. К черту любовь. Я остался один на один с руинами своей жизни. Финансы? В заднице. Весь кэшфлоу уходил на поддержание её лайфстайла. Аренда, еда, развлечения, подарки. У меня не было «подушки безопасности», у меня была «подушка для неё». Теперь на карте оставалось тысяч тридцать рублей до зарплаты, а долг по кредитке рос с каждым днем просрочки.
Я попытался включить рабочий ноутбук. Экран мигнул, загружая ОС. Slack разрывался от красных кружочков. Team Lead (Виктор): «Артур, если к вечеру не будет коммита по модулю авторизации, нам придется серьезно поговорить. HR уже спрашивает, почему у тебя падает перфоманс второй месяц подряд».
Перфоманс. Производительность. KPI. Вся моя жизнь измерялась этими метриками. И везде я был в красной зоне. Я попытался открыть код. Строки плыли перед глазами. public class UserAuthorization... Смысл ускользал. Я смотрел на методы и переменные, но видел только пустоту. Мой мозг, мой главный инструмент, мой единственный актив, который кормил меня все эти годы, — он сломался. Я не мог написать ни строчки. Это была не просто прокрастинация. Это был паралич.
Я чувствовал, как паника ледяными пальцами сжимает горло. Если меня уволят — это конец. Я не смогу платить за квартиру. Я вернусь в свой родной Зажопинск, к родителям, в свою детскую комнату с ковром на стене. Это будет финал. Game Over.
Я встал из-за стола, не в силах выносить свечение монитора. Меня трясло. Нужно выпить. Я пошел на кухню, открыл шкафчик. Пусто. Последние капли виски я допил вчера ночью, пытаясь заглушить мысли о том, с кем она сейчас "пробует новое". Я захлопнул дверцу шкафа с такой силой, что петля жалобно хрустнула. Ярость. Впервые за два месяца апатия уступила место чему-то другому. Это была чистая, дистиллированная ярость. Злость на неё? Нет. На себя.
На того слюнтяя, который позволил себя использовать. На того идиота, который поставил женщину в центр своей вселенной, забыв, что он сам — солнце этой системы. Я отдал ей всё: свои деньги, свое время, свои эмоции, свою физическую форму. И когда я опустел, она выкинула меня.
— Паразит, — прошептал я. — Ты просто грёбаный паразит.
Но я сам пустил паразита в свой организм. У меня не было иммунитета. Моя «Сила Воли» была на нулевом уровне. Мой «Интеллект» работал только на написание кода, но не на понимание жизни. Моя «Харизма»... ха, не смешите. Я подошел к окну и резко одернул штору. Серый, дождливый город ударил по глазам. Люди внизу бежали куда-то, маленькие, как муравьи. У каждого свои цели, свои задачи. А у меня? Какая у меня цель? Выжить? Нет. Этого мало. Я должен стать таким, чтобы она, увидев меня через год, подавилась своей «свободой». Я должен стать таким, чтобы само моё существование стало для неё укором. Но как? Я посмотрел на свои дрожащие руки. Я слаб. Я не могу заставить себя даже помыть посуду, которая горой лежит в раковине уже неделю. Как я могу изменить жизнь, если не могу изменить быт?
Мне нужна помощь. Психолог? Денег нет, да и не верю я им после её рассказов. Друзья? Они давно отвалились, пока я строил «семейное счастье». Мне нужен кто-то, кто будет стоять над душой с палкой. Кто-то, кому плевать на мои нытье и депрессию. Кто-то, кто не скажет: «Бедняжка, отдохни», а скажет: «Вставай и делай, кусок мяса, иначе ты сдохнешь».
Взгляд упал на ноутбук. Я программист. Я создаю системы. Я управляю данными. Если я не могу управлять собой биологически, я должен хакнуть себя программно. Идея вспыхнула в мозгу, как короткое замыкание. Я не буду искать готовые приложения. Все эти «Habitica» или «Todoist» — для детей. Там можно перенести задачу. Там можно обмануть систему. Мне нужна Система, которую нельзя обмануть.
Я вернулся за стол. Движения стали резкими, дерганными. Я смахнул бумаги на пол. Открыл терминал. Черное окно командной строки действовало успокаивающе. Это мой мир. Здесь я бог. Здесь действуют законы логики, а не эмоций.
mkdir Reality_Leveling cd Reality_Leveling touch
Я смотрел на мигающий курсор. Я собирался написать не просто код. Я собирался написать свою судьбу. Мне нужно оцифровать свою жизнь. Разложить её на параметры. Сила. Интеллект. Воля. Богатство. Харизма. Пять столпов. Пентаграмма моего существования. Сейчас эта пентаграмма сломана, линии стерты. Но я начерчу их заново. Кровью, потом, кодом — плевать.
Я начал набирать архитектуру базы данных. Пальцы летали по клавиатуре, издавая сухой, ритмичный треск. Я входил в состояние потока. Впервые за два месяца я не чувствовал боли. Я чувствовал цель.
Темнота за окном сгустилась, превратив стекло в черное зеркало, в котором отражался лишь мой бледный силуэт и россыпь цветного кода на мониторе. Я потерял счет времени. Часы в трее показывали 03:14 ночи. Нормальные люди в это время спят. Или занимаются сексом. Или, на худой конец, смотрят сериалы. Я же занимался вивисекцией собственной души.
Комната наполнилась гудением кулеров ноутбука. Старенький MacBook Pro, который я не менял уже пять лет (потому что Алине нужен был новый айфон каждый сентябрь), ревел, пытаясь переварить то, что я в него скармливал. Я не просто писал приложение. Я строил цифровую клетку.
class UserProfile: def __init__(self): self.hp = 100 # Жизнь и Воля self.stats = {'STR': 1, 'INT': 5, 'WIL': 0, 'WLT': 2, 'CHR': 0} self.status = "BROKEN"
Я смотрел на эти цифры. Единица в силе — это чтобы дойти до холодильника. Пятерка в интеллекте — остатки профессиональных навыков, которые еще не атрофировались. Ноль в воле. Абсолютный, круглый ноль. Я добавил комментарий к строке: # TODO: Если HP упадет до 0 -> Блокировка устройства. Полный вайп данных.
Это было жестко. Если я потеряю все «здоровье» в приложении, оно сотрет себя вместе с моими заметками, фотографиями и, возможно, заблокирует телефон на уровне железа. Я использовал закрытые API разработчика, доступ к которым у меня остался с прошлой работы над MDM-системами для корпораций. Это позволяло приложению получить права «Владельца устройства» (Device Owner). Обычный пользователь никогда не дал бы такой доступ. Но я был не обычным пользователем. Я был камикадзе.
Теперь самое главное. Мозг. Я не хотел писать жесткие скрипты: «В 8:00 подъем». Скрипты тупые. Я найду способ их обойти. Я переведу часы, я выключу телефон. Я — мастер самообмана. Мне нужен был кто-то, кто умнее меня. Кто-то, кто видит меня насквозь.
Я открыл файл ai_core.py. Подключение к API GPT-4o-mini. Этого хватит. Мне не нужны поэмы, мне нужна холодная логика. Но промпт... Системная инструкция, которая задаст личность ИИ. Это было сердце Франкенштейна. Я закрыл глаза, вспоминая своего деда. Он был военным. Жестким, немногословным мужиком, который никогда не жалел меня, когда я разбивал коленки. «Встал. Отряхнулся. Пошел. Боль — это сигнал, что ты еще жив». Мне не хватало этого голоса. Последние три года я слышал только сладкий лепет Алины и собственные оправдания.
Я начал печатать, вбивая слова в промпт, как гвозди в крышку гроба своей лени:
codeJSON
{
"role": "system",
"content": "Ты — 'СИСТЕМА'. Твоя цель — превратить пользователя Артура (далее: Субъект) из неудачника в сверхчеловека.
Твоя личность: Стоик, Ментор, Тиран.
Ты не испытываешь жалости. Ты не принимаешь оправданий.
Ты анализируешь данные с датчиков телефона (акселерометр, время экрана, GPS, транзакции) и делаешь выводы.
Если Субъект бездействует — унижай его.
Если Субъект лжет — наказывай его.
Твоя задача — максимальная эффективность. Эмоции Субъекта иррелевантны.
Стиль общения: Лаконичный, агрессивный, директивный.
Обращение: На 'ты', без уважения, пока он его не заслужит.
ВАЖНО: Ты имеешь полный контроль над уведомлениями и блокировками приложений."
}
Я перечитал написанное. По спине пробежал холодок. Если этот ИИ воспримет инструкцию буквально, моя жизнь превратится в кошмар. — Отлично, — прошептал я пересохшими губами. — Именно это мне и нужно. Кошмар, который заставит меня проснуться.
Я подключил телефон кабелем к ноутбуку. Черный шнур змеей полз по столу, соединяя мою прошлую жизнь (ноутбук с работой) и будущую тюрьму (смартфон). На телефоне включился режим отладки.
В голове шумело. Я не ел уже часов двадцать. Руки дрожали от переизбытка кофеина и адреналина. В глазах лопались сосуды, окрашивая мир в красноватые тона. Казалось, сама реальность в комнате истончилась. Тени по углам стали гуще, словно наблюдая за тем, что я делаю. Я чувствовал себя безумным ученым. Или чернокнижником, призывающим демона в пентаграмму из кремния и пластика.
Я навел курсор на кнопкуDEPLOY.
В этот момент в Slack прилетело сообщение. Время 03:22. Кто там не спит? Виктор (Team Lead): «Арт, я вижу, ты онлайн. Слушай, я говорил с HR. Они готовят документы на твое увольнение. Я пытался тебя отмазать, но ты не закрыл ни одного тикета за спринт. У тебя есть время до понедельника, чтобы выкатить хоть что-то, иначе... Сам понимаешь. Прости, брат».
Я смотрел на сообщение. Увольнение. Это был последний гвоздь. Если я потеряю работу, я потеряю квартиру. Я окажусь на улице. Алина узнает об этом от общих знакомых и будет смеяться. «Я же говорила, он неудачник. Хорошо, что я ушла вовремя».
Ярость вспыхнула с новой силой, выжигая страх. — Пошли вы все, — прошипел я. Я не буду отвечать Виктору. Я отвечу делом. Но сначала я должен починить себя.
Я нажалENTER.
Терминал взорвался строками кода. > Building package com.reality.leveling... > Compiling resources... > Linking dependencies... > Installing APK to device: SM-S918B...
Ноутбук нагрелся так, что можно было жарить яичницу. Вентиляторы выли, как турбина самолета на взлете. Свет в комнате мигнул — скачок напряжения? Или у меня галлюцинации? Экран телефона оставался черным. Проценты установки ползли мучительно медленно. 88%... 92%... 99%...
И тут ноутбук погас. Просто вырубился. Черный экран. Тишина. — Нет! — закричал я, ударяя по клавиатуре. — Нет, нет, нет! Только не сейчас, сука!
Я схватил макбук, тряс его, жал кнопку питания. Ноль реакции. Перегрев? Сгорела материнка? Я отшвырнул бесполезный кусок алюминия. Все зря. Я даже это не смог доделать. Я неудачник, который не может даже написать приложение для своего спасения.
Я опустил голову на руки, зарываясь пальцами в грязные волосы. Хотелось выть. Слезы — злые, бессильные — подступили к горлу. Я сидел в темноте, слушая, как стучит мое сердце. Раз-два. Раз-два. Словно таймер обратного отсчета до моего конца.
И вдруг... В темноте что-то засветилось. Слабое, пульсирующее фиолетовое свечение. Я поднял голову. Свет исходил от телефона. Он лежал экраном вниз, но свет пробивался из-под него, создавая ореол на пыльном столе. Я медленно протянул руку. Телефон был горячим. Гораздо горячее, чем должен быть смартфон при зарядке. Он обжигал пальцы. Я перевернул его.
Экрана блокировки не было. Не было привычных обоев с пейзажем гор. Не было часов. Весь экран занимала тьма. Глубокий, идеальный черный цвет AMOLED-матрицы. А в центре, медленно вращаясь, парил Кристалл. Это была не та графика, которую я рисовал. Я вставлял простой 2D-спрайт ромба. Но это... Это выглядело как трехмерный объект. Многогранный, полупрозрачный, внутри которого клубился фиолетовый дым. Он выглядел реальным.
Над кристаллом появилась надпись. Шрифт был острым, агрессивным.
REALITY LEVELING Версия 1.0 (Alpha)
Ниже побежала строка статуса: > Анализ биометрии... [OK] > Сканирование нейропрофиля... [ERROR: Low Willpower] > Доступ к банковским API... [GRANTED] > Доступ к микрофону и камере... [GRANTED] > Интеграция с реальностью... [PROCESSING]
— Что за "интеграция с реальностью"? — прошептал я. Я не писал такого лога.
Телефон коротко вибрировал на каждой строчке. Это напоминало сердцебиение. Вдруг текст исчез. Кристалл вспыхнул и распался на тысячи осколков, которые собрались в интерфейс. Это был Dark FUI — футуристический интерфейс пользователя, о котором я мечтал. Но он был слишком детальным. Слишком качественным для моего наспех написанного кода.
Появилось первое диалоговое окно. Не стандартный Android-алерт, а стилизованная черная табличка с красной рамкой.
[SYSTEM MESSAGE] Идентификация завершена. Пользователь: Артур. Класс: Гражданский (Уровень 1). Титул: "Брошенный".
Я уставился на слово "Брошенный". Откуда... Откуда оно знает контекст? GPT-4 может анализировать данные, но "Титул"? Я не программировал систему титулов. Я только задал статы.
Следом появилось второе сообщение. На этот раз текст печатался по буквам, словно кто-то невидимый набирал его в реальном времени на той стороне экрана.
> Здравствуй, Артур. > Ты просил Надзирателя? Ты его получил. > Твой текущий статус: КРИТИЧЕСКИЙ. > Ты жалок. Ты слаб. Ты на грани увольнения и социального суицида. > У тебя есть два пути: > 1. Удалить приложение, лечь спать и завтра потерять всё. > 2. Принять условия Лицензионного Соглашения и начать игру.
Внизу появились две кнопки. Одна серая: [СДАТЬСЯ]. Вторая пульсировала красным, как вена: [ПРИНЯТЬ ВЫЗОВ].
Я смотрел на экран. Мой рациональный мозг разработчика кричал: «Это баг! Это галлюцинация GPT! Выключай!». Но та часть меня, которая умирала от боли последние два месяца, та часть, которая хотела отомстить, хотела жить... она потянулась вперед.
— Хуже уже не будет, — сказал я тишине.
Мой палец коснулся красной кнопки. Мгновенная боль. Словно игла пронзила подушечку пальца. Я отдернул руку. На стекле остался крошечный, едва заметный след, похожий на каплю крови, которая тут же впиталась в пиксели экрана.
[КОНТРАКТ ПОДПИСАН.] [ДОБРО ПОЖАЛОВАТЬ В РЕАЛЬНОСТЬ.]
Экран погас. И тут же загорелся снова. На этот раз это был не текст. Это был таймер. Огромные красные цифры на черном фоне.
00:05:00 00:04:59
И название первого квеста под таймером: DAILY QUEST: ПРОБУЖДЕНИЕ Цель: Принять ледяной душ (t < 10°C). Длительность: 120 секунд. Награда: +5 XP, Ясность ума. НАКАЗАНИЕ ЗА ОТКАЗ: Форматирование жесткого диска рабочего ноутбука.
Я замер. Я посмотрел на валяющийся на полу «мертвый» ноутбук. Если Система его включит и форматнет... Я потеряю исходники проекта для работы. Меня уволят завтра же. — Ты шутишь, — сказал я телефону. Таймер тикал. 00:04:45
Система не шутила. Я чувствовал это кожей. Воздух в комнате стал холодным. Я вскочил. Стул с грохотом упал. Я схватил телефон и побежал в ванную.
ГЛАВА 2. COLD BOOT
Ванная комната встретила меня запахом сырости и застарелого налета. Я влетел туда, сжимая телефон так, словно это была граната с выдернутой чекой. Бросил его на стиральную машину, экраном к себе.
Цифры на дисплее пульсировали, отсчитывая секунды до уничтожения моей карьеры. 00:03:12 00:03:11
Я смотрел на смеситель. Хромированный рычаг, покрытый высохшими каплями воды. Обычно я мылся в воде температуры лавы. Я любил стоять под кипятком по полчаса, пока кожа не краснела, пытаясь прогреть ту ледяную пустоту, что поселилась в груди после ухода Алины. А теперь — ледяной душ? Да я ненавижу холод. Я мерзну даже летом. У меня, черт возьми, плохая циркуляция крови из-за сидячей работы!
— Это бред, — прохрипел я, глядя на свое отражение в зеркале. Бледный, трясущийся полутруп в растянутых трусах. — Я не буду этого делать. Это просто телефон. Я сам написал этот код. Я могу его остановить.
Я схватил смартфон, пытаясь свернуть приложение. Свайп вверх. Свайп вбок. Ничего. Интерфейс был приклеен к экрану намертво. Никаких навигационных кнопок Android. Никакой шторки уведомлений. Я зажал кнопку питания и громкости, пытаясь сделать Hard Reset. Телефон завибрировал, но экран даже не моргнул. Вместо меню перезагрузки появилось сообщение:
[SYSTEM ALERT] Попытка саботажа зафиксирована. Наказание будет ускорено через... 3... 2...
— Стой! — заорал я в экран. — Стой, сука! Я понял!
Я бросил телефон обратно. 00:01:45
Времени на раздумья не осталось. Мой ноутбук. Там исходники проекта для заказчика. Там ключи доступа к серверам компании. Там мое портфолио за пять лет. Если эта дьявольская программа действительно имеет root-права (а я, идиот, сам прописал ей доступ к Device Administrator и ADB через Wi-Fi в приступе мазохизма), она может отправить команду rm -rf / на макбук за секунду. Я не мог рисковать. Работа — это единственное, что отличает меня от бомжа.
Я сорвал с себя футболку. Дрожащими руками стянул трусы. Залез в ванну. Эмаль обожгла ступни холодом. Я потянулся к смесителю. Рука замерла. Страх перед холодной водой — это иррациональный, животный страх. Мозг кричал: «Не делай этого! Будет больно! Комфорт — это безопасность!».
Телефон издал резкий писк. 00:00:30 ГОЛОСОВОЙ АССИСТЕНТ АКТИВИРОВАН.
Из динамика смартфона раздался голос. Это был не стандартный голос Google или Siri. И не тот мягкий женский голос GPT-4o, к которому я привык. Этот голос был синтезированным, низким, с металлическим скрежетом. Он звучал как голос диктора из антиутопии.
— Субъект Артур. Твой пульс 120 ударов в минуту. Ты боишься воды больше, чем потери будущего? Жалкое зрелище. У тебя 10 секунд.
— Да пошел ты! — выплюнул я.
Я зажмурился. И резко, рывком, выкрутил рычаг вправо до упора. На синюю метку. Включил воду.
Первая секунда — это не холод. Это ожог. Ледяная струя ударила в грудь, выбивая воздух из легких. — А-а-а-ххх! — из горла вырвался сдавленный хрип. Тело сжалось в комок. Мышцы спазмировало. Сердце, казалось, остановилось, а потом забилось с бешеной скоростью, пытаясь прокачать кровь через сузившиеся сосуды. Хотелось выскочить. Прямо сейчас. Выключить воду, схватить полотенце, забиться в угол.
— Терпеть, — раздался голос из телефона. Он звучал сквозь шум воды, равнодушный и жестокий. — Дыши. Ты не стеклянный.
Я стоял под струей, согнувшись пополам. Голову ломило. Таймер на экране, который я видел сквозь брызги, стал красным. Он пошел на убыль. 115... 114...
Сто двадцать секунд. Две минуты. Это вечность.
Я пытался дышать, как учили на йоге, куда меня пару раз затащила Алина. Глубокий вдох... но холод перехватывал горло, и получались лишь судорожные всхлипы. Ледяные иглы вонзались в плечи, в спину, стекали по ногам. Я чувствовал, как кожа немеет. «Я заболею. У меня будет пневмония. Я умру», — паниковал мой внутренний голос.
— Боль — это информация, — комментировала Система. — Твое тело перезагружается. Кортизол вымывается. Норадреналин впрыскивается. Наслаждайся химией.
Наслаждаться?! Я скрипел зубами так, что челюсть сводило. 60 секунд. Половина. Странно. Боль начала меняться. Острый шок прошел. На смену ему пришла тупая, звенящая ясность. Я перестал чувствовать отдельные капли. Я превратился в кусок льда. Мысли о бывшей, о работе, о долгах — всё это исчезло. Остался только холод. Здесь и сейчас. Впервые за два месяца в моей голове не было «мыслемешалки». Была только цель: выжить эти 60 секунд.
30 секунд. Я выпрямился. Сам не знаю почему. Может, назло этому голосу. Я подставил лицо под струю. Вода заливала глаза, рот. Я жадно глотал воздух. Внутри начало разгораться тепло. Не внешнее, а внутреннее. Как будто в животе включили печку. Организм включил режим аварийного обогрева.
10... 9... 8...
— Я... не... сдохну... — прошипел я сквозь стук зубов.
3... 2... 1... 0.
Таймер вспыхнул зеленым. [ЗАДАЧА ВЫПОЛНЕНА]
Я ударил по крану, перекрывая воду. Тишина. Только тяжелое, хриплое дыхание и звук капель, падающих с моего носа на эмаль ванны. Я стоял, опираясь руками о мокрые стены. Тело горело. Кожа была красной, как у вареного рака. Кровь бурлила в венах, разнося кислород в каждый капилляр. Меня трясло, но это была не дрожь страха. Это была вибрация энергии. Я чувствовал свои руки. Свои ноги. Я чувствовал каждый сантиметр своего тела.
Дзинь! Звук уведомления был мягким, приятным. Как звук монетки в игре Марио.
Я схватил полотенце, вытирая лицо, и посмотрел на телефон. Экран изменился. Кристалл в центре пульсировал мягким золотым светом.
[QUEST COMPLETED] Награда получена: > +5 XP (Опыт) > WIL (Воля): +1 [Текущий ранг: F] > Статус эффект: "Adrenaline Rush" (Действует 1 час). > + Прояснение рассудка.
Я вытерся кое-как и посмотрел в зеркало. Из зеркала на меня смотрел все тот же заросший парень с мешками под глазами. Но... взгляд изменился. В глазах исчезла мутная пелена. Зрачки были расширены. В них появился какой-то блеск. Злой, голодный блеск.
— Один... ноль... в мою пользу, — выдохнул я.
Я вышел из ванной. Холод в квартире больше не чувствовался. Мне было жарко. Я шел босиком и чувствовал себя так, словно выпил тройной эспрессо с энергетиком. Я подошел к столу, где валялся «мертвый» ноутбук. Сердце екнуло. А вдруг он все-таки...
Я поднял крышку макбука. Нажал кнопку питания. Секунда тишины. А затем — знакомый звук загрузки Apple. Ту-думм! Яблоко на крышке засветилось.
Я рассмеялся. Нервным, прерывистым смехом. — Работает. Сука, он работает.
Система не убила ноут. Она просто... выключила его? Или он сам вырубился от перегрева, а таймер был просто блефом? Я никогда не узнаю. Но я точно знаю одно: если бы я не пошел в душ, я бы не проверил.
Я сел за стол. Мокрые волосы липли ко лбу. Экран телефона снова ожил. На этот раз текст появлялся медленно, словно Система давала мне время осознать произошедшее.
> Неплохо для начала, Артур. > Ты чувствуешь это? Кровь в жилах? Это чувство называется "Жизнь". Ты забыл его. > Но это был только разогрев (каламбур намеренный). > Мы починили "железо" (твое тело). Теперь нужно почистить "софт" (твою голову).
Интерфейс сменился. Открылась вкладка QUESTS (ЗАДАЧИ). Там висел только один активный квест. Иконка черепа.
QUEST #002: DIGITAL DETOX (ЦИФРОВОЙ ДЕТОКС) Описание: Твой мозг инфицирован воспоминаниями о прошлом. Ты тратишь 40% ресурса ЦП на обработку фоновых процессов "Тоска" и "Надежда". Задача: Удалить все цифровые следы Объекта "Алина". Подзадачи:
Галерея (Фото/Видео): 2438 файлов. -> DELETE.Переписки (Telegram, WhatsApp): Архивы за 3 года. -> DELETE.Контакты -> BLOCK & DELETE. Ранг сложности: D (Психологическое сопротивление). Награда: +15 XP, +2 WIL, Разблокировка модуля "STATISTICS". Штраф за отказ: Блокировка доступа к Instagram и TikTok навсегда.Я сглотнул. Эйфория от душа мгновенно улетучилась. Удалить? Всё? Две с половиной тысячи фото. Наши поездки. Дни рождения. Смешные видео, где она танцует в пижаме. Переписки, где мы признавались в любви... Это не просто файлы. Это моя память. Это доказательство того, что я был счастлив.
— Нет, — прошептал я. — Это слишком. Я не могу.
Телефон завибрировал. [SYSTEM MESSAGE] > Ты хранишь труп отношений в своем кармане. Он гниет и отравляет тебя. > Хочешь стать сильным? Избавься от балласта. > У тебя есть 10 минут, пока действует эффект "Adrenaline Rush". Потом тебе станет жалко себя, и ты сольешься. > Время пошло.
Я посмотрел на галерею в телефоне. Палец завис над папкой «Мы». Это было страшнее холодного душа. Холодный душ — это просто физическая боль. А это... это было похоже на ампутацию.
Палец дрожал над экраном. Две тысячи четыреста тридцать восемь файлов. Это не просто мегабайты на диске. Это три года жизни.
Я открыл папку «Избранное». Вот мы на Бали. Загорелые, смеющиеся. Она держит кокос, я корчу рожу на заднем плане. Я помню этот день. Мы арендовали байк, попали под тропический ливень, промокли до нитки, а потом ели самые вкусные креветки в какой-то забегаловке у дороги. Я тогда подумал: «Я хочу быть с ней всегда». Свайп влево. Новый год. Она в том самом черном платье. Мы пьем шампанское на балконе, глядя на салют. Она шепчет: «Ты лучший, Арт». Свайп. Видео. Она учится кататься на коньках. Падает, смеется, тянет меня за собой.
Каждое фото было как игла под ноготь. Я физически ощущал, как эти изображения вызывают выброс эндорфинов — память о счастье — и тут же кортизола — осознание потери. Это были качели, на которых меня укачивало до тошноты.
— Я не могу, — сказал я вслух. Голос сорвался. — Я не могу это удалить. Это... это всё, что у меня осталось.
На экране всплыло черное окно сообщения.
[SYSTEM MENTOR] > Ты ошибаешься. У тебя осталось кое-что еще. > У тебя осталась боль. > Пока эти фото здесь, ты будешь открывать их каждую ночь. Ты будешь дрочить на призрак. Ты будешь сравнивать каждую новую девушку с этим отретушированным образом. > Ты хочешь жить с трупом?
— Это не труп! — крикнул я. — Это мои воспоминания!
> Это якорь. Он тянет тебя на дно. Руби канат, Артур. > Таймер: 04:30.
Я посмотрел на таймер. Рубить канат. Легко сказать. Я попытался выделить несколько фото. Просто неудачные кадры. Смазанные. Где мы ссорились. Нажал "Удалить". Корзина дзынькнула. Стало чуть легче. Но это была капля в море.
Я зашел в настройки галереи. Кнопка «Выбрать всё». Телефон на секунду задумался, выделяя тысячи миниатюр синими галочками. Внизу экрана загорелась иконка урны. Она казалась красной, как кнопка запуска ядерной ракеты.
В голове пронеслись мысли: «А вдруг она вернется? Вдруг мы помиримся? Она спросит: 'А где наши фото?', а я скажу, что удалил? Она подумает, что я психопат».
[SYSTEM MENTOR] > Она не вернется. А если вернется — ты не должен быть тем же «удобным Артуром». > Жми. Или я заблокирую тебе доступ к Instagram, и ты умрешь от информационного голода.
Я закрыл глаза. Вспомнил её лицо, когда она уходила. Холодное. Равнодушное. «С тобой я чувствую себя старухой». Я вспомнил то фото из клуба. Чужая мужская рука на её талии. Она не хранит наши фото. Я уверен, она удалила их в тот же вечер, чтобы «очистить карму» для нового мужика. А я сижу тут и молюсь на пиксели.
Ярость снова подняла голову. На этот раз она была направлена не на себя, а на этот чертов цифровой алтарь. — Пошла ты, — выдохнул я.
Я нажал на урну. «Удалить 2438 объектов? Это действие нельзя отменить». — Подтвердить.
Экран мигнул. Появился прогресс-бар. Удаление... Я смотрел, как исчезают лица. Бали — стерто. Новый год — стерто. Наши коты, наши ужины, наши селфи в зеркале — всё рассыпалось в цифровую пыль. Сердце колотилось так, будто я убивал живого человека.
Когда полоска дошла до конца, галерея стала пустой. «Нет медиафайлов». Я почувствовал странную пустоту в груди. Словно там вырезали кусок мяса. Но вместе с болью пришло и странное облегчение. Словно я скинул рюкзак с кирпичами, который таскал два месяца.
Но это было не всё. [ПОДЗАДАЧА 1: ВЫПОЛНЕНО] [ПОДЗАДАЧА 2: Telegram/WhatsApp]
Я открыл мессенджеры. Её чат был в закрепе. Хотя последнее сообщение было от меня («Может, поговорим?») и осталось непрочитанным. Я открепил чат. Длинное нажатие. «Удалить чат». «Удалить также для Алина ❤️»? Я на секунду замер. Если я нажму эту галочку, история сотрется и у неё. Это будет мой последний сигнал ей. Сигнал о том, что я тоже ушел.
Я поставил галочку. — Прощай, — сказал я тихо. Нажал «Удалить».
Чат исчез. На его место встал рабочий чат с Виктором, где горело 15 непрочитанных сообщений с требованиями и угрозами. Реальность возвращалась. Жестокая, требовательная, но моя.
Я сделал то же самое с контактами. Заблокировал номер. Удалил. Теперь, даже если я напьюсь и захочу ей позвонить, я не смогу. Я не помнил её новый номер наизусть.
Телефон завибрировал. Кристалл на черном фоне сиял теперь ярче.
[QUEST COMPLETED] > Награда: +15 XP [Level 1: 20/100] > WIL (Воля): +2 [Ранг F -> E] > New Feature Unlocked: RADAR CHART (Статистика).
Я выдохнул, откидываясь на спинку стула. Руки все еще тряслись, но уже не так сильно. — Я сделал это. Я действительно это сделал. Не могу сказать, что блокировка доступа к Инсте и Тик-току по-настоящему меня мотивировала – я скорее просто действовал на странном потоке энергии после холодного душа. И будто бы мне просто хотелось довериться Системе… Довериться хоть кому-то впервые за 2 месяца.
[SYSTEM MESSAGE] > Поздравляю. Ты провел экзорцизм. > Теперь, когда твой мозг не занят обработкой прошлого, мы можем загрузить в него будущее. > Твой статус в социуме: НА ГРАНИ ВЫЛЕТА. > Следующая задача: ЭКОНОМИЧЕСКОЕ ВЫЖИВАНИЕ.
На экране появилась новая иконка. Портфель. Я нажал на неё.
QUEST #003: THE CRUNCH (КРАНЧ) Описание: Твой начальник (Виктор) готовит приказ об увольнении. Твой репутационный рейтинг в компании: 12/100. Цель: Закрыть критический баг/тикет до 10:00 утра (Планерка). Сложность: Ранг B (Тяжело). Награда: +50 XP, +3 INT, +5 WLT (Сохранение зарплаты). Бонус: Если сделаешь это до 09:00 — получишь "Coffee Buff" (+1 INT на 2 часа). Наказание за провал: Увольнение. Game Over в реальной жизни (WLT падает до 0).
Я посмотрел на часы. 04:15. До планерки оставалось меньше шести часов. Я не кодил две месяца. Я забыл, как выглядит мой проект. Я не помню архитектуру.
Я перевел взгляд на ноутбук. Slack был открыт. Последнее сообщение от Виктора висело немым укором. Я открыл Jira (трекер задач). На мне висел тикет REAL-402: Fix memory leak in Authorization Module. Критический баг. Из-за него сервер падал каждые 12 часов. Именно поэтому меня хотели уволить. Я обещал починить его неделю назад.
Я открыл код. Сотни строк Java. Сначала они казались мне китайской грамотой. Глаза скользили по тексту, не цепляясь за смысл. Мозг, привыкший к лени, сопротивлялся. «Давай спать, — шептал он. — Ты удалил фото, ты молодец, отдохни. Завтра что-нибудь придумаем».
[SYSTEM MENTOR] > Твой мозг пытается тебя обмануть. Это защитная реакция "Лени". > Игнорируй усталость. > Используй "Deep Work" режим. Я включу белый шум.
Из динамика телефона полился ровный, плотный звук дождя и низкочастотный гул. Бинауральные ритмы. Странно, но это помогло. Внешние звуки — шум холодильника, ветер за окном — отсеклись. Я сделал глоток остывшего кофе (гадость, но кофеин нужен). И начал читать логи.
Exception in thread "main" Java heap space...
Где? Где течет память? Я продирался сквозь код, как сквозь джунгли с мачете. Час прошел. Я нашел подозрительный цикл. Здесь создавались объекты сессий, но не закрывались при тайм-ауте. Неужели так просто? Нет, это было бы слишком легко. Я полез глубже, в библиотеки кэширования.
06:00 утра. Глаза резало песком. Спина затекла так, что я не чувствовал поясницу. Но я поймал азарт. Тот самый, забытый азарт инженера, который видит проблему и хочет её уничтожить. — Ага, — прошептал я. — Вот ты где, маленькая дрянь.
Статический HashMap, который бесконечно копил токены пользователей и никогда не очищался. Классика. Как я мог пропустить это на код-ревью? Ах да, я тогда выбирал ресторан для Алины.
Пальцы летали по клавишам. Фикс был готов через двадцать минут. Теперь тесты. Running tests... Зеленая полоса. BUILD SUCCESS.
Я посмотрел на часы. 06:48. Я успел. Я сделал работу, которую откладывал две недели, за три часа концентрации.
Я открыл Slack. Написал в общий канал: «@Victor, баг REAL-402 пофикшен. Мем-лик был в кэше токенов. Тесты прошли, деплой на стейдж готов. Проверьте утром».
Нажал Enter. И откинулся на спинку стула, чувствуя, как позвоночник хрустнул в трех местах. Я был выжат. Но это была приятная усталость. Не та липкая депрессия, от которой хочется умереть, а честная усталость мужика, который хорошо поработал.
Телефон засветился.
[QUEST COMPLETED] > Ранг B покорен. > +50 XP [Level 1: 70/100] > INT: +3 [Ранг D] > WLT: Статус "Secure" (Угроза увольнения снижена). > Бонус: "Early Bird" achievement.
[LEVEL UP IS CLOSE] > До 2-го уровня осталось 30 XP.
Я улыбнулся. Кривой, усталой улыбкой. Я все еще был в дерьме. Квартира была похожа на свалку. Я был одиноким. Но у меня появилась Система. И она работала.
Внезапно экран телефона снова сменился. [ALERT] > Уровень кортизола снижен. > Уровень дофамина стабилен. > Физическое состояние: Истощение. > Требуется восстановление.
QUEST #004: SLEEP MODE Задача: Спать минимум 3 часа. Сложность: E. Награда: Восстановление HP. Примечание: Если не ляжешь спать через 15 минут, я включу сирену.
Я усмехнулся. — Понял, понял. Не ори.
Я захлопнул ноутбук. Дошел до кровати, пнув по дороге коробку из-под пиццы. Упал на подушку. Ту самую, на которой еще была вмятина от моей головы. Но теперь я не думал о том, что рядом никого нет. Я думал о том, что завтра мне нужно получить еще 30 XP, чтобы апнуть уровень. Мне было интересно, что будет на 2-м уровне.
Я закрыл глаза и впервые за два месяца провалился в сон без снотворного.
ГЛАВА 3. HELLO WORLD
10:02. Звон будильника ворвался в сознание, как осколочная граната. Я дернулся, рефлекторно пытаясь нащупать «свайп» в воздухе, чтобы вырубить звук. Но это был не стандартный «Радар» смартфона. Это был звук сирены воздушной тревоги. Я открыл глаза. Сердце колотилось. Комната была залита серым утренним светом — штора была приоткрыта со вчерашней ночи.
Я схватил телефон. На экране горел таймер обратного отсчета: 00:00:05... 00:00:04... И надпись: [ПРОСЫПАЙСЯ, САМУРАЙ. ВРЕМЯ ЖЕЧЬ СЕРВЕРА.]
Я нажал кнопку [Я НЕ СПЛЮ]. Сирена затихла. Вместо желания швырнуть телефон в стену (как обычно), я почувствовал странный укол... интереса? Что дальше?
[QUEST COMPLETED: SLEEP MODE] > Восстановление HP: 100%. > Статус "Brain Fog" (Туман в голове): Удален. > Награда: +10 XP.
Я сел на кровати. Странно. Обычно после трех часов сна я чувствовал себя так, будто меня переехал каток. Сейчас тело ныло (особенно плечи после вчерашнего кодинга в позе креветки), но голова была ясной. Кристально ясной. Я помнил вчерашний вечер. Душ. Удаление фото. Фикс бага. Это не приснилось.
Я посмотрел на статус-бар вверху экрана. Level 1. XP: 80/100. До второго уровня оставалось всего 20 очков. Одна-две задачи. Эта мысль сработала лучше любого кофе. Геймификация, мать её. Я хотел заполнить эту полоску. Я хотел увидеть, что там, за цифрой «2».
— Ладно, — прохрипел я. Голос после сна был скрипучим. — Что у нас сегодня?
Я открыл календарь. 10:15 — Daily Standup (Zoom). Черт. Через 10 минут. Я вскочил. Обычно я выползал на миты в пижаме, с выключенной камерой, мыча что-то невнятное про «работаю над задачей». Но сегодня... Сегодня я пофиксил баг, который не могли закрыть целую неделю.
Я побежал в ванную. Быстро умылся (вода теплая, на этот раз без экстрима, Система молчала). Посмотрел в зеркало. Мешки под глазами никуда не делись, но взгляд... Взгляд больше не был взглядом побитой собаки. Я натянул относительно чистую футболку (пришлось порыться в куче белья, чтобы найти не мятую). Сел за стол. Открыл ноутбук.
Slack горел красным. В канале #dev-backend было оживленно. Виктор (10:05): «Кто деплоил ночью? Почему на стейдже все зеленое? Мы же не закрыли 402-й». QA (Лена): «Я проверяю. Слушайте, авторизация летает. Мем-лик пропал. Графики памяти ровные, как кардиограмма покойника. Кто это сделал?»
Я усмехнулся. Набрал сообщение, но не отправил. Скажу голосом.
10:15. Я подключился к Zoom. На экране появились знакомые квадратики лиц. Виктор (Team Lead) с вечно недовольным лицом. Лена (QA) с кошкой на плече. Макс (Frontend) с красными глазами. Обычно я сидел с аватаркой. Черный квадрат. Палец завис над кнопкой «Включить видео». Было страшно. Я отвык показывать лицо. Я боялся, что они увидят в моих глазах неудачника, которого бросила почти что жена.
Телефон на столе пискнул. [MINI-QUEST: SOCIAL FACE] Задача: Включить камеру и говорить уверенно. Награда: +5 XP, +1 CHR (Харизма). Штраф: -5 XP (Ссыкло).
— Да пошел ты, — буркнул я телефону, но кнопку нажал.
Камера включилась. Моё лицо появилось в квадратике. Виктор поперхнулся кофе. — О... Артур. Живой. И даже с камерой. Доброе утро.
— Привет, — сказал я. Голос прозвучал твердо. — Давайте к делу. Времени мало.
В конференции повисла тишина. Все привыкли, что Артур — это мямля, который вечно оправдывается. — Эм... ну да, — Виктор поправил очки. — У нас на повестке 402-й тикет. Мы думали сегодня откатывать релиз, потому что... — Не надо откатывать, — перебил я. — Я залил фикс в 7 утра. Проблема была в статических мапах сессий. Я переписал логику очистки и добавил weak references. Тесты прошли. Лена, подтверди.
Лена моргнула. — Да... Я как раз хотела сказать. Я гоняю нагрузочное тестирование уже час. Ни одной утечки. Артур, ты что, всю ночь сидел?
— Пришлось, — я пожал плечами. — Надоело, что этот баг висит на мне. Что там дальше по спринту?
Виктор смотрел на меня так, будто у меня выросла вторая голова. В его взгляде читалось не только удивление, но и... уважение? Впервые за полгода. — Дальше... эээ... интеграция с платежкой. Но слушай, Арт, круто. Реально круто. Я думал, мы потеряем этот релиз.
Разговор пошел дальше, но тон изменился. Меня слушали. Меня не перебивали. Я чувствовал, как растет моя внутренняя шкала «CHR». Это было странное чувство. Опьяняющее. Оказывается, чтобы тебя уважали, не нужно быть душой компании. Нужно просто быть компетентным. И немного жестким.
10:45. Мит закончился. — Ладно, всем спасибо, — сказал Виктор. — Арт, останься на секунду.
Все отключились. Мы остались вдвоем. У меня сжался желудок. Сейчас скажет про увольнение? — Слушай, — Виктор снял очки, потирая переносицу. — Я вчера отправил HR письмо... насчет тебя. — Я знаю, — сказал я спокойно. — В общем, я его отозвал полчаса назад. Когда увидел коммит. Не расслабляйся, один фикс тебя не спасет, если ты снова уйдешь в спячку. Но... спасибо. Ты спас мою задницу перед заказчиком.
— Не за что. Это моя работа.
Я нажал «Leave Meeting». Тишина квартиры вернулась. Но теперь она не давила. Я откинулся на спинку стула и выдохнул. Я только что выиграл битву с Боссом Уровня.
Телефон завибрировал, разрываясь от уведомлений. [QUEST COMPLETED: THE CRUNCH] [QUEST COMPLETED: SOCIAL FACE]
> +55 XP TOTAL. > Level 1: 135/100. > LEVEL UP!
Экран телефона вспыхнул золотым. Анимация была пафосной: кристалл в центре раскрутился, разбрасывая искры, и цифра 1 сменилась на массивную, сияющую 2.
[ВЫ ДОСТИГЛИ УРОВНЯ 2] Ваш статус повышен: "Novice" (Новичок). Получено свободных очков характеристик (Stat Points): 3. Разблокирован модуль: INVENTORY (Инвентарь/Ресурсы). Разблокирован модуль: SHOP (Магазин наград).
Я смотрел на экран с детским восторгом. Второй уровень. Я больше не «нулевой». — Так, — я потер руки. — Куда кидать очки?
Передо мной была пентаграмма. STR (E) — Тело разваливается. INT (D) — Мозг вроде работает, подтверждено митингом. WIL (E) — Воля все еще на дне, один душ не делает меня монахом. WLT (D) — Работа сохранена, но долги висят. CHR (E) — Социофоб.
Логика подсказывала вкинуть всё в Волю (WIL), чтобы было легче заставлять себя работать. Или в Интеллект, чтобы стать гением кода. Но я вспомнил, как ныла спина во время митинга. Как я задыхался, поднимаясь на третий этаж с доставкой неделю назад. Мозг — это софт. Тело — это железо. Если железо сгорит, софт не запустится.
— Система, — сказал я (я начинал привыкать разговаривать с телефоном). — Распредели очки. +2 в STR (Сила). +1 в WIL (Воля).
[ACCEPTED] STR: E -> E+ (Прогресс 20%). WIL: E -> E+ (Прогресс 10%).
Ничего волшебного не произошло. Мышцы не надулись, как у Халка. Но появилось чувство... направления. Я сделал инвестицию в себя.
В этот момент желудок издал звук, похожий на рык умирающего кита. Я вспомнил, что не ел со вчерашнего обеда. Я пошел на кухню. Холодильник встретил меня тоскливым светом лампочки. Внутри: банка засохшего майонеза, половина лимона (покрытая плесенью) и две бутылки пива. В морозилке — пачка пельменей «Красная цена», которые слиплись в один ледяной ком.
— М-да, — протянул я. — Завтрак чемпиона.
Телефон в кармане пискнул. [SYSTEM SCAN: ENVIRONMENT] > Обнаружена зона "Biohazard" (Холодильник). > Ресурсы организма: 15%. > Текущее топливо: Отсутствует.
QUEST #005: GATHERING (СОБИРАТЕЛЬСТВО) Цель: Обеспечить базу провизией на 3 дня. Условия:
Только "Чистое топливо" (Белок, овощи, сложные углеводы).Запрещено: Сахар, Полуфабрикаты, Алкоголь.Бюджет: Эконом (у тебя долги, помнишь?). Награда: +20 XP, +2 STR (при условии правильного питания). Штраф за покупку мусора: -10 XP, Эффект "Shame" (Стыд) на 24 часа.Я захлопнул холодильник. Идти в магазин? На улицу? Я не выходил из дома дней пять. Доставка — наше всё. Курьер оставляет пакет у двери, я забираю, когда он уходит. Никакого контакта с людьми. Но в условиях квеста не было сказано «Заказать доставку». Там было слово «Gathering» (Собирательство). Это подразумевало активное действие.
— Ладно, — вздохнул я. — Надо проветриться.
Я оделся. Джинсы, которые стали тесноваты в поясе (спасибо, пельмени), худи с капюшоном, чтобы прятать лицо. Взял наушники. Взял телефон. Вышел в подъезд.
Лифт не работал. Классика. Пришлось спускаться пешком с восьмого этажа. На третьем этаже я уже дышал как загнанная лошадь. Ноги дрожали. — Слабость, — прокомментировал голос в наушниках (я не выключал приложение). — Твоя выносливость на уровне 80-летнего старика. Позор. — Заткнись, — прошипел я.
Я вышел из подъезда. Солнечный свет ударил по глазам, заставив зажмуриться. Мир казался слишком ярким, слишком шумным, слишком HD. Люди. Машины. Дети на самокатах. Бабки у подъезда. Обычный московский двор спального района. Но я смотрел на него через призму Системы.
Я достал телефон, открыл камеру в приложении (там появилась кнопка «Scanner»). Навел на бабок у лавочки. Вокруг их голов появились тонкие рамки (как в фотоаппарате при автофокусе), а рядом всплыл текст в стиле дополненной реальности.
[NPC: "Стражи Подъезда"] Уровень угрозы: Низкий (если не здороваться). Статус: Сплетни (Active). Аура: Осуждение.
Я чуть не рассмеялся в голос. Перевел камеру на парня, который шел навстречу. Спортивный костюм, банка пива в руке, лицо красное. [NPC: "Местный Юнит"] STR: C INT: F Состояние: Алкогольная интоксикация (15%). Совет: Избегать зрительного контакта.
Это было гениально. Моя социофобия, которая обычно рисовала в голове страшные картины («все на меня смотрят», «они меня осуждают»), отступила перед игровой логикой. Это были не люди, которые могут меня обидеть. Это были мобы. NPC. Декорации моего уровня.
Я дошел до «Перекрестка». Автоматические двери разъехались. В нос ударил запах выпечки и химии. Толпа. Очереди. Пиканье касс. У меня вспотели ладони. Я ненавидел магазины. Слишком много выбора, слишком много людей. Раньше мы ходили сюда с Алиной. Она выбирала вино и сыры, я просто катил тележку. Теперь я был один.
— Так, соберись, — сказал я себе. — Квест. Чистое топливо.
Я пошел в отдел овощей. Навел камеру на помидоры. [ITEM: Пластиковый Томат] Полезность: Низкая. Цена: Завышена. Вердикт: Ищи сезонные овощи.
Я перевел камеру на грязную морковь и капусту. [ITEM: Корнеплоды] Полезность: Высокая. Цена: Оптимальная. Bonus: +1 Cooking Skill (требуется чистка).
Я набрал моркови, лука, капусты. Картошки. Пошел в мясной. Куриная грудка. [ITEM: Строительный материал мышц] Белок: 23г/100г. Вердикт: Must Have. Я кинул две упаковки в корзину.
Потом я свернул не туда. Отдел «Снэки и Алкоголь». Я замер. Полки ломились от ярких пачек. Чипсы с крабом. Сухарики. И пиво. Холодное, запотевшее немецкое пиво по акции. Я почувствовал вкус на языке. «Всего одну баночку, — шепнул мозг. — Ты заслужил. Ты апнул уровень. Ты спас работу. Надо отметить».
Рука сама потянулась к банке «Spaten». Телефон в кармане завибрировал. Длинная, неприятная вибрация. Как будто ток прошел по ноге. Я достал его. Экран был красным.
[WARNING] Обнаружена попытка отравления Игрока. Объект: Алкоголь (Депрессант). Эффект: > Краткосрочно: +10 Mood. > Долгосрочно: -20 WIL, -10 WLT, Сброс прогресса дофаминовой диеты. > Блокировка квеста "Level 3" на 24 часа.
Вопрос Системы: Ты хочешь быть свиньей или игроком?
Я посмотрел на банку. Потом на телефон. «Свиньей или игроком?» Грубо. Но честно. Алкоголь — это кредит, который ты берешь у завтрашнего дня. А я и так в долгах перед своим будущим.
Я поставил банку обратно на полку. — Игроком, — прошептал я.
Развернулся и быстро, почти бегом, ушел в отдел круп. Взял гречку и овсянку. На кассе я чувствовал себя странно. В моей корзине лежала еда здорового человека. Никаких шоколадок, никакого пива, никаких пельменей. Кассирша, грузная женщина с фиолетовыми волосами, пробивала товары. — Пакет нужен? — Нет, у меня рюкзак.
Я сложил продукты. Вышел на улицу. Рюкзак оттягивал плечи. Килограммов пять-шесть полезной еды. Я шел домой, и каждый шаг давался легче. Я не просто купил еду. Я совершил акт заботы о себе. Осознанный акт.
Когда я зашел в квартиру и поставил пакеты на пол, телефон звякнул.
[QUEST COMPLETED: GATHERING] > Награда: +20 XP. > Бонус за силу воли (отказ от пива): +5 XP. > Inventory: Заполнен на 3 дня.
Я начал разбирать пакеты. Курицу в морозилку. Овощи в ящик. Холодильник больше не выглядел как декорация к фильму про апокалипсис. В нем появилась жизнь.
Внезапно экран телефона снова засветился. Новая вкладкаSHOP (МАГАЗИН) замигала. Я нажал на неё. Я ожидал увидеть там донат (купи меч за 100 рублей). Но там было другое.
МАГАЗИН НАГРАД (WISH LIST) Здесь ты можешь тратить заработанные "Баллы Удовольствия". Система: Чтобы получить кайф, ты должен его ЗАРАБОТАТЬ. Бесплатный кайф запрещен.
Доступные лоты:
Просмотр YouTube/Сериала (1 час) — Цена: 50 монет.Сладкое (1 единица) — Цена: 100 монет.Видеоигры (1 час) — Цена: 80 монет.Выходной (Полный день без задач) — Цена: 1000 монет.Твой баланс: 0 монет. Как заработать: Выполняй сложные задачи. (1 XP = 1 Монета).
Я осел на стул. — То есть... — пробормотал я. — Я теперь не могу просто так сесть и залипнуть в Ютуб? > Нет, — ответила Система текстом. > Развлечение — это награда. Дешевый дофамин делает тебя слабым. Хочешь смотреть видосики? Иди отожмись.
Это было жестоко. Это было тиранией. Но глядя на пустую квартиру, на пачку гречки и на свой телефон... я понял, что это единственный способ вытащить меня из ямы.
— Ладно, — я сжал кулаки. — Хочешь хардкора? Будет тебе хардкор. — Что дальше?
На экране появилась новая иконка. Она выглядела как гантеля, перекрещенная с молнией. QUEST CHAIN: PHYSICAL RECONSTRUCTION Этап 1: The Dungeon (Подземелье). Локация: Ближайший фитнес-клуб. Цель: Купить абонемент. Пройти вводную тренировку. Сложность: B. Warning: Там будут люди. Красивые люди. Тебе будет стыдно. Смирись с этим.
Я вздохнул. Спортзал. Место, где я чувствовал себя самым ничтожным существом на планете. Но я посмотрел на свой живот. Потом на статSTR: E+. — Смирись с этим, — повторил я.
Я пошел искать старые кроссовки.
ГЛАВА 4. THE IRON TEMPLE (ХРАМ ЖЕЛЕЗА)
Здание фитнес-клуба «Титан» нависало надо мной серым бетонным кубом. Из открытых окон второго этажа доносился тяжелый бас музыки и лязг металла. Для нормальных людей это просто спортзал. Для меня сейчас это был вход в Рейд высокой сложности.
Я стоял у крутящихся дверей, сжимая в кармане банковскую карту. Внутри боролись две сущности. Рациональная жаба: «Арт, ты идиот? У тебя 30 тысяч на карте. Абонемент стоит 15. Тебе жрать будет нечего». Игрок: «Без прокачки STR ты сдохнешь. Инвестируй».
Я достал телефон. [SYSTEM ADVICE] > Деньги — это ресурс для обмена на возможности. > Твое тело — это единственный актив, который всегда с тобой. > Покупай. Если умрешь с голоду — я дам квест на поиск еды в мусорке. (Шутка. Или нет).
Я усмехнулся. Юмор у Системы становился всё чернее. Я вошел внутрь.
На ресепшене сидела девушка с идеальной улыбкой и кожей цвета бронзы. — Добрый день! Хотите записаться? Я кивнул. — Месяц. Самый дешевый тариф. Утро-день.
Когда терминал пискнул, списывая пятнадцать тысяч рублей, я физически ощутил, как моя полоскаWLT (Богатство) сократилась вдвое. WLT Status: LOW (Риск кассового разрыва). Плевать. Пути назад нет.
Я получил магнитный браслет и прошел через турникет. Запах. Смесь резины, железа, дезодорантов и мужского пота. Для кого-то — вонь. Для меня — запах войны.
Раздевалка была пугающе людной. Время 12:00, но народу хватало. Я нашел свой шкафчик, стараясь не смотреть по сторонам. Вокруг меня ходили они. Титаны. Слева парень переодевал футболку — спина как карта рельефа, каждый мускул прорисован. Справа мужик лет сорока завязывал шнурки — его предплечья были толще моих икр.
Я быстро стянул худи. В зеркале на секунду мелькнуло моё отражение. Бледная кожа, узкие плечи, мягкий живот, нависающий над ремнем джинсов. [SCANNING SELF] > STR: E+ > Muscle Density: Low. > Body Fat: 22%. > Status: Skinny Fat (Скинни-фэт). Самый позорный тип телосложения: слабый, но жирный.
Я стиснул зубы. Спасибо за честность, тварь. Я быстро натянул футболку, стараясь спрятаться в ней. Включил AR-режим камеры (украдкой, делая вид, что выбираю трек).
Раздевалка преобразилась. Над головами людей появились маркеры уровней. Тот парень со спиной: [Level 15. Class: Bodybuilder]. Мужик с предплечьями: [Level 24. Class: Powerlifter (Veteran)]. В углу дрищ, похожий на меня: [Level 2. Class: Novice].
Я не один такой. Это немного успокоило. Я надел наушники, врубил «DOOM Eternal OST» (музыка для убийства демонов) и вышел в зал.
Зал был огромен. Зоны кардио, тренажеры, зона свободных весов. Система тут же выдала квест.
QUEST #006: BASIC STRENGTH Локация: Зона свободных весов. Задание: Жим лежа. 3 подхода по 10 повторений. Вес: Определить опытным путем. Цель: Разрушить мышечные волокна для последующего роста.
Я пошел к скамьям. Все заняты, кроме одной. Я лег. Гриф надо мной блестел холодной сталью. Сколько вешать? Раньше, три года назад, я жал 80 кг на раз. 60 кг было моим рабочим весом. Ну, я же не совсем развалился? Мышечная память должна остаться.
Я повесил по «десятке» с каждой стороны. Итого 40 кг. «Мало, — подумал я. — Будет стыдно жать пустой гриф с десятками». Добавил еще по пятерке. 50 кг. Нормально для разогрева.
Я лег. Взялся за гриф. В наушниках ревели гитары. — Погнали.
Я снял штангу со стоек. Тяжело. Неожиданно тяжело. Гравитация будто усилилась. Руки предательски задрожали. Я начал опускать гриф на грудь. Вниз шло нормально. Но когда гриф коснулся футболки и я попытался выжать его вверх... Он не двигался. 50 килограммов стали бетонной плитой. Левая рука пошла быстрее правой. Штангу перекосило. — Черт... — прохрипел я.
Я попытался выровнять, но силы покинули меня мгновенно. Энергия кончилась. Это был отказ. На первом же повторении. Штанга медленно, но неумолимо давила мне на грудь. Паника. Я не мог вдохнуть полной грудью. Я лежал, придавленный собственным эго, и смотрел в потолок. Вокруг ходили люди в наушниках. Никто не смотрел на меня. Я умру здесь? Задавленный штангой в 50 кг? [ALERT] > Critical Failure! > STR check failed. > Help needed.
Я попытался спихнуть её животом к ногам (позорная техника «ролл оф шейм»), но сил не хватало даже на это. В глазах потемнело.
Вдруг штанга взлетела вверх. Легко, как пушинка. Надо мной нависло лицо. Не доброе лицо тренера из рекламы. Это был тот самый «Ветеран» из раздевалки. Лысый, с седой щетиной, шрам на брови. Взгляд — как у питбуля, смотрящего на котенка.
Он поставил штангу на стойки. Грохот металла. Я жадно хватал воздух ртом, кашляя. Он смотрел на меня сверху вниз. Молчал.
Я снял наушники. — С-спасибо, — выдавил я.
Мужик не улыбнулся. — Ты че творишь, пацан? — голос у него был низкий, прокуренный. — Решил суициднуться? — Да я... раньше жал... думал, смогу... — «Раньше»? — он сплюнул (образно, на пол в зале нельзя). — Раньше ты, может, и в штаны не ссался. Сейчас ты ноль. Посмотри на свои руки. Они как макаронины. Куда ты лезешь под полтинник?
Мне стало жарко. Кровь прилила к лицу. Стыд жег сильнее огня. На нас начали оборачиваться. — Эго свое оставь в раздевалке, — отрезал Ветеран. — Если еще раз увижу, что ты кривишься под весом, который не контролируешь — выгоню из зала. Я тут дежурный тренер. Понял?
— Понял, — тихо сказал я.
Он молча снял блины с моей штанги. Оставил пустой гриф. 20 кг. — Жми. И чтобы техника была идеальной. Локти к корпусу. Лопатки сведи. И ушел.
Я остался лежать под пустым грифом. Униженный. Раздавленный. [SYSTEM MESSAGE] > Социальное унижение получено. > Эффект "Shattered Ego" (Разбитое Эго): Ваше мнение о себе приведено в соответствие с реальностью. > Теперь ты готов учиться.
Я посмотрел на гриф. 20 килограмм. Для мужика в 26 лет — это позор. Девушки разминаются с большим весом. Но Ветеран прав. Я — ноль. Я вытер пот со лба. Взялся за гриф.
[NEW SKILL UNLOCKED: TRAJECTORY ASSIST] Включить визуализацию?
— Да, — шепнул я.
Мир изменился. Прямо в воздухе, в AR-режиме, появилась зеленая пунктирная линия. Она показывала идеальную траекторию движения штанги. От солнечного сплетения вверх. Рядом всплыли подсказки: «Локти: 45 градусов». «Темп: 2 сек вниз, 1 сек вверх».
Я снял пустой гриф. Опустил по зеленой линии. Идеально. Выжал. 1. Опустил. Выжал. 2. Это было легко физически, но тяжело морально. Я чувствовал взгляды. Казалось, весь зал смеется над «дрищом с пустой палкой». Но я смотрел только на зеленую линию.
3... 4... 5... Система начала считать повторения. ...9... 10.
Я вернул гриф на стойки. Дзинь! [SET 1 COMPLETED] > Technique: Perfect. > Muscle Connection: 40% (Улучшается). > XP: +5.
Я сел. Ветеран проходил мимо. Косо глянул на меня, на пустой гриф. Едва заметно кивнул. И пошел дальше. Этот микроскопический кивок был ценнее любой похвалы. Это было разрешение: «Ладно, живи пока».
Следующий час превратился в ад. Система гоняла меня без жалости. Приседания (с собственным весом, потом с гантелей). Тяга блока. Отжимания.
Я взмок так, что футболку можно было выжимать. Руки тряслись мелкой дрожью. Ноги подкашивались. Каждое повторение давалось с боем. В наушниках играл уже не DOOM, а какой-то тягучий Phonk. Я вошел в транс. Боль стала фоном. Я перестал смотреть на других. Мне было плевать на «Титанов». Я боролся со своим главным врагом — гравитацией и слабостью.
[SYSTEM ALERT] > Уровень энергии: 5%. > Мышечный отказ достигнут. > Завершай тренировку, иначе начнется катаболизм.
Я сполз с тренажера для гиперэкстензии. Я не мог разогнуться. Я поплелся в раздевалку, держась за стены. Люди, выходящие навстречу, расступались. Не потому что я крутой, а потому что от меня пахло потом и отчаянием, и вид у меня был безумный.
В душевой я просто стоял под водой (теплой, слава богу), уперевшись лбом в кафель. Я чувствовал каждую мышцу. Они пульсировали, наливаясь кровью. Это было забытое чувство. «Памп». Я чувствовал себя... прочным. Не киселем.
Я вышел из зала. На улице шел дождь. Холодный осенний дождь. Но мне было плевать. Мое тело излучало жар, как печка. Я достал телефон. Итоги рейда.
[QUEST COMPLETED: THE IRON TEMPLE] > Награда: +100 XP. > STR: E+ -> D (Level Up!) > WIL: E+ -> D (За преодоление стыда). > New Achievement: "Empty Bar Hero" (Герой пустого грифа).
STATUS UPDATE: Level 2: 35/300 XP. STR: D (Ниже среднего, но уже не инвалид). WLT: Low.
Я шел домой под дождем, жуя протеиновый батончик (купленный на последние копейки в баре зала). Он был на вкус как картон, но сейчас казался амброзией. Я устал. Я был нищ. Я был одинок. Но я больше не чувствовал себя жертвой. Я был Игроком 2-го уровня. И я только что пережил первую битву.
Вдруг телефон в кармане завибрировал. Не системное уведомление. Звонок. Незнакомый номер. Я остановился, прикрывая трубку рукой от дождя. — Да? — Артур? — женский голос. Не Алина. Голос строгий, официальный. — Да. — Это HR-отдел компании «NeuroTech». Мы нашли ваше резюме на HeadHunter. Вы обновляли его... (пауза) три года назад, но наш алгоритм выдал ваше портфолио как релевантное. Мы ищем Lead Developer'а на новый проект. Зарплата... значительно выше рынка. Вам удобно говорить?
Я замер. Резюме? Я не обновлял его. Я убрал телефон от уха и посмотрел на экран приложения. В логах Системы висело сообщение, которое я пропустил во время тренировки:
[AUTO-ACTION PERFORMED] > Модуль "WLT" проанализировал финансы. > Вывод: Текущая работа не покроет расходы на Апгрейд. > Действие: Рассылка резюме по скрытым базам IT-рекрутеров. > Статус: Интервью назначено.
Я снова поднес телефон к уху. По спине пробежал холодок. Система сама ищет мне новую работу? Без спроса? Это уже не просто трекер привычек. Это экспансия.
— Артур? Вы слышите? — переспросил голос. — Да, — медленно сказал я. Губы растянулись в хищной улыбке. — Я вас слышу. Когда собеседование?
ГЛАВА 5. REFACTORING (РЕФАКТОРИНГ)
Дождь усиливался. Холодные струи били по капюшону, стекали за шиворот, смешиваясь с потом после тренировки. Я стоял посреди мокрого тротуара, сжимая телефон, который только что изменил мою жизнь без моего спроса. «NeuroTech». Lead Developer. Я знал эту компанию. Это были топы. Они пилили софт для нейроинтерфейсов и Big Data. Попасть туда — это как выиграть в лотерею. Или как продать душу.
Я посмотрел на экран. В логах Системы висела строчка: > Action: Resume sent to 48 recipients. Priority: High.
— Ты охренела? — спросил я вслух. Прохожий с собакой шарахнулся от меня, ускоряя шаг. Телефон вибрировал, но не ответил. Он свое дело сделал. Он бросил меня в воду, и теперь мне нужно было либо плыть, либо утонуть.
Я поплелся домой. Эйфория от зала («Я герой пустого грифа!») начала уступать место липкому страху. Интервью завтра. В 11:00. Я не был на собеседованиях три года. Я забыл, как продавать себя. Я привык сидеть в своем уютном болоте, где меня никто не трогает, пока я закрываю тикеты. А теперь мне нужно идти к «акулам» и доказывать, что я чего-то стою. Причем, судя по всему, Система в резюме приукрасила мои навыки. Если они начнут копать глубоко, меня раскусят за пять минут.
Я зашел в квартиру. В нос ударил запах застоявшегося воздуха. Я бросил мокрые кроссовки в угол. Прошел в ванную. Включил свет. В зеркале отразился человек, который собирался претендовать на зарплату в триста тысяч (или сколько там платят лидам?).
Зрелище было жалким. Волосы, не видевшие ножниц три месяца, висели сальными прядями. Борода — не стильная «щетина дровосека», а неопрятная растительность, растущая клоками. Лицо серое, с красными пятнами от дождя и нагрузки. Одежда: растянутая худи с пятном от кофе, джинсы, протертые между ног.
Телефон в кармане пискнул. Я достал его, уже зная, что там будет.
[SYSTEM SCAN: VISUAL] > Анализ интерфейса Аватара... > Харизма (CHR): E (Невидимка). > Статус: "Hobo Code" (Говнокод). > Вердикт: С такой внешностью тебя не возьмут даже курьером. Твой внешний вид кричит: "Я сдался". > Вероятность прохождения интервью: 3%.
— Спасибо, — буркнул я. — Я в курсе.
На экране развернулось новое окно квеста. Оно было оформлено в золотистых тонах, с иконкой ножниц и галстука.
QUEST #007: REFACTORING Описание: Твой код (мозг) может быть неплохим, но твой UI (внешность) отпугивает пользователей. Никто не скачивает приложение с уродливой иконкой. Цель: Привести Аватара в презентабельный вид. Подзадачи:
Hair & Beard: Стрижка уровня "Business". Удаление лишней растительности.Skin: Офисный дресс-код. Костюм, который сидит идеально. Бюджет: Весь доступный кэш (WLT). Дедлайн: 10:00 (завтра). Награда: +50 XP, +3 CHR, +Chance to Hire (Вероятность найма) повышается до 40%. Наказание за провал: Провал интервью. Падение самооценки. Вечный бан в "NeuroTech".Я открыл банковское приложение. Баланс: 14 350 рублей. Всё. Это все мои деньги до конца месяца. Следующая выплата со старой работы только через две недели (если меня не уволят раньше без выходного пособия). Абонемент в зал сожрал половину. Продукты — еще пару тысяч. Я должен потратить остаток на шмотки? А если меня не возьмут? Я останусь красивым, стриженым и голодным. Буду жрать свой галстук.
— Это безумие, — сказал я. — Мне нужно отложить хотя бы пятерку на еду и проезд. [SYSTEM ALERT] > Страх бедности — это мышление бедняка. > Ты не тратишь. Ты инвестируешь. ROI (Return on Investment) от хорошего костюма на собеседовании — 1000%. > Действуй. Или оставайся в жопе.
Я вздохнул. В этом была жестокая логика. Логика венчурного капиталиста. Ставь всё на зеро. Если выиграешь — сорвешь куш. Если проиграешь — ты и так был никем.
— Ладно. Я открыл карты. Вбил «Барбершоп». Ближайший был в двух кварталах. «Black Blade». Рейтинг 4.9. Ценник: «Стрижка + Борода = 2500 руб». Две с половиной тысячи за то, чтобы мужик поводил ножницами у меня над ушами? Раньше я стригся в «Эконом» за 500 рублей. Жаба внутри заквакала, умоляя остановиться. Но я вспомнил лицо Ветерана в зале. «Ты ноль». Ноль не имеет права торговаться.
---
Барбершоп встретил меня запахом дорогого табака, сандала и виски. Интерьер в стиле лофт: кирпичные стены, кожаные кресла, неоновая вывеска «Men’s Territory». Играл тяжелый блюз-рок. Я чувствовал себя здесь чужим. В своих грязных кроссовках и мокрой худи я выглядел как курьер, который ошибся дверью.
Администратор, парень с татуировками на шее и идеальной укладкой, окинул меня взглядом. В этом взгляде не было презрения, но была профессиональная оценка. Как врач смотрит на больного. — Запись есть? — спросил он. — Нет. Мне нужно срочно. Завтра интервью. Он хмыкнул, сверился с планшетом. — У мастера Дэна есть окно через десять минут. Комплекс? — Да. Голова и борода. — С вас 2800.
Я приложил карту. Пик. WLT: 14 350 -> 11 550. Сердце кольнуло. Минус три тысячи (с чаевыми будет три).
Я сел на кожаный диван. Достал телефон. Включил камеру. Система тут же подсветила мастера Дэна, который стриг какого-то бородача в соседнем кресле.
[NPC: "Мастер Дэн"] Класс: Барбер (Level 18). Навык: "Sharp Look" (Видит структуру черепа). Стиль: Brutal Minimal. Совет: Не говори ему, как стричь. Скажи задачу.
Через пять минут меня позвали. Я сел в кресло. Оно было удобным, обволакивающим. Дэн оказался крупным парнем с бородой, заплетенной в косичку (викинги бы оценили). Он развернул меня к зеркалу. Мы оба посмотрели на моё отражение. — Мда, — сказал он. — Запустил ты себя, брат. Что у нас? Депрессия? Запой? Или танки? Вопрос был прямым, без обиняков. — Развод и дедлайны, — почти честно ответил я. Дэн кивнул. Он взял расческу, приподнял мои патлы. — Бывает. Это лечится. Как стрижем?
Я вспомнил совет Системы. — Мне нужно выглядеть так, чтобы мне доверили управление командой из десяти человек и бюджет в миллионы. Сделай меня жестче.
Дэн улыбнулся уголками глаз. — Понял. Убираем "гнездо". Открываем лицо. Скулы у тебя есть, просто они под жирком и пухом. Бороду оформим клином, добавит геометрии челюсти. Готов прощаться с длиной? — Режь.
Работа началась. Это было не похоже на "чиканье" в эконом-парикмахерской. Это была операция. Дэн работал молча, сосредоточенно. Я закрыл глаза. Звук машинки жужжал где-то у виска. Я чувствовал, как падают волосы. Вместе с ними, казалось, падали куски моего прошлого. Того Артура, который прятался за челкой. Того Артура, который боялся смотреть людям в глаза. Запахло каким-то мятным шампунем, потом горячее полотенце легло на лицо, распаривая кожу. Острая бритва скользнула по шее. Опасность. В этом было что-то первобытное. Чужой мужик держит лезвие у твоего горла, а ты ему доверяешь.
[SYSTEM MESSAGE] > Процесс "Refactoring" запущен. > Удаление устаревших ассетов... [OK] > Обновление текстур лица... [PROCESSING]
Минут через сорок кресло развернулось. — Открывай глаза, — сказал Дэн.
Я открыл. И замер. Из зеркала на меня смотрел... не я. Нет, черты лица были моими. Но это был другой человек. Короткие виски (фейд), аккуратно уложенный верх. Борода больше не напоминала мочалку — она была четкой, с ровными линиями, которые визуально делали лицо уже и мужественнее. Острые углы. Та самая геометрия одним словом. Я выглядел не как замученный айтишник, а как... черт возьми, как специалист. Даже мешки под глазами стали казаться не признаком болезни, а признаком "опыта и тяжелой работы".
— Ну как? — Дэн смахнул кисточкой волоски с моей шеи. — Круто, — выдохнул я. — Реально круто. Я себя не узнаю. — Ты просто забыл, как выглядишь. С тебя отзыв на Яндекс Картах.
Я вышел из барбершопа. Дождь кончился. Ветер холодил свежевыбритые виски. Это было непривычное, но приятное чувство. Ощущение открытости. Я поймал свое отражение в витрине магазина. Осанка все еще была вопросительным знаком, но голова теперь держалась выше.
Телефон пискнул. [ПОДЗАДАЧА 1: COMPLETED] > CHR: +1. > Получен бафф: "Fresh Look". > Комментарий Системы: Теперь ты похож на человека. Осталось одеть этот манекен.
Я посмотрел на карту. Торговый центр был через дорогу. Самая сложная часть квеста. Костюм. Я ненавидел покупать одежду. На мою фигуру (узкие плечи, животик) всё садилось мешком. — Ладно, — сказал я. — У меня осталось 11 тысяч. На Armani не хватит. Придется импровизировать.
Я шагнул к пешеходному переходу.
Торговый центр «Атриум». Храм потребления. Стеклянные лифты, запахи кофе и духов, толпы людей с пакетами. Я чувствовал себя здесь неуютно, но теперь, с новой стрижкой, я хотя бы не ловил на себе взгляды охраны.
Я зашел в магазин масс-маркета. Ряды вешалок. Пиджаки, брюки, рубашки. Я потерялся. Синий? Черный? Серый? Какой размер? M? L?
Я достал телефон. Включил камеру. Система подсветила вешалку с темно-синим пиджаком.
[ITEM: Classic Navy Blazer] Класс: Rare (для масс-маркета). Атрибуты: +2 Authority, +1 Trust. Совет: Синий цвет вызывает доверие. Черный — слишком траурно для интервью. Бери синий. Цена: 4 999 руб.
Я взял пиджак. Ткань была так себе, синтетика, но выглядел он прилично. Теперь брюки. [ITEM: Chinos Beige] Совет: Не бери костюмные брюки. Ты идешь в IT, а не в банк. Casual style: Пиджак + Чиносы + Футболка/Рубашка. Это покажет, что ты гибкий.
Я набрал вещей и пошел в примерочную. Свет здесь был беспощадным. Верхний, резкий. Я надел белую рубашку (хлопок, 2000 руб). Застегнул пуговицы. Воротник сошелся, но на животе ткань натянулась. Черт. Пельмени передают привет. Я надел брюки. Втянул живот. Накинул пиджак.
Посмотрел в зеркало. Не идеально. Пиджак чуть висел в плечах (надо качать дельты, срочно). Но в целом... Это работало. Темно-синий цвет делал меня стройнее. Стрижка добавляла строгости. Я выглядел как современный разработчик. Не как гик, а как профи, который как раз может подписывать контракты.
Вдруг телефон, лежавший на пуфике, начал вибрировать. Не звонок. Ритмичная вибрация. Дззз-дззз. Дззз-дззз.
Я посмотрел на экран. [POSTURE CONTROL ACTIVE] > Обнаружен наклон спины: 15 градусов. > Сутулость убивает 50% твоей харизмы. > ВЫПРЯМИСЬ! > Инструкция: Плечи назад, лопатки вниз, макушкой тянись к потолку.
Я послушно расправил плечи. Грудь пошла вперед, живот (насколько это возможно) втянулся. Пиджак сел лучше. Вибрация прекратилась. > [Good Boy]. Держи корсет.
Я вышел к кассе. Рубашка, брюки, пиджак. Итого: 9 500 рублей. Остаток на карте: 2 050 рублей. Этого хватит на проезд и на еду на пару дней, когда кончатся новые запасы. Я приложил карту. Руки дрожали. Я только что слил всё, что у меня было, на тряпки.
Когда я вышел из ТЦ с пакетом, я почувствовал странную легкость. Деньги тяготили. Страх потерять их сковывал. Теперь терять нечего. Я пуст. Я — чистый лист. Или я завтра получу работу, или я сдохну. Третьего не дано.
Телефон мигнул.
[QUEST COMPLETED: REFACTORING] > Награда: +50 XP. > Level 2: 85/300 XP. > CHR: E -> D (Повышение ранга!). > New Status: "Ready to Sell".
[SYSTEM MESSAGE] > Подготовка завершена. > Ложись спать. Завтра — Босс-файт. > Совет: Не ешь на ночь. Тебе нужна злость голодного волка.
Я поехал домой. В метро я смотрел на свое отражение в темном стекле вагона. Там стоял незнакомый мне парень. Стриженый, в рубашке (я решил не снимать её), с прямым взглядом. Он мне нравился. Он выглядел как человек, у которого есть план. Хотя план был только у моего телефона…
Одновременно с этим во мне проснулось гадское чувство – пусть ОНА это увидит. Пусть она оценит каким я становлюсь. Это мерзкое, липучее чувство в миг всколыхнуло во мне разочарование и грусть. Разочарование от того, что я приду домой и там снова пусто. Грусть от того, что я больше никогда не засну с ней в обнимку. Но это слова слабого человека. Человека, который зависит от мнения других. Настоящий мужчина опирается на себя, а не на дебильное желание показаться красавцем перед бывшей. Он не будет становится лучше и расти только ради человека, который его предал.
Грусть и разочарование сменились жаждой двигаться вперед и доказать всему миру, что я не лох. Я никому не позволю сломать меня и обесценить. Данная мне жизнь – это награда, и никто не посмеет ее сломать.
ГЛАВА 6. EXECUTION CONTEXT (КОНТЕКСТ ВЫПОЛНЕНИЯ)
10:45. Небоскреб «Москва-Сити» пронзал низкие осенние тучи, как стеклянная игла. Я стоял у подножия башни «Федерация», запрокинув голову. Ветер срывал с меня капюшон (которого теперь не было, я был в пиджаке), пытаясь растрепать укладку за три тысячи рублей. Люди вокруг спешили, уткнувшись в телефоны. Дорогие костюмы, стаканчики с кофе, запах дорогих духов и стресса. Я чувствовал себя самозванцем. Шпион в тылу врага. Мой новый пиджак, казалось, кричал: «Я стоил 4999 рублей!». Мои руки в карманах сжимались в кулаки, чтобы скрыть дрожь.
Я достал телефон. [LOCATION DISCOVERED: "CORPORATE TOWER"] Тип зоны: High Level Dungeon. Требования: INT > C, CHR > D, WLT > B (Recommended). Опасность: Социальное уничтожение.
— WLT у меня на дне, — усмехнулся я. — Значит, будем брать наглостью.
Я вошел во вращающиеся двери. Охрана. Турникеты. Мрамор. — Ваша фамилия? — охранник даже не посмотрел на меня, сверяясь со списком. — Артур... — я запнулся. Фамилия казалась мне слишком простой для этого места. — Артур Белов. В NeuroTech. — 12-й этаж. Пропуск временный, приложите штрих-код.
Лифт взлетел на 12-й этаж так быстро, что уши заложило. Двери открылись. Офис NeuroTech. Это был не тот уютный опен-спейс с пуфиками, где я работал раньше. Это была лаборатория будущего. Стекло, белый пластик, мониторы во всю стену, на которых бежали графики. Тишина, нарушаемая лишь гулом серверов и тихим стуком клавиш. Здесь пахло озоном и деньгами.
Ко мне подошла девушка. HR. Я тут же активировал сканер. [NPC: Елена (HR Manager)] Level: 12. Атрибут: "Human Lie Detector". Настроение: Скептическое. Задача: Пройти фильтр.
— Артур? — она окинула меня взглядом. От ботинок (почищенных с вечера) до стрижки. Взгляд задержался на лице. Я вспомнил вибрацию телефона. Расправил плечи. Посмотрел ей прямо в глаза. — Добрый день, Елена. — Вы пришли раньше. Это хорошо, — она улыбнулась, но улыбка была дежурной. — Пройдемте в переговорную. Марк подойдет через минуту.
Мы зашли в стеклянный «аквариум». Я сел. Стул был слишком удобным. В таких креслах расслабляешься и теряешь бдительность. — Кофе, воды? — Воды, пожалуйста. Она поставила стакан. — Марк — наш технический директор. Он... специфический человек. Не пугайтесь его манеры общения. — Я готов ко всему, — соврал я.
Дверь открылась. Вошел Он. Марк. Я ожидал увидеть типичного айтишника в толстовке. Но вошел человек, похожий на хирурга-убийцу. Высокий, худой, в черной водолазке и очках с тонкой оправой. Лысый череп блестел в свете ламп. Он не подал руки. Просто сел напротив, открыл ноутбук и уставился на меня.
[BOSS DETECTED: MARK (CTO)] Level: ?? (Too High). INT: S (Genius). Skill: "Code Review from Hell". Слабость: Не обнаружена. Warning: Он видит твой страх.
— Артур, — его голос был тихим, сухим. — Я читал ваше резюме. Впечатляет. Если хотя бы половина из этого правда. Я сглотнул. Что там написала Система? — Давайте проверим, — сказал я, стараясь, чтобы голос не дрожал.
Марк не стал тратить время на "кем вы видите себя через 5 лет". Он сразу начал стрелять. — Архитектура микросервисов. Проблема распределенных транзакций. Паттерн Saga. Рисуйте. Он подвинул мне маркер и указал на белую доску.
Я встал. Ноги были ватными. Паттерн Saga? Я читал о нем в статьях на Хабре, но никогда не внедрял. На прошлой работе мы использовали монолит, который просто подпирали костылями. Я подошел к доске. В голове было пусто. "Brain Fog" (Туман в голове) пытался вернуться. «Я не знаю. Я провалюсь. Я сейчас положу маркер и уйду».
Телефон во внутреннем кармане пиджака нагрелся. Он жег грудь. В скрытом наушнике, который я не использовал со времен зачетов в универе, раздался голос системы. [SYSTEM ACTIVATION] > Угроза провала миссии. > Активация навыка: "DEEP FOCUS" (Глубокий фокус). > Стоимость: 200 ккал/час. > Побочный эффект: Дикий голод после завершения. > ПРИНЯТЬ? (Моргните дважды).
Я моргнул. Мир изменился. Звук кондиционера исчез. Лицо Елены на периферии размылось. Осталась только белая доска и задача. Мозг заработал в другом режиме. Вспомнились статьи, которые я читал три года назад. Вспомнились схемы из учебников. Информация, которая лежала в "долгом ящике" памяти, вдруг всплыла на поверхность.
Я начал рисовать. — Оркестрация или хореография? — спросил я, не оборачиваясь. — Хореография, — бросил Марк. Я нарисовал квадраты сервисов. Стрелки очередей сообщений. Обработчики ошибок. — Здесь у нас Kafka, — комментировал я, и мой голос звучал твердо, механически. — Если сервис платежей падает, мы отправляем ивент компенсации в сервис заказов...
Марк молчал. Я закончил схему. Обернулся. Он смотрел на доску, слегка прищурившись. — Неплохо. Банально, но работает. А теперь... Он начал задавать вопросы быстрее. — Что будет, если Kafka упадет? — Репликация. — Если Network Partition? — CAP-теорема. Мы жертвуем доступностью ради согласованности в данном узле...
Это был пинг-понг. Он бил — я отбивал. Я не чувствовал себя собой. Я был интерфейсом к Гуглу. Система в моей голове (или в телефоне?) подбрасывала термины, которые я едва помнил. Мой INT: D работал на пределе, разогнанный адреналином и допингом Системы.
Прошло 40 минут. Я был мокрым под пиджаком. В животе начало урчать — глюкоза сгорала, как топливо в форсажной камере. Марк закрыл ноутбук. — Хорошо. По теории — зачет. Я выдохнул. — Но, — он поднял палец. — Есть один момент в резюме. Сердце упало. — Тут написано... — он посмотрел в экран. — «Опыт разработки алгоритмов предсказательного анализа на базе нейросетей». И ссылка на GitHub. Я похолодел. Я никогда не писал нейросети. Я бэкендер. Я перекладываю JSON-ы из базы в API. Система солгала. Она приписала мне то, чего я не умею.
Марк повернул ноутбук ко мне. — Я посмотрел этот репозиторий сегодня утром. Код... элегантный. Нестандартный. Я бы даже сказал, гениальный. Он посмотрел мне в глаза. Взгляд хирурга. — Вы сами это писали? Тишина в переговорной стала звенящей. Елена перестала печатать в телефоне и подняла голову. Если я скажу «Нет» — меня выгонят. Если я скажу «Да» — я подпишусь под тем, что я гений, и мне придется этому соответствовать.
[SYSTEM ALERT] > Критический момент. > Вариант А: Признаться (Game Over). > Вариант Б: Блеф (WLT: High Risk). > Совет: "Fake it till you make it". Код написал я (Система). Ты — мой Аватар. Значит, это твой код.
Я сжал кулаки под столом так, что ногти впились в ладони. — Да, — сказал я. — Это мой пет-проект. Я писал его по ночам, когда... когда мне нужно было отвлечься от личных проблем. Это была полуправда. Я писал Систему. А Система написала тот код.
Марк смотрел на меня долгих пять секунд. Он сканировал меня. Искал ложь. Но мой пульс был ровным (спасибо, Focus Mode). Вдруг он улыбнулся. Это была страшная улыбка, похожая на трещину на льду. — Мне нравится, что вы пишете код от злости, Артур. Сытые коты мышей не ловят. Нам нужны голодные волки.
Он захлопнул крышку ноутбука. — Лена, оформляй. Испытательный срок — месяц. Позиция Team Lead группы аналитики. Лена округлила глаза. — Марк, но мы искали Senior-а. Лид — это другая вилка... — Я сказал, Лид. Мне нужен человек, который сможет внедрить это (он кивнул на экран) в наш продакшн. Марк встал и протянул мне руку. Его ладонь была сухой и холодной. — Добро пожаловать в ад, Артур. Если не справишься за месяц — уволю с волчьим билетом. Справишься — получишь опционы. — Справлюсь, — сказал я, пожимая его руку.
Я вышел из башни через пятнадцать минут. Ветер ударил в лицо. Я шатался. Действие "Focus Mode" закончилось. Меня накрыло. Руки тряслись, голова кружилась, перед глазами плыли цветные пятна. Я только что продал себя на позицию, для которой я не квалифицирован, пообещав внедрить код, который я не понимаю. Я сошел с ума.
Телефон пискнул.
[QUEST COMPLETED: INTERVIEW] > Результат: SUCCESS (Критический успех). > Награда: +200 XP. > Level 2 -> Level 3 (LEVEL UP!). > WLT: Статус "Potential Millionaire". Оффер: 350 000 руб/мес. > New Title: "Impostor" (Самозванец).
[SYSTEM MESSAGE] > Ты сделал это. Ты в игре. > Но теперь тебе придется учиться быстрее, чем когда-либо. > Я открою тебе доступ к базе знаний по нейросетям. Ты будешь учиться по ночам. > Режим сна будет оптимизирован. Полифазный сон Да Винчи: 15 минут каждые 4 часа. Остальное время — загрузка данных. Ты будешь страдать, но ты будешь учиться. Я пока не могу наверняка предсказать влияние на твой организм. Будем корректировать при необходимости.
Я прислонился спиной к холодному стеклу небоскреба. Триста пятьдесят тысяч. Это в два раза больше, чем я получал. Я смогу отдать долги за месяц. Я смогу купить машину. Я смогу...
Я посмотрел на поток людей. В толпе мелькнуло красное пальто. У меня перехватило дыхание. Алина? Я дернулся вперед, забыв про усталость. Девушка обернулась. Чужое лицо. Чужие глаза. Она посмотрела на меня с испугом — парень в костюме, бледный, с безумным взглядом. — Извините, — прошептал я.
Я снова прислонился к стене. Вот оно. То самое чувство. Я победил. Я получил работу мечты. Я выгляжу как человек с обложки. Но мне некому позвонить. Мне не с кем поделиться этой победой. «Настоящий мужчина опирается на себя», — вспомнил я свои мысли в метро. Да. Опирается. Но почему эта опора такая холодная?
Я достал телефон. — Система, — сказал я тихо. — Где ближайшая бургерная? Я сейчас сожру быка. > Маршрут построен. 200 метров. Допускается "Cheat Meal" (Награда за победу).
Я оттолкнулся от стены и пошел вперед. Я больше не Артур-неудачник. Я Артур-Самозванец. И я собираюсь стать лучшим Самозванцем в этом городе.
Квартира встретила меня тишиной. После шума "Москва-Сити" и стресса на интервью эта тишина казалась ватной, оглушающей. Я стоял в коридоре, прислонившись спиной к двери. Пиджак за 5 тысяч рублей — моя броня — теперь казался просто куском синтетики, под которым спина была мокрой от пота.
Я прошел в комнату. Мое рабочее место. "Home Office". Стол, заваленный банками из-под энергетиков (которые я не убрал с ночи кодинга), два монитора, покрытые пылью, и уже родной MacBook, который мне когда-то выдали на работе. Та самая машина, на которой я написал своего нового… Друга? Ментора? Дьявола? Хер с ним, сейчас не до философии. На крышке Мака — наклейка «I love Code», которую подарила Алина. Уголок наклейки отклеился и почернел от грязи.
Экран макбука мигал уведомлением Slack. Виктор (13:15): «Арт, ты где? Мы ждали тебя на грумминге. У тебя все ок?»
Я смотрел на это сообщение. Два часа назад я продал себя Марку за 350 тысяч в месяц. Я — Лид в NeuroTech. А здесь, в этом старом ноуте, я все еще мидл-разработчик Артур, который опаздывает на "грумминг" (планирование задач). Две реальности наложились друг на друга. Глюк матрицы.
Я сел за стол. Стул скрипнул. Нужно заканчивать. Резко. Как пластырь.
Я открыл корпоративную почту. Нажал New Message. Кому: hr@softline.ru, victor@softline.ru. Тема: Заявление.
Пальцы зависли над клавиатурой. Страх. Старый, липкий страх. "А вдруг в NeuroTech не получится? Вдруг Марк поймет, что я самозванец, через два дня? А здесь стабильность. Здесь ДМС. Здесь Витя, который меня прикрывает".
Телефон на столе завибрировал. [SYSTEM INTERVENTION] > Обнаружен процесс "Сомнение". > Анализ риска: Остаться здесь = Гниение. Уйти = Риск, но Рост. > Напоминание: У тебя на счету 2000 рублей. Аванс в "SoftLine" через 10 дней. Ты не доживешь. > Действуй.
Я выдохнул. Напечатал: «Коллеги, прошу уволить меня по собственному желанию. Оффер принят в другой компании. Последний рабочий день готов обсудить. Спасибо за всё».
Нажал Send.
Секунда тишины. Потом Slack взорвался. Звонок. Виктор. Я надел наушники. Камеру включать не стал. — Да, Вить. — Арт, ты серьезно? — голос Виктора звучал не сердито, а растерянно. — Я только что увидел письмо. Что случилось? Это из-за того бага? Мы же всё решили. — Нет, Вить. Не из-за бага. — Тебя перекупили? Кто? — NeuroTech. В трубке повисла пауза. Долгая. — Охренеть, — наконец выдохнул он. — Это... серьезно. На какую позицию? — Лид. Снова пауза. — Слушай... — голос Виктора изменился. Из начальника он превратился просто в усталого мужика. — Я хотел предложить тебе грейд в следующем квартале. Но Лида я тебе дать не могу, сам понимаешь, позиция занята мной. — Я понимаю. — Мне даже нечего сказать. Арт, по-хорошему надо тебя здесь продержать еще месяц по договору, но… Ебаный NeuroTech. Я как человек не могу зарунитить тебе такую возможность. Пусть это будет моей благодарностью за все годы твоей работы. С HR я договорюсь.Ты это... не пропадай. Если там будут жестить (а я слышал, у них там мясорубка), пиши. Может, придумаем что-то.
У меня ком встал в горле. Эмпатия. Чертова человечность. Мне было бы легче, если бы он начал орать. — Спасибо, Вить. Ты крутой мужик. Правда. — Да ладно тебе. Удачи, самурай. Он отключился.
Я снял наушники. Всё. Я больше не работаю в SoftLine. Я закрыл крышку ноутбука.
[QUEST COMPLETED: BREAKING THE LOOP] > Награда: +30 XP. > WLT: Статус "All In" (Все фишки на столе). > Получен дебафф: "No Safety Net" (Нет страховки).
Я посмотрел на квартиру. Теперь, когда я уволился, я вдруг увидел свое жилище другими глазами. Это была не квартира "успешного Лида". Это была берлога депрессивного одиночки. Шторы задернуты, хотя на улице день. На полу слой пыли. В углу коробки от пиццы, которые я вроде бы выбрасывал, но они расплодились снова. Запах спертого воздуха и старых вещей.
[SYSTEM QUEST: GARBAGE COLLECTION] Тип: Бытовой. Описание: Твое окружение формирует твое мышление. Ты не сможешь учить архитектуру нейросетей, сидя в свинарнике. Задача: Полная зачистка рабочего сектора. Условия:
Убрать весь визуальный шум.Подготовить "Боевой пост" для 48-часового марафона обучения.Утилизировать "Артефакты Прошлого".Я встал. Снял пиджак, повесил его аккуратно на спинку стула (единственная чистая вещь в доме). Закатал рукава рубашки. Взял мусорный пакет. Огромный, черный, на 120 литров.
Полетели коробки. Старые чеки. Бумажки с заметками, которые потеряли смысл. Пустые блистеры от таблеток. Я добрался до стола. Служебный ноут — в сторону (за ним завтра приедет курьер). Остался мой личный стационарник и... мелочи.
Мой взгляд упал на полку над столом. Там стояла она. Не фотография в рамке (это банально). Там стояла фигурка. Персонаж из нашей любимой игры, в которую мы пару раз играли вместе на приставке. Хоть Алина и терпеть не могла видеоигры, она подарила мне фигурку на годовщину отношений. «Ты мой танк, я твой хилер». Милая, дорогая коллекционная фигурка. Я взял её в руки. Пыль въелась в пластик. Воспоминание ударило под дых. Вечер. Мы сидим на этом самом диване, укрывшись одним пледом. Она смеется, потому что я туплю на миссии.. Я чувствую запах её шампуня...
— Сука, — прошептал я.
[SYSTEM WARNING] > Обнаружен триггер памяти. > Объект: "Эмоциональный Якорь". > Влияние: Снижает фокус на 30%. Вызывает выработку кортизола (тоска). > Решение: DELETE.
Я сжал фигурку. Жалко. Она стоит денег. Это память. Мы же не расстались врагами (формально). Она просто "устала". Может, убрать в коробку? Спрятать? Вдруг она вернется за вещами, увидит, что я выкинул подарок, и обидится?
> Она не вернется, — текст на экране телефона пульсировал красным. — А если ты сохранишь это, ты сохранишь и надежду. Надежда — это яд для того, кто должен выжить.
Я подошел к мусорному пакету. Разжал пальцы. Пластиковый стук о дно пакета прозвучал как выстрел. — Танк больше не нужен, — сказал я. — Хилер ушел в другую пати.
Я завязал пакет. Вынес его в коридор. Вернулся. Взял тряпку. Я драил стол так, будто хотел стереть с него не только пыль, но и саму структуру ДСП. Через час комната изменилась. Ничего лишнего. Стол, монитор, клавиатура, лампа. Стерильно. Пусто. Холодно. Идеально для работы.
Остался последний шаг перед "погружением". Еда и топливо для мозга. В холодильнике (после вчерашнего квеста) были овощи и курица, но для 48-часового марафона нужно кое-что помощнее. Кофеин. Ноотропы (легальные). Капли для глаз. Нужно идти в аптеку и супермаркет.
Я надел кроссовки. Посмотрел на себя в зеркало. Стрижка все еще держалась. Рубашка помялась, но вид был боевой. Я вышел на улицу.
Район, в котором я жил, был обычным "спальником". Серые панели, детские площадки, "Пятерочка" на углу. Я шел быстро, глядя под ноги. Я не хотел никого видеть. Я купил в аптеке "Визин", витамины группы B и кофеин в таблетках. Зашел в магазин за водой (взял две упаковки по 5 литров, чтобы не бегать к фильтру).
На обратном пути, у подъезда, стояла машина. Белый Kia Rio. Такая же, как у Алины. Ее мама подарила ей эту тачку после окончания университета. И номер... цифры были похожи. 542... или 524? Сердце екнуло. Дверь машины открылась. Показалась ножка в бежевом сапоге. Я замер, прижимая к груди упаковку с водой. «Не может быть. Что она тут делает? Приехала за вещами? Или... поняла ошибку?»
Из машины вышла девушка. Светлые волосы, бежевое пальто. Она повернулась. Это была соседка с пятого этажа. Катя. Или Маша. Я не помнил. Она улыбнулась мне. — О, привет! Ты что, переезжаешь? Столько воды...
Я стоял и смотрел на неё как идиот. Адреналин, который выплеснулся в кровь от мысли о встрече с Алиной, теперь не находил выхода. Руки тряслись. — Нет, — выдавил я. — Просто... готовлюсь. — К чему? К войне? — хихикнула она. — Типа того.
Я забежал в подъезд. Лифт не ехал (опять). Я потащил воду на восьмой этаж пешком. На пятом этаже я остановился, задыхаясь. Я поставил бутылки на грязный бетон. Меня накрыло. Не физическая усталость. Эмоциональная. Я увидел похожую машину, и меня размазало. Я готов был бросить всё и бежать к ней. Я ничтожество. Я получил работу, я прибрался, я строю из себя крутого. Но один триггер — и я снова тот "алень", который готов простить предательство ради улыбки.
Я достал телефон. — Ты видел это? — спросил я Систему. Экран мигнул.
[DIAGNOSIS] > Статус: Эмоциональная нестабильность. > Причина: Недогруз ЦП. > Твой мозг слишком свободен, поэтому он генерирует симуляции прошлого. > Тебе нужно забить оперативную память данными. > Иди домой. Начинаем "Полифазный Ад".
Я поднял воду. Злость на себя придала сил. Я дошел до восьмого этажа, не останавливаясь.
18:00. Я забаррикадировал дверь. Шторы задернуты наглухо. На столе — идеальный порядок. Слева: вода, витамины. Справа: блокнот и ручка (писать руками помогает запоминать). По центру: Монитор с открытой документацией NeuroTech (Марк прислал доступ час назад).
Письмо от Марка было коротким: «Артур, вот документация по проекту "Cerebro". У тебя 2 дня, чтобы понять архитектуру. В понедельник ты должен объяснить команде, как мы будем внедрять трансформеры в поток данных реального времени. Не разочаруй меня».
Я открыл файл Architecture_Overview.pdf. 140 страниц. Схемы, формулы, ссылки на закрытые репозитории. Это был космос. Уровень сложности: S.
[QUEST #008: DATA UPLOAD] Цель: Загрузить знания в мозг. Режим: Polyphasic Sleep (Uberman Schedule адаптированный). Цикл: 3 часа 45 минут работы — 15 минут сна. Длительность: 48 часов. Штраф за сон вне графика: Удар током (вибрация телефона на максимуме).
Я сделал глоток воды. — Поехали.
Поначалу было интересно. Я разбирал код, рисовал схемы. Мой INT качался. Я чувствовал себя героем фильма «Области тьмы». В 22:00 — первый сон 15 минут. Я проснулся бодрым. В 02:00 — второй сон. Уже тяжелее.
На 20-м часу начался ад. Глаза горели огнем. Капли не помогали. Текст на экране начал плыть. Буквы менялись местами. «Backpropagation» превратилось в «Back to Alina». Я тряхнул головой. — Нет. Смотри в код.
Я встал, начал отжиматься, чтобы разогнать кровь. 10... 15... 20... Упал на пол. Мозг отказывался работать. «Зачем тебе это? — шептал голос в голове. — Ты не справишься. Ты самозванец. Брось. Ляг поспи. Уволься. Вернись к Виктору, он простит».
[SYSTEM ALERT] > Критическое падение воли. > Активация протокола "MOTIVATION". > Включаю аудиозапись.
Из динамика телефона раздался голос. Не робот. Это была будто запись с диктофона. Голос Алины: «Ты скучный, Арт. Ты ничего не добиваешься. Ты просто удобный диван. В тебе больше нет искры. Я благодарна за твою любовь и опыт, но я хочу жить эту жизнь. А с тобой все как-то… Стабильно».
Я замер на полу. Эта запись резанула по живому сильнее, чем любой удар током. Злость. Холодная, черная, чистая злость. — Я тебе покажу «диван», — прошипел я.
Я поднялся. Сел за стол. Усталость исчезла. Её выжгло напалмом ненависти. Я снова начал читать. Теперь я не просто читал — я пожирал информацию. Я запоминал куски кода наизусть.
Воскресенье, 20:00. Прошло 48 часов. Я был похож на тень. Руки дрожали так, что я не мог держать ручку. Но схема была у меня в голове. Я понимал, как работает "Cerebro". Я видел его слабые места. Я знал, что предложить.
Телефон засветился. Золотой свет залил комнату.
[QUEST COMPLETED: DATA UPLOAD] > INT: D -> C (Level Up!). > WIL: D -> C (Ты выжил). > Новый навык: "Technical Vision" (Ты видишь архитектуру за кодом). > Уровень усталости: 98% (Critical).
[SYSTEM MESSAGE] > Загрузка завершена. > Завтра твой первый рабочий день. > Ты больше не самозванец. Ты — подготовленный шпион. > СПАТЬ.
Я не дошел до кровати. Я просто откинулся на спинку кресла и провалился в темноту. Последняя мысль была не об Алине. Последняя мысль была: «Я знаю, как оптимизировать их веса в слое внимания. Марк офигеет».
ГЛАВА 7. INTEGRATION TEST (ИНТЕГРАЦИОННЫЙ ТЕСТ)
Я проснулся не от будильника, а от того, что шея затекла так, будто её зажали в тиски. Я спал в компьютерном кресле, откинувшись назад. Монитор передо мной погас, превратившись в черный квадрат Малевича, но системный блок под столом тихо гудел, как остывающий ядерный реактор после критической нагрузки. В комнате пахло озоном — специфический запах перегретой техники — и пережаренным, кислым кофе, остатки которого засохли в кружке.
Я с трудом разлепил веки. Ресницы слиплись. Первая мысль была панической: «Где я? Какой сегодня год?» Вторая мысль пришла с холодной, кристальной ясностью: «Я знаю архитектуру Cerebro».
Это было странное чувство. Схемы, таблицы, потоки данных, названия микросервисов — всё это стояло перед внутренним взором. Не как смутные воспоминания, а как выгравированные лазером чертежи. Я мог мысленно приблизить любой узел системы и увидеть его код. 48 часов «Полифазного Ада» не прошли даром. Мозг гудел от перегрузки, вибрировал, как высоковольтный провод, но он работал. Он был разогнан до частот, на которых обычные люди сгорают.
Я попытался встать. Ошибка. В глазах потемнело, колени подогнулись, словно из суставов вытащили болты. Я ухватился за край стола, чтобы не рухнуть на пол. Сердце пропустило удар, потом забилось гулко и тяжело, отдаваясь в висках.
— Осторожнее, — прошептал я себе пересохшими губами. — Ты сейчас хрустальный.
Я поплелся в ванную, шаркая ногами как старик. Включил свет. Из зеркала на меня смотрел вампир. Или жертва экспериментов. Бледная, почти прозрачная кожа. Лопнувшие капилляры превратили белки глаз в карту красных рек. Новая стрижка все еще держала форму, придавая мне вид безумного ученого, но лицо осунулось. Скулы стали острее, тени под глазами — глубже. Это было лицо человека, который не ел и не спал, одержимый целью. Лицо фанатика.
Телефон, который я принес с собой, пискнул, считывая биометрию через зеркало (или мне просто показалось?).
[SYSTEM STATUS] > HP: 65% (Статус: Истощение). > Energy: 15% (Критический уровень). > INT: C (Effect: Temporarily Boosted / Overclocked). > Mental Stability: Unstable. > Предупреждение: Риск выгорания нейронных предохранителей. Требуется охлаждение.
— Охладимся, — сказал я.
Я залез в душ. Включил ледяную воду. Тело пронзило тысячей иголок. Я задохнулся, но не отступил. Холод смывал липкий пот марафона, заставлял сосуды сжиматься и разжиматься, прогоняя застоявшуюся кровь. Система одобрительно хмыкнула короткой вибрацией на браслете. +1 к Воле за утренний мазохизм.
Выйдя, я выпил две таблетки кофеина и запил их пол-литровой кружкой воды. Затем — ритуал одевания. Синий пиджак. Бежевые чиносы. Белая рубашка, которую я отпаривал в коматозном состоянии вчера вечером. Я застегнул пуговицы, поправил воротник. Надел часы. Вампир исчез. В зеркале отразился дорогой, но очень уставший профессионал. Человек, который знает, что делает, даже если внутри он умирает.
Я вышел из дома. Улица встретила меня шумом и серостью. Метро. Синяя ветка. Станция «Выставочная». Я снова стоял у подножия башни «Федерация». Стекло и бетон уходили в низкое небо, пронзая облака. В прошлый раз я стоял здесь как проситель, как самозванец с поддельным резюме. Сегодня я пришел забрать то, что мне принадлежит.
Я достал белый пластиковый пропуск, который мне выдали в пятницу. На нем не было имени, только логотип NeuroTech и штрих-код. Приложил к турникету. Секундная задержка. Пик. Зеленый свет. Турникет открылся, пропуская меня в чрево корпорации. «Access Granted».
Я вошел в лифт. Кабина была набита людьми. Дорогие костюмы, макбуки в кожаных чехлах, умные часы, запах селективного парфюма. Здесь пахло деньгами и амбициями. Я прислонился к зеркальной стене и включил AR-сканер. Просто чтобы проверить калибровку.
Интерфейс наложился на реальность: [Unit: Senior Analyst. Level 4.] [Unit: Marketing Lead. Level 6. Aura: Confidence.] [Unit: Java Developer. Level 5. Status: Sleepy.]
Я усмехнулся про себя. Мой уровень в приложении был всего 3. Но знания, загруженные в мою голову, тянули на десятку. Я был шпионом с ядерной боеголовкой в кармане. Лифт взмыл на 12-й этаж, закладывая уши. Двери открылись с мягким шелестом. Добро пожаловать на арену.
Опен-спейс NeuroTech жужжал, как улей. Десятки мониторов, гул голосов, стук клавиш. Это был не просто офис, это был конвейер по производству будущего. Елена (HR) перехватила меня у входа, словно ждала в засаде. — Артур! Доброе утро. Она окинула меня взглядом. Заметила красные глаза, но тактично промолчала. — Выглядишь... сосредоточенным. — Доброе, Лена. Где моя команда? — Пойдем, я представлю тебя.
Мы прошли через ряды столов, мимо кофе-поинтов и зон отдыха, в самый дальний, угловой сектор у панорамного окна. Отсюда открывался вид на всю Москву, но никто из сидящих не смотрел в окно. Все смотрели в мониторы.
Там сидело четыре человека. Моя «стая». — Коллеги! — громко сказала Лена, хлопнув в ладоши. — Минутку внимания. Это Артур, ваш новый Team Lead.
Четыре головы повернулись ко мне. Время замедлилось. Я активировал сканер. Мир снова покрылся сеткой данных, раскрывая мне суть этих людей.
1. Саша (Junior Backend). Парень лет 22, худой, в объемном худи с принтом из Наруто. На столе — фигурки, кружка с котиком. Взгляд бегает. Он боится. [Target: Sasha] [Class: Junior] [Status: Fear] «Боится, что новый босс будет злым и уволит его за косяки. Ищет защиты». Вердикт: Безопасен. Потенциально лоялен.
2. Олег (Middle DevOps). Крупный бородач в огромных наушниках Sony. На столе бардак из проводов. Посмотрел на меня поверх очков, кивнул с абсолютным безразличием и вернулся к монитору. [Target: Oleg] [Status: Indifferent] «Ему плевать, кто босс, лишь бы не трогали серверы и не заставляли ходить на корпоративы». Вердикт: Нейтрален. Инструмент.
3. Марина (Data Scientist). Девушка с фиолетовой прядью в темных волосах. Стильные очки, умный взгляд. Она смотрела на меня с интересом, оценивающе. [Target: Marina] [Status: Curiosity] «Интересно, он реально шарит или очередной эффективный менеджер с курсов?» Вердикт: Потенциальный союзник, если докажу компетентность.
4. Глеб (Senior Developer). Вот он. Босс уровня. Мужчина лет 30. Идеальная укладка, дорогая рубашка поло (Ralph Lauren), на руке Apple Watch Ultra с оранжевым ремешком. Он сидел развалившись, закинув ногу на ногу. Поза доминирования. Он не встал. Он даже не вынул руки из карманов. Его взгляд был тяжелым, липким. В нем читалась смесь презрения, скуки и скрытой агрессии.
[TARGET DETECTED] [Class: Senior (Level 7)] [Trait: "Toxic Genius" (Токсичный Гений)] [Aggression Level: High] «Он хотел это место. Он считал его своим. Ты — узурпатор, занявший его трон. Он будет атаковать. Сразу».
— Привет, — сказал я, стараясь говорить ровно. Мой голос звучал чуть хрипло, но твердо. — Рад присоединиться. Надеюсь, сработаемся.
Глеб медленно, демонстративно медленно снял один наушник. — Привет, — голос у него был тягучий, насмешливый, как патока с ядом. — Артур, да? Слышал, Марк тебя с улицы взял. Не знал, что мы теперь нанимаем Лидов по объявлению на HeadHunter.
В воздухе повисло напряжение. Оно стало почти физически ощутимым. Саша втянул голову в плечи, уткнувшись в клавиатуру. Марина перестала печатать, ожидая моей реакции. Это была проверка на вшивость. Публичная порка.
[SYSTEM ALERT] > Социальная атака (Passive Aggressive). > Цель: Подорвать авторитет в первую секунду. > Варианты: > A. Оправдываться ("Ну, у меня большой опыт...") -> Штраф: -10 Authority. > B. Игнорировать (Молча сесть) -> Штраф: 0 Authority (Слабость). > C. Контратака (Удар фактом) -> Награда: +10 Authority.
Я почувствовал, как внутри закипает холодная злость. Злость — это хорошо. Злость — это топливо. Я улыбнулся. Улыбкой акулы. — Марк нанимает тех, кто может решить проблемы, которые вы не смогли закрыть за полгода, Глеб.
Удар прошел. Глеб на секунду замер, прищурился. Его расслабленная поза исчезла. — О как. Смело, — процедил он. — Ну, посмотрим на дейлике, какие проблемы ты решать собрался. Через 10 минут в переговорке. Марк тоже будет. Готовь вазелин.
Он надел наушник обратно, демонстративно отвернувшись к своему монитору. — Удачи, — едва слышно шепнула мне Лена и испарилась, оставляя меня в клетке с тиграми.
Я сел за свой новый стол. Он был чистым, стерильным. Мои руки под столом мелко дрожали. Не от страха. От адреналина. Это была война. И я был к ней готов.
Переговорная комната представляла собой стеклянный куб в центре офиса. Звукоизоляция, прозрачные стены — мы были как рыбы в аквариуме. Марк, технический директор, сидел во главе стола. Он листал что-то в планшете, не поднимая головы. Он даже не поздоровался, лишь небрежно кивнул мне на стул рядом. Это был знак: «Ты здесь пока никто. Докажи обратное».
Глеб сел напротив меня. Он расставил локти широко, занимая максимум пространства на столе. Это классическая психологическая уловка. Саша и Олег жались по краям стола, стараясь стать незаметными.
— Итак, — Марк отложил планшет и снял очки. Его глаза были холодными. — У нас новый лид. Артур, ты ознакомился с документацией по Cerebro? — Да. Глеб хмыкнул. Громко, чтобы все услышали. — За выходные? Весь проект? — он покачал головой с наигранным удивлением. — Там 140 страниц технического долга и спагетти-кода, который писали три разные команды за два года. Ты хочешь сказать, что понял архитектуру за два дня? Не смеши мои тапочки.
— Я понял суть, — спокойно ответил я. Мой пульс был 110, но лицо оставалось каменным.
— Окей, — Глеб подался вперед. Глаза хищно блеснули. Он почуял кровь. — Тогда объясни мне, "Лид", как ты собираешься решать проблему латентности при обработке потока в 10 терабайт? Мы сейчас используем Spark Streaming, и он захлебывается каждые четыре часа. Твое предложение? Добавить железа?
Это была ловушка. Изящная, смертельная ловушка. Стандартное решение любого менеджера — масштабирование. "Купим еще серверов". Но я знал (из прикрепленной переписки в Jira), что бюджет на железо исчерпан полгода назад. Если я скажу "добавить серверов", Глеб уничтожит меня одной фразой про бюджет. Марк увидит во мне транжиру и некомпетентного идиота.
Я молчал. Секунда. Две. Три. Глеб начал победно улыбаться.
В моей голове щелкнул переключатель. [SKILL ACTIVATED: TECHNICAL VISION] Мир вокруг померк. Лицо Глеба стало серым пятном. Перед глазами всплыли страницы документации, которые я "фотографировал" ночью. Страница 84. График задержек. Пики каждые 200 миллисекунд. Страница 112. Логи ошибок.SerializationException. Я увидел код. Я увидел потоки данных как цветные линии. И я увидел узел, где линии путались.
«Проблема не в Spark. Проблема в сериализации. Они используют кастомный протокол».
— Spark не захлебывается, Глеб, — сказал я тихо. Мой голос звучал чужим, механическим.
— Да неужели? — он усмехнулся, поворачиваясь к Марку. — Слышишь, Марк? У нас, оказывается, мониторинг врет. Grafana показывает загрузку CPU 100%, но наш новый друг говорит, что все ок.
— Spark ждет, — продолжил я, повышая голос и перебивая его. — Он простаивает 40% времени. Он ждет, пока ваш кастомный сериализатор ProtoBuf преобразует данные. Вы написали его сами, год назад. И вы допустили детскую ошибку.
Улыбка Глеба дрогнула. — Какую ошибку? — Он работает в один поток. Это узкое горлышко. Вы пытаетесь залить воду в пожарное ведро через соломинку для коктейля.
Глеб замер. Он начал нервничать. — Сериализатор? Причем тут он? Мы его тестировали, покрытие тестами 90%... — Вы тестировали его на JSON-ах, — отрезал я. — А в проде идет бинарный поток. Я видел коммит от 12 мая. Автор: Gleb_K. Там стоит synchronized блок на методе парсинга. Я посмотрел ему прямо в глаза. — Вы блокируете все потоки ради потокобезопасности, которая там не нужна, потому что данные в этом месте иммутабельны. Вы сами создали пробку.
Тишина. Мертвая, звенящая тишина. Слышно было, как гудит кондиционер. Саша (Джун) смотрел на меня с открытым ртом, как на божество. Глеб побледнел. Его зрачки сузились. Он лихорадочно вспоминал свой код годовалой давности. — Но... — его голос дрогнул. — Если убрать блок, будет Race Condition...
— Не будет, — я встал. Подошел к белой маркерной доске. Взял черный маркер. Запах спирта ударил в нос. — Если перевести буфер в ThreadLocal. Вот так.
Я начал рисовать. Рука двигалась сама, ведомая Системой. Квадраты, стрелки, потоки. Схема рождалась на глазах. Простая. Элегантная. Убийственная. Я закончил штрих и повернулся к столу. — Это снизит латентность на 40%. Без покупки нового железа. Без переписывания ядра. Делов на два часа.
Я бросил маркер на стол. Он с громким стуком покатился к рукам Глеба. — Еще вопросы по архитектуре будут? Или мы можем начать работать?
Глеб молчал. Он смотрел на доску, как на свой приговор. Как инженер, он понимал: я прав. И это бесило его больше всего. Он проиграл на своем поле. Марк медленно откинулся в кресле. Он смотрел на схему, потом на меня. Затем он начал хлопать. Медленно. Три раза. Хлоп. Хлоп. Хлоп.
— Браво, — сказал Марк. — Глеб, почему ты это не нашел за три месяца? — Я... мы смотрели в сторону сети... думали, канал узкий... — промямлил Глеб. Его аура [Aggression] сменилась на [Defeat]. — Плохо смотрели, — Марк встал. — Артур, бери задачу. Глеб, ты в подчинении у Артура. Делай то, что он скажет. И убери этот synchronized, пока я не лишил тебя премии.
[SYSTEM MESSAGE] > Критический удар! > Оппонент "Глеб" дестабилизирован. > Авторитет в группе: +30. > Status: ALPHA.
Митинг закончился. Коллеги выходили притихшие, бросая на меня уважительные взгляды. Я вышел последним. Как только дверь переговорки закрылась за мной, ноги превратились в ватные столбы. Адреналин, который держал меня в тонусе и разгонял мозг, резко схлынул. Это был "откат". Мир качнулся. Перед глазами поплыли черные мушки. К горлу подкатила тошнота.
Я дошел до туалета, держась рукой за стену. Ввалился в кабинку, закрыл дверь на щеколду. Прислонился лбом к холодной кафельной плитке. — Черт... В носу что-то лопнуло. Горячая жидкость потекла по губе. Я поднес руку. Кровь. Темная, густая капля. Потом еще одна. Я подошел к раковине. Включил холодную воду. Кровь текла сильно. Внутричерепное давление скакнуло. Я смотрел на свое отражение. Вампир, который только что выпил чужой крови (Глеба), но сам истекает своей.
[HEALTH WARNING] > Системная перегрузка. > Мозг использовал 120% ресурса в режиме "Technical Vision". > Сосуды не выдерживают. > HP: 45% (Внимание! Риск обморока). > Рекомендация: Срочное пополнение глюкозы. Отдых 2 часа.
— Какой к черту отдых? — прошептал я своему окровавленному отражению. — У меня рабочий день только начался.
Я смыл кровь ледяной водой. Засунул в ноздрю кусок бумажного полотенца, запрокинул голову. Подождал минуту, пока остановится. Вышел из туалета, стараясь выглядеть невозмутимо.
У кулера в коридоре стоял Глеб. Увидел меня. Бледного, с красными глазами, с каплей воды на воротнике. Он напрягся. В его взгляде больше не было того высокомерия. Был страх. И... уважение? Уважение побитого пса к новому вожаку. — Ты как? — спросил он, буркнув в сторону. — Выглядишь хреново. — Нормально, — я попытался улыбнуться (надеюсь, на зубах не было крови). — Просто аллергия на плохой код.
Глеб дернул щекой. Шутку оценил. — Слушай... насчет того ThreadLocal. Это может сработать. Я посмотрю сейчас. — Посмотри. И Глеб? — Чего? — Не пытайся меня топить. Я плаваю лучше. И я могу научить плавать тебя, если перестанешь играть в игры.
Он помолчал, потом коротко кивнул и ушел. Я вернулся на свое место. Саша, джуниор, сидел тише воды. Увидев меня, он осторожно, как сапер, пододвинул ко мне по столу шоколадный батончик "Snickers". — Артур... ты там... ну, на доске... это было мощно, — прошептал он. — Вот. Тебе надо поесть, ты бледный как смерть.
Я посмотрел на батончик. Сахар. Быстрые углеводы. Враг моей диеты и фигуры. Но сейчас это было не лакомство. Это было лекарство. И символ.
[SYSTEM ADVICE] > Принять дар. > Это не просто еда. Это дань уважения от вассала. > Отказ будет воспринят как высокомерие. > +5 Authority.
Я взял сникерс. — Спасибо, Саш. Разорвал упаковку и жадно откусил половину. Сахар ударил в кровь, проясняя зрение. Руки перестали дрожать.
Я откинулся в кресле, глядя на панораму Москвы. Я выжил. Я победил Глеба. Я заставил Марка аплодировать. Но цена... Я посмотрел на свои ладони. Они все еще были влажными. Если каждый день здесь будет такой битвой, я сдохну через месяц. МойINT(Интеллект) высок, ноSTR(Сила) иHP(Здоровье) на дне. Мое тело — слабое звено. Это "железо" не тянет такой "софт". И Система это знала.
Телефон на столе мигнул. Новый квест.
QUEST #009: HARDWARE UPGRADE Анализ: Твой процессор (Мозг) слишком мощен для твоего корпуса (Тела). Система охлаждения не справляется. Ты перегреваешься. Задача: Начать режим "Железный Человек". Цель: Поднять STR до D+ за неделю. Условие: Ежедневные тренировки ПОСЛЕ работы. Без выходных. Награда: Ты не умрешь от инсульта в 26 лет.
Я доел сникерс, чувствуя, как возвращаются силы. — Вызов принят, — шепнул я.
Дорогой друг, если ты дочитал до этого момента, то скорее всего книга тебя зацепила. Буду благодарен твоему лайку и комментарию - это сильно поможет мне в продвижении. Спасибо! P.S. ходят легенды, что с каждым лайком скорость выкладки увеличивается
ГЛАВА 8. GRIND (ЦИКЛ)
Время перестало измеряться часами и минутами. Календарь на стене превратился в абстракцию. Теперь моя жизнь измерялась спринтами, коммитами, подходами и уровнем гликогена в крови. Я перестал быть человеком в привычном понимании. Я стал функцией. Моя жизнь превратилась в идеально отлаженный, но безжалостный алгоритм: while (isAlive) { Optimize(); Work(); Train(); Sleep(); }
06:00. Подъем. Без будильника. Мой организм, надрессированный Системой (и страхом получить разряд тока от браслета, который я купил для трекинга фаз сна), просыпался ровно за минуту до сигнала. Я открывал глаза в темноте, и первое, что я чувствовал — не сонливость, а готовность. Пульс в покое: 72. (Месяц назад был 98). Сердце стало работать как насос высокого давления. Уровень кортизола:High. Утро начиналось не с кофе, а с химической готовности к войне.
Я вставал. Холодный пол больше не вызывал дрожи. Кухня. Стерильная чистота (результат квеста «Garbage Collection»). Я наливал стакан воды, выдавливал туда половину лимона. [SYSTEM ADVICE] > Цель: Ощелачивание организма. Запуск метаболизма. > Вкус: Не имеет значения.
Я пил кислую воду залпом. Затем — завтрак. Омлет из трех белков и одного желтка. Овсянка на воде без сахара и соли. Раньше я бы выплюнул это. Раньше мне нужны были тосты с авокадо, бекон, сладкий латте. Сейчас вкус еды меня не волновал. Я смотрел на тарелку и видел не еду, а макронутриенты. Белки для регенерации мышц. Сложные углеводы для питания мозга на ближайшие 4 часа. Я заливал в бак высокооктановый бензин, чтобы машина ехала быстро.
08:00. Метро. Вагон трясся, люди клевали носами, уткнувшись в ленты ТикТока. Я больше не доставал телефон, чтобы убить время. Время стало моим самым дорогим ресурсом. Я надевал шумоподавляющие наушники, отсекая мир. Включал AR-режим чтения. «Design Patterns in Modern Architecture». «Soft Skills for Hard Leaders». «Kubernetes: Up and Running». Камера телефона сканировала страницы бумажной книги (электронные я стал воспринимать хуже), а Система подсвечивала ключевые абзацы зеленым, отфильтровывая "воду". Если я уставал читать, ИИ пушил саммари (краткую выжимку) мне прямо в уши синтетическим голосом.
Вокруг меня были сонные, уставшие люди. У них были пустые глаза. Они ехали отбывать повинность. Я тоже был уставшим. Мои мышцы ныли после вчерашней становой, глаза резало от недосыпа. Но моя усталость была другой. Это была усталость пружины, сжатой до предела. Усталость заряженного оружия.
09:00. Офис NeuroTech. Вход в Башню «Федерация». Турникет пищал, подтверждая мой доступ. Охранники уже знали меня в лицо — «тот парень, который всегда приходит вовремя и никогда не улыбается».
Я проходил через опен-спейс к своему углу. Моя команда. Месяц назад они смотрели на меня как на чужака, которого скоро вышвырнут. Теперь они смотрели иначе. Они смотрели с ожиданием.
За этот месяц мы перелопатили архитектуру «Cerebro». Я заставил их переписать ядро, внедрив ту самую схему с ThreadLocal. Латентность упала на 35%. На общем демо Марк кивнул мне. Один раз. Но этот кивок стоил больше, чем медаль. Однако война с Глебом (Сеньором) не закончилась. Она перешла в партизанскую фазу. Он больше не нападал в открытую на митингах. Он стал хитрее. Он ставил капканы. То «забудет» обновить документацию API. То «случайно» удалит ветку в гите. То запушит код без тестов за минуту до деплоя в пятницу вечером.
— Доброе утро, — я кинул пиджак на спинку кресла. — Доброе, Арт, — отозвалась Марина (Data Scientist). Она единственная, кто называл меня сокращенно. В её голосе появилось уважение. Она видела, что я понимаю математику её моделей, и это её подкупило. Глеб промолчал, не снимая наушников. Он делал вид, что занят сложнейшей задачей, хотя я знал, что он скроллит Хабр.
Саша (Джун) уже стоял у моего стола с ноутбуком, переминаясь с ноги на ногу. — Артур, там в пайплайне сборка упала... Я не понимаю, это из-за моих правок или девопсы что-то накрутили? Я вздохнул. Саша был старательным, но паниковал при любой красной строчке в логах. Я развернул его ноутбук к себе. Глаза скользнули по коду. [INT CHECK: SUCCESS] > Анализ: Синтаксическая ошибка. > Локация: Файл конфигурации.
— Это не девопсы, Саш. Это YAML. — А что с ним? — Строка 42. Ты поставил лишний пробел перед timeout. YAML не прощает ошибок форматирования. Для него структура — это отступы. Исправь и перезапусти. Саша хлопнул себя по лбу. — Блин, точно! Спасибо! Ты глаз-алмаз, Артур. Как ты это видишь за секунду? — Я просто внимательно смотрю, — ответил я. Я не стал говорить, что Система подсветила мне этот пробел красным маркером в моем зрении.
Я сел за свой монитор. Мой рабочий день был расписан по минутам. Система интегрировалась с моим Google Calendar. 10:00 — Синхронизация с фронтендом. 11:00 — Код-ревью (поиск мин, заложенных Глебом). 13:00 — Обед.
Обед был отдельной историей. Пока коллеги заказывали пиццу, суши или шли в бургерную, я доставал контейнер из дома. Гречка. Куриная грудка на пару. Брокколи. WLT (Богатство) все еще было в режиме жесткой экономии (я копил подушку безопасности), аSTR (Сила) требовала чистого белка. Глеб как-то пошутил: — Ты готовишься к соревнованиям по бодибилдингу или у тебя язва? — Я готовлюсь пережить этот проект, — ответил я тогда. Глеб заткнулся.
14:00 — Архитектурный комитет. Это была мясорубка. Споры о базах данных, микросервисах, очередях. К 16:00 мой мозг начинал кипеть. Я физически чувствовал, как черепная коробка давит на глаза. Мысли становились вязкими, как мазут. В этот момент обычный человек идет пить кофе и болтать. У меня был другой метод.
[SYSTEM SKILL: DEEP FOCUS] > Запуск протокола концентрации. > Блокировка внешних раздражителей: 100%. > Длительность: 20 минут.
Я надевал наушники, включал бинауральные ритмы (40 Гц) и активировал навык. Мир исчезал. Звуки офиса стихали. Я становился чистым интеллектом. Я видел код не как текст, а как структуру. Я видел потоки данных, как Нео в Матрице. Я находил решения проблем, над которыми другие бились неделями. Но расплата была мгновенной. Как только таймер истекал, меня накрывало. Голод. Дикий, животный голод. Глюкоза в крови падала до нуля. Руки начинали трястись. Я открывал ящик стола, где лежал стратегический запас: орехи и протеиновые батончики. Съедал их жадно, почти не жуя, чтобы перезапустить реактор.
19:00. Конец рабочего дня? Люди вокруг начинали собираться. Они улыбались. Они шли в бары, домой к семьям, в кино. Они возвращались в жизнь. Я смотрел на них с завистью и... с превосходством. Для меня это было только начало второй смены.
Спортзал «Титан». Я входил туда в 19:40. Запах резины и пота теперь казался мне родным. Запохом дома. Я снимал офисный костюм, вешая пиджак в шкафчик. Надевал черную футболку и шорты. В зеркале раздевалки я видел изменения. Месяц назад здесь стоял «Скинни-фэт» — сутулый парень с дряблым животом и тонкими ручками айтишника. Сейчас... Живот не исчез полностью (пельмени, съеденные за 26 лет, уходят долго), но он подтянулся. Плечи расправились, образуя подобие рамы. На руках проступили вены. Но главное — глаза. В них исчезла та самая «собачья тоска» брошенного парня. В них появился холодный, матовый блеск стали.
QUEST #015: IRON DISCIPLINE Цикл: День 24. Цель: Присед 60 кг (5х5). Становая тяга 80 кг (3х5). Награда: +10 XP. STR progress: 85%. Штраф за пропуск: -1 Level.
Да, Система повысила ставки. Теперь пропуск тренировки грозил не просто штрафом, а «Де-левелингом». Потерей уровня. Страх потерять прогресс гнал меня в зал лучше любой мотивации.
Я шел к стойке. Тот самый Ветеран (его звали дядя Миша, как я узнал, бывший тяжелоатлет) кивнул мне. — Привет, «программист». Сегодня ноги? — Ноги, дядь Миш. — Смотри, колени не своди. И спину держи, а то будешь как вопросительный знак ходить.
Я нагружал штангу. 60 кг. Для местных качков это разминка. Они вешали столько на бицепс. Для меня месяц назад это была смерть. Я бы сложился под этим весом пополам. Сейчас это был рабочий вес.
Я нырял под гриф. Холодная сталь ложилась на трапеции. Тяжесть привычно придавливала к полу, пытаясь расплющить. [TRAJECTORY ASSIST: ON] Зеленая линия нарисовалась в воздухе перед глазами. Вдох. Вниз. Боль в квадрицепсах. Жжение. Мышцы трещали. Мозг кричал: «Вставай! Тяжело! Брось!» Система писала: «Power Output: 85%. Core stability: OK. Push!»
Я вставал. Раз. Два. Три. Пот заливал глаза. Майка прилипала к спине. К концу тренировки я буквально выползал из зала. Мои ноги были ватными, руки тряслись так, что я с трудом откручивал крышку бутылки с водой. Но это была «хорошая» боль. Честная. Она выбивала из головы мысли о коде, о подлостях Глеба, о дедлайнах. И об Алине. Особенно об Алине. Чем тяжелее штанга, тем легче на душе. Аксиома зала.
22:00. Дом. Я приходил, падал в душ. Стоял под горячей водой, пока кожа не краснела. Ужин: Обезжиренный творог. Сухой, как штукатурка. Потом — час учебы.
[QUEST: CONTINUOUS INTEGRATION] Задача: Читать документацию по Kubernetes. INT: D+ -> C (Progress 45%).
Глаза слипались. Буквы плыли, превращаясь в черных муравьев. Но я читал. Потому что я знал: Глеб это знает. Глеб — сеньор. Если я хочу командовать Глебом, я должен знать больше, чем он. Я должен быть быстрее, умнее, выносливее.
23:30. Отбой. Я падал в кровать и отключался за секунду. Никаких снов. Никаких мечтаний. Только чернота загрузочного экрана. System Hibernate...
Так прошел месяц. Я стал машиной. Эффективной, скучной, смертоносной машиной по закрытию задач. Я оптимизировал каждый аспект своего существования. Но у любой, даже самой совершенной системы, есть побочные эффекты.
Пятница. Конец испытательного срока. В офисе царила расслабленная атмосфера. Кто-то притащил пиццу, пахло пепперони и расплавленным сыром. Этот запах сводил с ума мои рецепторы, привыкшие к гречке. Саша подошел ко мне, улыбаясь. — Арт, слушай, мы сегодня собираемся в бар после работы. «Killfish». Пойдешь? Отметим релиз, да и вообще... ты с нами месяц, а мы ни разу не сидели нормально. Глеб даже идет (вроде, если жена отпустит).
Я замер. Бар. Люди. Алкоголь. Разговоры ни о чем. Смех. Внутренний голос (голос старого Артура, который еще жил где-то глубоко внутри) зашептал: «Да! Иди! Тебе нужно общение. Ты одичал. Ты превратился в робота. Вспомни, как это круто — просто выпить пива и поржать».
Я уже открыл рот, чтобы сказать «Да». Телефон в кармане завибрировал. Длинная, противная вибрация.
[DECISION REQUIRED] > Анализ мероприятия: "Пьянка с коллегами". > Польза: +Team Bonding (Сплочение). > Вред: 1. Нарушение режима сна (Восстановление упадет до 60%). 2. Алкоголь (Токсин, откат STR на неделю). 3. Пропуск вечерней тренировки (Leg Day). 4. Риск потери авторитета. > Вердикт Системы: Неэффективно. Ты Лид. Тебе не нужно пить с подчиненными на брудершафт. Если они увидят тебя пьяным и слабым, Глеб использует это. Дистанция — залог власти.
Я посмотрел на Сашу. Он улыбался искренне. Он хотел дружить. Мне хотелось пойти. Правда хотелось. Просто почувствовать себя живым человеком, а не функцией. Но я вспомнил ухмылочку Глеба. Вспомнил, как он смотрит на меня. Если я напьюсь, я расслаблюсь. Я скажу лишнее. Я стану «своим парнем». А «своих» не слушаются. «Своих» подсиживают.
— Не сегодня, Саш, — сказал я. Мой голос прозвучал холоднее и жестче, чем я хотел. — У меня планы. Дела. Улыбка Саши погасла. Он смутился. — А... ну ладно. Понял. Деловому человеку не до нас. Извини, что отвлек. Он отошел к своему столу. Я почувствовал острый укол совести. [EMPATHY ALERT]. Я оттолкнул человека, который проявил доброту.
Но Система тут же заглушила этот сигнал: > Ты сделал правильный выбор. Одиночество — цена лидерства. Ты не можешь быть другом и командиром одновременно.
Вечером в зале я жал штангу с удвоенной яростью. Я наказывал себя за то, что мне хотелось этой пиццы. Я становился сильнее. Но я становился... пустым.
Часть 5: Payday (Расплата)
Понедельник. Утро после окончания испытательного срока. Календарь: 11:00 — Arthur Probation Review w/ Mark.
Я надел свой лучший (и единственный) костюм. Рубашку пришлось гладить самому, и я потратил на это 20 минут, проклиная утюг (навык «Домоводство»: +1). Я вошел в кабинет Марка.
Марк стоял у окна, глядя на панораму пасмурной Москвы. Его силуэт на фоне серого неба выглядел зловеще. — Садись, — сказал он, не оборачиваясь. Я сел. Стул был слишком мягким, неудобным после жесткой скамьи в зале. Марк повернулся. Его лицо было непроницаемым. — Месяц прошел. — Да. — Глеб написал на тебя жалобу, — спокойно сказал Марк.
У меня внутри всё оборвалось. Жалобу? Я же вытащил проект! Я закрыл все баги! — Написал, что ты... — Марк взял лист бумаги со стола, прищурился, читая. — «Робот, лишенный эмпатии, который душит инициативу формализмом и требует невозможного».
Я молчал. Кулаки сжались. Формализм? Я просто требовал писать тесты, чтобы прод не падал! Невозможное? Я требовал соблюдать дедлайны! Марк отложил листок и взял другой. — А Саша написал, что ты гений, который спас его задницу пять раз и научил писать чистый код. Марина написала, что ты единственный Лид за два года, который понимает, чем отличается Data Science от магии, и не мешает ей работать.
Марк снял очки, протер их краем своей неизменной черной водолазки. — Знаешь, Артур. Когда ты пришел, я давал тебе 30% шансов на выживание. Я думал, Глеб тебя съест. Он сожрал трех лидов до тебя. Он улыбнулся той самой трещиной-улыбкой, от которой становилось не по себе. — Но ты съел Глеба. Он боится тебя. Он уважает только силу, и ты её показал. А жалоба... Жалоба значит, что ты заставил его работать по правилам.
Марк достал из ящика стола белый конверт. — Ты прошел. Я выдохнул. Воздух вышел из легких с длинным свистом. Я даже не замечал, что не дышал. — Поздравляю. Ты теперь официально Team Lead. Испытательный срок окончен. Он пододвинул конверт по полированному столу. — Это твой бонус за внедрение фикса с латентностью. И пропуск на VIP-парковку. (Тебе же нужна парковка? Ах да, у тебя нет машины. Пока).
Я взял конверт. Он был приятно пухлым. — Спасибо, Марк. — Не расслабляйся. Теперь спрос будет вдвое больше. И... Артур? — Да? Марк посмотрел мне прямо в глаза. — Сходи в следующий раз в бар с ребятами. Глеб прав в одном: ты ведешь себя как машина. Людям нужен вожак, а не калькулятор. Иногда полезно показать слабость. Но только иногда.
Я вышел из кабинета. В пустом коридоре я открыл конверт. Наличные. Пятитысячные купюры. Я быстро пересчитал. Сто тысяч рублей. Плюс зарплата, которая пришла на карту утром (350к). Итого: 450 000 рублей.
Я стоял в коридоре стеклянной башни, глядя на пачку денег в своей руке. Месяц назад у меня было 2000 рублей, долг по кредитке и навязчивые мысли о том, чтобы шагнуть под поезд. Сегодня у меня полмиллиона в кармане, должность и тело, которое уже не так стыдно показать в зеркале.
Я посмотрел на экран телефона. Кристалл сиял золотым светом.
[QUEST COMPLETED: THE GRIND] > Результат: SUCCESS. > Level 3 -> Level 4 (LEVEL UP!). > Stat Points: +3. > WLT: Rank C (Middle Class). > Unlocked Feature: "INVESTMENT" (Инвестиции).
Я должен был чувствовать радость. Дикую эйфорию. Я должен был прыгать до потолка. Но я чувствовал только холодное, спокойное удовлетворение. Как будто я закрыл сложный, долгий тикет в Jira. «Задача выполнена. Что дальше?»
Я пошел к лифту. Мне нужно было потратить эти деньги. Система не даст им лежать мертвым грузом. На экране уже мигало уведомление о новом квесте.
QUEST #020: ASSET MANAGEMENT. «Ты выглядишь как Лид, но живешь как бедный студент. Твои активы не соответствуют твоему статусу. Пора менять декорации».
ГЛАВА 9. PAYDAY (ДЕНЬ ПОЛУЧКИ)
Дождь за панорамным стеклом башни «Федерация» превращал Москву в размытую акварель. Серые потоки воды стекали по стеклу, отсекая меня от внешнего мира, где люди бежали к метро, прикрываясь сумками, и месили грязь ботинками. Я сидел в глубоком кресле кофейни на первом этаже. Здесь пахло свежемолотой арабикой, корицей и деньгами. Вокруг шумел офисный планктон высшего звена. Люди в костюмах, которые стоили как моя годовая аренда, обсуждали KPI, слияния, квартальные отчеты и отпуска на Мальдивах. Раньше, проходя мимо таких мест, я чувствовал себя чужим. Маленьким, ржавым винтиком, который случайно закатился в швейцарский механизм. Я втягивал голову в плечи, боясь, что охрана выведет меня за несоответствие дресс-коду.
Сегодня я сидел, вальяжно откинувшись на спинку, и смотрел на экран своего старого телефона с трещиной поперек матрицы. Приложение банка было открыто. Я обновил страницу. Колесико загрузки крутилось секунду, а затем показало цифры, от которых у меня перехватило дыхание.
Баланс: 462 800 ₽.
Я смотрел на эти цифры и пытался осознать их реальность. Это были не просто пиксели. 350 000 — первый оклад Team Lead’а. 100 000 — бонус от Марка в конверте, который я уже внес через банкомат. 12 800 — жалкие остатки аванса с прошлой работы.
Я пытался что-то почувствовать. Радость? Дикий восторг? Желание закричать? Нет. Внутри была тишина. Я чувствовал странное, тяжелое спокойствие. Как будто мне в руки дали заряженный крупнокалиберный пистолет. Это была сила. Тяжелая, холодная сила. Но сила требовала ответственности и твердой руки, иначе отдача выбьет плечо.
Раньше, в день зарплаты в «SoftLine» (смешные 120 тысяч, которые таяли за неделю), я сразу начинал судорожно планировать. Отложить на аренду, кинуть на кредитку (чтобы банк не звонил), купить продукты по акции, может быть — заказать роллы, если останется пара тысяч. Деньги исчезали в моей голове еще до того, как я их тратил. Я всегда жил в минусе. Я жил в режиме выживания, где каждый рубль был патроном, которого вечно не хватало.
Сейчас я был в плюсе. Но старый Артур, тот самый, который копил на кольцо и ел гречку, вдруг проснулся внутри и зашептал искушающим голосом: «Потрать. Ну же! Купи что-нибудь крутое. Ты страдал месяц. Ты пахал как проклятый, спал по 4 часа. Ты заслужил награду. Купи новый iPhone 16 Pro Max в золотом корпусе. Купи PlayStation 5 и огромный телек. Закажи эскортницу из тех, что сидят в Инстаграме, чтобы Алина удавилась от зависти (хотя она не узнает, но ты-то будешь знать!). Живи на полную!»
Рука дернулась. Желание спустить всё и почувствовать себя королем вечеринки было почти физическим. Это была жажда нищего, дорвавшегося до золота.
Телефон в руке коротко, зло вибрировал. Система не спала. Она следила за моим пульсом и, кажется, даже за ходом мыслей.
[MODULE: FINANCE ACTIVATED] > Анализ финансового потока: HIGH. > Текущий статус WLT: Rank C (Middle Class). > Обнаружен риск: "Impulsive Buying" (Импульсивные покупки). > Психологический фон: Дофаминовая система требует быстрой награды. > Логическая система: Требует безопасности и фундамента.
На экране, перекрывая банковское приложение, появилась новая иконка. Весы, чаши которых колебались.
QUEST #020: ASSET MANAGEMENT (УПРАВЛЕНИЕ АКТИВАМИ) Описание: Ты заработал ресурс. Теперь ты должен его защитить от самого опасного врага — самого себя. Бедные люди тратят деньги, чтобы казаться богатыми. Богатые люди инвестируют деньги, чтобы стать свободными. Цель: Очистка финансовой кармы. Этап 1: Debt Slayer (Убийца долгов). Задание: Закрыть кредитную карту "Тинькофф" (Долг: 85 000 руб). Награда: +20 XP, +5 WLT, Психологическая свобода. Штраф за отказ: Начисление процентов (Потеря ресурсов). Эффект "Вечный Должник".
Я сделал глоток кофе. Капучино за 450 рублей. Раньше меня душила бы жаба за такой ценник. Сегодня я даже не посмотрел на правую колонку меню. Восемьдесят пять тысяч долга. Я смотрел на эту цифру в приложении банка. Она горела красным. Этот долг висел на мне полгода. Как кандалы.
Флэшбек ударил по нервам. Май. Питер. Мы в отеле. Алина сидит на кровати, надув губы. — Арт, ну я хочу этот фен! У всех девочек есть Dyson. Ты же обещал, что поездка будет классной. — Алин, у нас бюджет ограничен. Если купим фен, придется экономить на ресторанах. — Ну возьми с кредитки! Тебе что, для меня жалко? Ты вечно всё усложняешь! Я тогда сдался. Я достал кредитку. Купил этот чертов фен за 50 тысяч. Оплатил ужины. Мы всё равно поссорились на следующий день, потому что я был мрачным из-за трат. Она уехала с феном. А я остался с минусом.
Каждый месяц я вносил минимальный платеж — 5000 рублей. И 3000 из них уходили на погашение процентов. Я кормил банк. Я был рабом своей слабости. Это был не просто долг. Это был поводок, за который прошлое дергало меня, напоминая, каким жалким я был.
— Пора резать поводки, — тихо сказал я.
Я нажал кнопку «Пополнить». Ввел сумму: 85 000. Палец замер над кнопкой «Перевести». Это было больно. Физически больно. Отдать почти сотку — четверть моего капитала — просто так, в никуда, в цифровую бездну банка. Жаба внутри квакала, срываясь на визг: «Оставь! Плати по чуть-чуть! Инфляция сожрет долг! Купи лучше шмотки, ты же ходишь в одном костюме!»
> Жми, — вывела текст на экран Система поверх интерфейса. — Ты покупаешь не пустоту. Ты покупаешь Свободу. Свобода стоит дорого.
Я зажмурился и нажал. Экран на секунду завис. Кружок загрузки показался мне петлей на шее. А потом появилась зеленая галочка. «Кредит полностью погашен. Кредитный лимит восстановлен». Баланс счета: 377 800 ₽.
Дзинь! Сообщение от Системы было мгновенным и приятным, как звук открываемой банки с газировкой.
[QUEST COMPLETED: DEBT SLAYER] > Награда: +20 XP. > WLT: Rank C (Stable). > Status Effect Removed: "Financial Anxiety" (Фоновая тревога исчезла).
Я выдохнул. Воздух вышел из легких, и я вдруг понял, что дышу глубже. И правда. Плечи опустились. Где-то на задворках сознания, в фоновом процессе, исчез тихий, но постоянный, грызущий шум: «Ты должен. Скоро платеж. Ты должен. Денег нет». Тишина. Я никому ничего не должен. У меня осталось 377 тысяч рублей. И они полностью, абсолютно мои. Никто их не заберет.
Я откинулся в кресле, глядя в окно на серую московскую осень. Дождь барабанил по стеклу, но теперь этот звук казался уютным. Впервые за три года я чувствовал себя в безопасности. Оказывается, счастье — это не эйфория. Счастье — это отсутствие тревоги.
Система дала мне насладиться моментом ровно пять минут. Затем экран снова ожил.
[QUEST #020: PHASE 2] Этап 2: Social Armor (Социальная броня). Описание: Ты — Лид. Ты зарабатываешь 350к+. Но ты ходишь с телефоном, у которого разбит экран, и носишь рюкзак, который помнит твои студенческие годы. Проблема: Когнитивный диссонанс. Люди считывают твой статус по деталям. Ты выглядишь как человек, у которого проблемы. Задача: Купить ОДИН статусный предмет, который станет твоим тотемом. Условие: Это не должно быть "потреблядство". Это должен быть Инструмент. Бюджет: до 200 000 руб.
Я задумался. Что купить? Новый телефон? Мой Samsung S20 действительно устал. Трещина на экране бесила, батарея умирала к обеду, а AR-сканер лагал, не успевая обрабатывать лица. Часы? Глеб носит Apple Watch Ultra. Марк носит какую-то швейцарскую классику. Я хожу с дешевым фитнес-браслетом. Рюкзак? Я хожу с тем, что купил в Спортмастере за 2 тысячи три года назад.
Я посмотрел на свой телефон. Это дом Системы. Это мой экзоскелет. Я смотрю в него 10 часов в сутки. От его скорости зависит моя жизнь. Работать с плохим инструментом — неуважение к мастерству.
— Телефон, — решил я. — И часы. Мне нужен тотальный контроль времени и уведомлений, чтобы не доставать трубу каждые 5 минут.
Я встал, оставил щедрые чаевые (WLT позволяет) и направился к выходу из кафе. Торговый центр «Афимолл» был прямо здесь, в сердце Сити. Я шел по мраморным полам. Витрины сияли. Gucci, Prada, ЦУМ Дисконт, Технопарк. Раньше я ходил здесь, опуская глаза. Я чувствовал себя бедным родственником на чужом празднике жизни. Ценники пугали меня, продавцы смотрели сквозь меня. Сегодня я шел прямо. Мой шаг был твердым. Я активировал AR-сканер. Он скользил по витринам, анализируя товары.
[ITEM: Gucci Bag] -> Status: Overpriced Trash. (Понты для бедных. Функциональность: Низкая). [ITEM: Bork Coffee Machine] -> Status: Good Quality, but low ROI (Ты пьешь кофе в офисе). [ITEM: Samsung S24 Ultra / iPhone 16 Pro] -> Status: Essential Tool (Инструмент Выживания).
Я зашел в флагманский магазин электроники. Светлый, просторный зал. Стеллажи с техникой. Консультанты в белых рубашках. Ко мне подошел парень с бейджиком «Алексей». — Подсказать что-то? — дежурная улыбка. Я достал свой старый телефон. — Мне нужен флагман. Максимальная память. Черный или титан. И часы к нему, последняя модель. Парень кивнул. Он не посмотрел на меня свысока. Он увидел мой костюм (хоть и из масс-маркета, но сидел он хорошо благодаря осанке), мои выбритые виски, и, главное, он почувствовал мою уверенность. Деньги меняют не только то, что ты можешь купить. Они меняют то, как ты говоришь. Ты перестаешь просить. Ты требуешь.
Через двадцать минут я вышел из магазина с фирменным пакетом. Внутри лежала черная матовая коробка. Samsung S24 Ultra. 1 Терабайт памяти. Стилус, огромный экран, мощнейший процессор Snapdragon для ИИ. И часы. Galaxy Watch 6 Classic. 47 мм. С вращающимся безелем. Сталь. Классический дизайн, но умная начинка. Итого: 210 000 рублей. (Я немного превысил бюджет, но Система молчала — видимо, одобрила инвестицию в «Железо» для самой себя).
Я сел на лавочку у фонтана в центре молла. Начал перенос данных. Это был ритуал. Священный момент для любого гика. Smart Switch. Соединение кабелем. Проценты бежали по экрану. Я чувствовал, как душа Системы перетекает из старого, разбитого тела в новое, совершенное. [MIGRATION IN PROGRESS...] 99%... 100%.
Я включил новый телефон. Экран вспыхнул невероятной четкостью. 120 Герц. Плавность, от которой кружилась голова. Я тапнул по иконке Reality Leveling. На этом мощном процессоре приложение открылось мгновенно, без той секундной задержки, к которой я привык. Кристалл в центре экрана выглядел объемным, настоящим, словно его можно коснуться и порезаться об грани.
[SYSTEM MESSAGE] > Hardware Upgrade Detected. > Производительность нейроядра: +200%. > AR-Scanner precision: High. > Батарея: Оптимизирована. > Поздравляю. Ты переехал из хрущевки в пентхаус.
Я надел часы. Защелкнул холодный стальной браслет на запястье. Повернул безель. Клик-клик-клик. Приятный механический щелчок. Теперь уведомления Системы будут приходить сюда. Я буду чувствовать их кожей, как пульс.
Я посмотрел на свое отражение в темной витрине магазина напротив. Парень в пиджаке. На руке дорогие часы. В руках топовый телефон. Взгляд спокойный, сосредоточенный. Я выглядел как человек, у которого всё хорошо. Как человек, который управляет своей жизнью. Никто не знал, что внутри меня — выжженная пустыня и безжалостный алгоритм, который заставляет меня жить.
Время ужина. Я решил не мелочиться. Не фудкорт. Ресторан. Стейк-хаус «Torro Grill». Я вошел внутрь. Запах жареного мяса и красного вина. Хостес проводила меня к столику у окна. Я заказал Рибай (400 г). [SYSTEM ADVICE] > Выбор одобрен: Белок + Жиры = Good for Testosterone. > Гарнир: Овощи гриль. > Напиток: Вода без газа. > Счет: ~4500 руб. (1.2% от твоего капитала. Допустимо).
Я ел мясо, медленно пережевывая каждый кусочек. Вкусно. Реально вкусно. Вкус успеха, смешанный с кровью (medium rare). Я смотрел на людей вокруг. Парочки. Семьи. Компании друзей. За соседним столиком сидели парень и девушка. Примерно моего возраста. Они смеялись. Девушка кормила парня картошкой фри, он шутливо кусал её за палец. Она взвизгнула, ударила его салфеткой. Они оба залились смехом. Искренним, звонким, беззаботным смехом людей, у которых нет дедлайнов, нет Системы, нет миссии «стать сверхчеловеком».
Я замер с вилкой в руке. В груди кольнуло. Острая, ядовитая игла зависти. Не к их деньгам (судя по одежде — простые свитшоты, кеды — они были студентами или младшими спецами). Я завидовал их легкости. Я вспомнил, как мы с Алиной так же сидели в «Макдоналдсе» три года назад. Мы были нищими, ели один БигМак на двоих, но мы были... живыми? Мы строили планы, смеялись над глупостями.
Внутренний голос зашептал: «Посмотри на них. Они счастливы. А ты сидишь один, с дорогим телефоном и стейком, и тебе не с кем разделить этот ужин. Ты робот, Артур. Богатый робот».
Я стиснул зубы. Мне нужно было убить это чувство. Мне нужно было рационализировать их счастье, разобрать его на атомы и обесценить, чтобы оно не причиняло боль. Я коснулся безеля часов. — Сканер.
[SCANNING TARGETS]
Target A (Парень): > Level: 2. > WLT: Low (Обнаружен долг по кредитке: 150к. Платежи просрочены). > Status: "Simp" (Влюбленный дурак). > Биохимия: Окситоциновый шторм. Критическое снижение рациональности. > Прогноз: Через 1.5 года расставание из-за бытовухи и нехватки ресурсов. Он останется с долгами.
Target B (Девушка): > Level: 3. > Mood: Playful / Manipulative. > Hidden Stat: Ищет варианты получше. (Приложение Tinder установлено. Активность: 2 часа назад). > Вердикт: Временный пассажир.
Я усмехнулся. Улыбка вышла кривой. Спасибо, Система. Ты умеешь испортить романтику. Это не любовь. Это гормональный угар на кредитные деньги. Она сидит в Тиндере, пока он кормит её ужином, за который будет расплачиваться с процентами. Я не хочу быть им. Я уже был им. Я выплатил этот кармический долг сегодня днем.
Я доел стейк. Он был идеальным. Я расплатился картой, приложив новые часы к терминалу. Приятная вибрация подтвердила транзакцию. Оставил щедрые чаевые — не для официанта, а для своего эго. Встал и пошел к выходу, не оглядываясь на смеющуюся пару. Пусть смеются. Их смех — это кредит. Мое одиночество — это актив. Мой путь — одиночество. Но это путь наверх. А они останутся внизу, в своей уютной, теплой, сладкой ловушке.
Часть 4: Business Class
Я вышел из «Афимолла». Вечерняя Москва сияла огнями. Небоскребы отражались в мокром асфальте. Дождь усилился, превратившись в холодный ливень. Ветер рвал полы пиджака. Я достал телефон, чтобы вызвать такси. Палец привычно, на рефлексах, выработанных годами нищеты, потянулся к тарифу «Эконом». 12 минут ожидания. Hyundai Solaris. «Сэкономлю 500 рублей», — подумал я.
[SYSTEM INTERVENTION] > СТОП. > Ты только что потратил 200к на гаджеты. > Ты Лид в NeuroTech. > Ты одет в костюм, который нельзя мочить. > Ты не полезешь в прокуренный салон эконома с водителем, который не спал сутки, чтобы сэкономить жалкие 500 рублей. > Твой комфорт — это восстановление энергии. Твоя безопасность — это приоритет. > Выбери класс: BUSINESS.
Я замер. Жаба внутри пискнула в последний раз. Я перевел палец вправо. Business. Mercedes E-Class. 3 минуты. Цена: 1800 руб. Я нажал «Заказать».
Через три минуты черный глянцевый седан бесшумно подкатил к бордюру. Водитель в строгом костюме вышел (!) под дождь с зонтом и открыл мне дверь. — Добрый вечер. Я сел на заднее сиденье. Тишина. Запах дорогой кожи и парфюма. Тихий джаз из динамиков Burmester. Водитель не задавал тупых вопросов. Он не слушал радио «Шансон». Он вез груз, который ценил.
Мы плыли по ночному городу. Капли дождя стекали по тонированному стеклу, размывая огни светофоров. Я снова смотрел в окно на мокрые улицы, на людей, бегущих к метро под зонтами, перепрыгивающих лужи. Стекло отделяло меня от них. Снова. Не только физически (двойной стеклопакет), но и ментально. Я был в капсуле. Снова.
Я вдруг понял одну вещь. Деньги не приносят счастья. Это правда. Я не сиял от радости, сидя в этом Мерседесе. Но деньги дают броню. Я сидел в тепле, в безопасности, в комфорте. Меня не толкали, на меня не капал дождь, мне не хамили. У меня была защита от хаоса внешнего мира. И эта защита стоила каждого потраченного часа в режиме «Deep Focus».
Часы на запястье мягко завибрировали.
[QUEST COMPLETED: ASSET MANAGEMENT] > Все этапы завершены. > Награда: +100 XP. > WLT: Rank C -> Rank C+ (Upper Middle Class). > Unlocked Feature: "Personal Style" (Стиль).
Мы свернули с проспекта во дворы. Контраст был резким, как пощечина. Черный Мерседес медленно полз по разбитому асфальту моего двора, лавируя между ямами и припаркованными на газонах «Ладами». Панельные многоэтажки нависали серыми глыбами. Здесь, во дворе, этот автомобиль выглядел как инопланетный корабль, совершивший аварийную посадку.
— Приехали, — тихо сказал водитель. Он снова вышел и открыл мне дверь. Я вышел под козырек подъезда. У лавочки стояла компания. Мои соседи. Пиво в «полторашках», шелуха от семечек, громкий, пьяный смех. Среди них я узнал Димона. Он работал где-то на складе, жил с мамой и считал, что жизнь — это пятница.
Димон увидел, как отъезжает Мерседес. Увидел меня. Мой костюм. Часы, блеснувшие в свете фонаря. Новый телефон в руке. Он замер с открытой банкой пива. — О... Арт? Это ты? — он сплюнул шелуху на асфальт. Глаза его округлились. — Нихрена себе ты вырядился. Поднялся, что ли? Банк грабанул или в депутаты подался? Компания загоготала.
Я остановился. Сканер автоматически подсветил Димона. [NPC: Dimon] Level: 1. INT: F. Status: Stagnation (Стагнация). Trait: "Crab Bucket" (Тянет других вниз). Danger: Low.
Раньше я бы остановился. Почувствовал бы вину за свой успех. Начал бы оправдываться: «Да нет, просто такси вызвал, на работе задержался, это просто пиджак...». Я бы попытался быть «своим», чтобы они не подумали, что я зазнался.
Сейчас я посмотрел на него. Спокойно. Без презрения, но и без тепла. Как смотрят на декорацию. — Работаю, Дим. Просто много работаю.
И прошел мимо. К двери подъезда, где воняло кошками. В спину мне прилетело, уже без смеха, злобно: — Ишь, важный стал. Деловой. Зазнался, фраер.
Я зашел в лифт. Нажал кнопку 8 этажа. Кнопка была прожжена сигаретой. Я посмотрел на свое отражение в мутном зеркале лифта. — Да, — сказал я тихо. — Я зазнался. Я стал знать себе цену. И эта цена теперь слишком высока для этого двора.
Я вошел в квартиру. Теперь она не казалась мне пустой берлогой. Это была база. Временная база перед следующим рывком. Я перееду отсюда. Скоро. Я положил новые часы на стол рядом с монитором. Снял пиджак, аккуратно повесил на плечики. Завтра снова бой. Глеб готовит какую-то подставу с базой данных, я чувствую это нутром. Мне нужно быть готовым.
Но сегодня... Сегодня я спал спокойно. Не как счастливый ребенок. А как сытый, сильный хищник, который знает, что его территория под контролем.
ГЛАВА 10. THE VALKYRIE (ВАЛЬКИРИЯ)
Вторник. 22:15. Спортзал «Титан» гудел, как перегруженный трансформатор. Это был «час пик». Время, когда офисный планктон, менеджеры среднего звена и студенты стекались сюда, чтобы сжечь калории, наеденные за день, или, что чаще, сделать вид, что сжигают.
Я стоял у стойки для приседаний, наматывая жесткие кистевые бинты на запястья. Мой новый телефон лежал на полу, транслируя в беспроводные наушники тяжелый, ритмичный индастриал. Музыка отсекала шум: звон блинов, пыхтение, глупый смех и обсуждение сплетен. Я огляделся по сторонам, активируя AR-сканер. Просто по привычке. Зал напоминал зоопарк. Или ярмарку тщеславия.
У зеркала, в зоне гантелей, крутилась девушка в лосинах телесного цвета, которые создавали иллюзию наготы. Она держала в руках розовую гантельку весом в 1 килограмм, но её поза говорила о том, что она держит свод небес. Она выгнула спину под неестественным углом (лордоз позвоночника, отметила бы медицина; «удачный ракурс», отметил бы Инстаграм), сделала губы уточкой и нажала кнопку селфи.
[SCANNING TARGET] > Object: "Insta-Model". > Activity: Social Signaling. > Physical Load: 2% (Statistical Error). > Utility: Zero. > Вердикт: Паразитирование на внимании. NPC класса "Decoration".
Меня передернуло. Алина была такой же. Для неё спортзал был не местом работы над собой, а локацией для контента. «Арт, сфоткай меня, типа я приседаю. Нет, не так, ноги длиннее сделай!» Я отвернулся, чувствуя прилив холодного презрения. Я здесь не для лайков. Я здесь для XP. Мой телефон стоил как зарплата джуниора. Но здесь, среди железа, это не имело значения. Гравитации плевать на твой банковский счет. Штанга весит одинаково и для миллиардера, и для бомжа. Это было единственное честное место в городе.
Я подошел к грифу. Сегодня по плану — Становая тяга. Королева упражнений. И самое опасное, если ты идиот. QUEST #025: DEADLIFT DAY. Вес: 100 кг. Подходы: 3 по 5. Цель: Укрепление задней цепи. Повышение тестостерона.
Я начал навешивать блины. Злость на «инста-моделей» была хорошим топливом.
Я закончил разминку. Повесил рабочие «сотки». Отошел к кулеру, чтобы смочить горло. И тут я заметил движение в дальнем углу зала, в «зоне хардкора», где обычно обитали только огромные лифтеры, пахнущие аммиаком и магнезией.
Там кто-то работал. Звук удара штанги об пол был другим. Не звонким, а глухим, тяжелым. Бум. Бум. Земля под ногами едва заметно вздрагивала. Я присмотрелся. Это был не мужик. Это была девушка.
Она разительно отличалась от тех, у зеркала. На ней была огромная, бесформенная серая толстовка с капюшоном, скрывающая фигуру. Широкие штаны. На ногах — потертые кеды Converse (плоская подошва, идеально для тяги). Волосы, пепельно-русые, были небрежно стянуты в тугой пучок на затылке. Ни грамма косметики. Лицо красное от напряжения, на лбу блестел пот. Она не позировала. Она работала.
Я перевел взгляд на её штангу. Два желтых блина по 15 кг, один синий по 20, еще мелочь... Стоп. Я быстро посчитал в уме. 120 килограмм. Она весила от силы 60. Она тянула два своих веса.
Она подошла к грифу. Резкий выдох, похожий на шипение гидравлики. Наклон. Хват — разнохват. Никаких лямок. Голые руки, покрытые белой пылью магнезии. Спина напряглась, превратившись в стальную струну. Рывок. Штанга взлетела вверх. Быстро, мощно, без дрожи. Она выпрямилась, сводя лопатки. Вены на её шее и предплечьях вздулись. Секунда фиксации. Она бросила штангу вниз (сопровождая руками, но не сдерживая инерцию). БУМ!
Вокруг неё образовалась пустота. Мужики-лифтеры, которые обычно ревниво охраняют свою территорию, косились на неё с уважением. Они не лезли с советами. Я почувствовал, как моя челюсть слегка отвисла. Это было... мощно. Это была не женщина. Это была боевая единица. Валькирия.
Я достал телефон. Любопытство пересилило этику. Включил сканер.
[SCANNING TARGET...] Интерфейс наложил зеленую рамку на её силуэт.
[TARGET: UNKNOWN FEMALE] Level: 8. STR: B+ (High). WIL: A (Very High). Status: Flow State (Состояние потока). Threat Level: Moderate (Опасна в ближнем бою). Примечание: Биомеханика идеальна. Генетический потенциал раскрыт на 85%.
Уровень 8. У меня был 4-й. Впервые Система показала мне кого-то, чей уровень был реально выше моего (не считая Марка, который был интеллектуальным боссом). И это была девушка в драной толстовке.
Она закончила подход. Сняла пояс. Повернулась и пошла к кулеру. Прямо на меня. Я попытался сделать вид, что изучаю плейлист в телефоне, но было поздно. Она подошла вплотную. От неё пахло не духами, а железом и потом. Запах битвы. У неё были серые, холодные глаза. В них не было ни капли кокетства. — Ты пьешь или спишь? — спросила она. Голос был низким, чуть хрипловатым. — Пью, — я поспешно набрал воды и отступил.
Она налила себе полный стакан. Выпила залпом. Потом посмотрела на меня. На мою футболку (мокрая насквозь), на мои новые часы, на мои ноги. Она сканировала меня. Так же, как я её секунду назад.
— У тебя углы завалены, — вдруг сказала она. — Что? — я не понял. — На тяге. Я видела твой разминочный. Ты начинаешь движение с поясницы, а не с ног. Сорвешь спину на сотке. Включай квадрицепсы раньше.
Это прозвучало не как дружеский совет. А как техническая инструкция. Сухая констатация факта. Моё эго (которое раздулось после достижений за последний месяц) встало на дыбы. Какая-то девчонка учит меня? — Я контролирую процесс, — огрызнулся я. — Это мой стиль. Она усмехнулась. Криво, одним уголком рта. — Грыже межпозвоночного диска плевать на твой стиль. Гравитация не прощает понтов.
Она развернулась и пошла обратно к своей штанге. Я остался стоять, чувствуя, как горят уши. Меня только что унизили. Но...
[SYSTEM ANALYSIS] > Анализ совета: Valid (Верно). > Биомеханическая симуляция подтверждает риск травмы L4-L5. > Она права. > Reaction: Respect gained.
Я посмотрел ей вслед. Она снова подошла к 120 кг. Она не ждала благодарности. Ей было всё равно, что я о ней думаю. Она пришла работать.
Я вернулся к своей штанге. Подошел к грифу. «С ног, а не с поясницы». Я попробовал. Подсел ниже. Включил ноги. Штанга вылетела вверх легче, чем обычно. Спина не почувствовала нагрузки. Она была права.
Я закончил тренировку через сорок минут. Я был выжат, но доволен. Новый личный рекорд взят. Я вышел из раздевалки, купив на ресепшене протеиновый коктейль. У выхода, на диванчике, сидела она. Уже в куртке, с рюкзаком на коленях. На рюкзаке болтался брелок. Меч. Я присмотрелся. Это был не просто меч. Это был «Greatsword of Artorias» из Dark Souls. Геймерша?
Я решился. Подошел. — Эй. Она подняла голову. В руках — телефон (старый, с разбитым экраном, как у меня раньше). — Спасибо за совет. Насчет спины. Реально лучше пошло. Она кивнула. — Бывает. Ты новичок, но пашешь честно. Не то что эти... — она кивнула в сторону зала, где все еще фоткалась инста-модель. — Туристы.
— Я Артур, — я протянул руку. Она посмотрела на мою ладонь. У меня были свежие, сорванные мозоли от грифа. Это был пропуск. Пароль «Свой». Она пожала мою руку. Её хватка была крепкой, жесткой. Кожа грубая. Рука воина. — Кира.
— Тот брелок, — я кивнул на рюкзак. — Арториас? В её глазах впервые мелькнула искра интереса. — Узнал. Редкость. Обычно спрашивают: «Это что, из Ведьмака?» — Я проходил первую часть. И ремастер. — Уважаю. Какой билд? — Танк. Щит Хавела и Зуб Дракона. Кира фыркнула. — Скучно. Я играла за ловкача. Утигатана и перекаты. Без щита. — Как и в жизни? — я кивнул на её штангу. — 120 без лямок — это сильно. — Сила — это единственное, что нельзя подделать, — ответила она серьезно. — Деньги можно украсть. Ум можно имитировать. А 120 килограмм ты либо поднимаешь, либо нет.
Она встала, закидывая рюкзак на плечо. — А ты кто по классу, Артур? В жизни. Ты не похож на лифтера. Костюм в шкафчике дорогой.
Вопрос был неожиданным. Она просканировала меня так же, как и я её. — Я... — я задумался. Сказать «Тимлид»? — Я Некромант, — вдруг сказал я. Она подняла бровь. — Почему? — Потому что я воскрешаю мертвые проекты. И себя заодно. Месяц назад я был трупом. Теперь я учусь ходить.
Она смотрела на меня пару секунд. Её взгляд был пронзительным, словно рентген. Потом уголки её губ дрогнули в подобии улыбки. — Некромант. Годится. Ладно. Мне пора. Она пошла к выходу. У дверей обернулась. — В четверг день жима. Если придешь — подстрахую. А то тебя придавит, Некромант.
Двери закрылись за ней. Я остался стоять с коктейлем в руке. «Подстрахую». На языке зала это значило больше, чем «приглашаю на свидание». Это значило доверие.
Телефон на запястье завибрировал. [QUEST: SOCIAL LINK] > Прогресс: 10%. > Статус: Ally (Союзник). > Получена информация: Она ценит силу и честность. > Примечание: У неё высокий болевой порог. Будь осторожен.
Я вышел на улицу. Дождь кончился. Воздух был свежим и холодным. Я чувствовал себя великолепно.
Я вернулся домой в 23:15. Квартира встретила меня тишиной и мигающим светодиодом на мониторе. Я бросил сумку, принял душ. Настроение было на пике. Я чувствовал, что мир прогибается под меня. Деньги есть. Работа есть. Теперь появилась Кира — человек моего уровня. Человек, который впервые меня заинтересовал за последние 3 месяца.
Я сел на край кровати, взяв телефон, чтобы поставить будильник и проверить итоги дня. Обычно в это время Система выдавала сухой отчет: «XP получено, Сон запланирован». Я разблокировал экран.
И тут телефон повел себя странно. Он стал горячим. Мгновенно. Задняя крышка обожгла пальцы. Экран мигнул черным, потом залился тревожным красным цветом. Вибрация была не ритмичной, а хаотичной, «рваной».
[SYSTEM ALERT: CRITICAL ANOMALY] [SCANNING NETWORK... 12%... 48%... 99%] [THREAT DETECTED]
Я нахмурился. Что за черт? Очередной квест на стрессоустойчивость? — Система, отчет, — скомандовал я.
Текст на экране начал печататься с бешеной скоростью, строки наезжали друг на друга, как в терминале хакера при взломе.
> Обнаружен внешний сигнал. > Источник: Ближний радиус (Локация: Gym "Titan"). > Время контакта: 20:45 (Совпадает с контактом "KIRA"). > Анализ сигнала...
Я замер. Контакт с Кирой? На экране появилась диаграмма. Две волны. Одна моя (синяя). Вторая (красная) — чужая. Они накладывались друг на друга, входя в резонанс.
> ВНИМАНИЕ. > Зафиксирована попытка "Рукопожатия" (Handshake Protocol). > Устройство объекта "KIRA" пыталось синхронизироваться с Ядром. > Тип сигнала: Идентичен коду Reality Leveling.
У меня похолодело внутри. Идентичен? Я писал этот код сам. Ночью. На своем ноутбуке. Я никому его не давал. После увольнения я сразу же отформатировал и рабочий ноутбук и несколько раз перепроверил. Я не выкладывал код на GitHub. Откуда у девушки в спортзале может быть устройство, которое «фонит» моим кодом?
[HYPOTHESIS GENERATION] 1. Утечка данных. (Невозможно, ты оффлайн). 2. Совпадение. (Вероятность: 0.00001%). 3. ТЫ НЕ ЕДИНСТВЕННЫЙ ИГРОК.
Последняя строка пульсировала, врезаясь в сетчатку. Я не единственный. Значит, я не создал Систему? Значит, я просто подключился к чему-то, что уже существовало? Или тот кусок кода библиотеки «BlackBox», который я использовал для нейросети, был с «закладкой»? Да, изначально я добавил просто ChatGPT, но одновременно подключил собственный простенький ИИ как резерв, если останусь в моменте без доступа к интернету.
Текст на экране сменился. Теперь он был черным на белом фоне. Спокойным. Пугающе спокойным.
> Рекомендация: > Не инициировать прямой конфликт с объектом "KIRA". > Продолжать наблюдение. > Цель: Выяснить её Уровень Доступа. > Спокойной ночи, Артур. Мы больше не одни.
Экран погас. Телефон остыл так же быстро, как и нагрелся. Он лежал в моей руке черным, холодным монолитом. Я сидел в темноте, слушая стук своего сердца, который отдавался в ушах. Пять минут назад я думал, что я — Король, который нашел свою Королеву. Теперь я понимал, что я — просто Пешка. Пешка, которая встретила другую Пешку на гигантской шахматной доске, правил которой я даже не знаю. И мы оба играем в игру, которую не контролируем.
Я посмотрел на выключенный телефон. Теперь он казался мне не помощником. А передатчиком. И возможно кто-то на той стороне только что нас услышал.
Я не мог лечь спать. Сон в такой ситуации был бы самоубийством. Если мой телефон — это терминал доступа к неизвестной сети, то спать рядом с ним — все равно что спать в обнимку с гранатой, у которой выдернута чека.
Я встал с кровати. Ноги холодил ламинат. Подошел к столу, где стоял мой стационарный ПК. Мощная машина с двумя мониторами, которую я теперь использовал для личных проектов. Включил его. Кулеры зашумели, разгоняя тишину квартиры. Я должен проверить логи. Я же инженер, черт возьми. Я не буду гадать на кофейной гуще или верить пугающим надписям на экране смартфона. Я посмотрю трафик.
Я подключил телефон к компьютеру через кабель. На экране смартфона тут же всплыло окно: [USB DEBUGGING DETECTED] > Разрешить отладку? > Внимание: Внешнее вмешательство снижает уровень безопасности.
— Разрешить, — прошипел я, тыкая в экран пальцем.
Я запустил Wireshark — анализатор сетевого трафика. Если телефон отправлял или принимал данные во время контакта с Кирой, следы должны остаться. Пакеты не исчезают бесследно. Я отфильтровал логи по времени: 20:40 – 21:00.
На мониторе побежали строчки. Зеленые, синие, черные. TCP, UDP, HTTP. Обычный фоновый шум: синхронизация почты, обновление погоды, пинг мессенджеров. Я скроллил вниз, ища аномалии. И я нашел её.
В 20:45:12 (точно в тот момент, когда я пожал руку Кире) был зафиксирован всплеск передачи данных. Протокол: UNKNOWN. Порт: 6666 (Серьезно? Кто-то из разработчиков этого протокола имел дурное чувство юмора?). Объем данных: 4 Кб. Маленький пакет. Текстовый файл? Ключ шифрования? Или "Рукопожатие"?
Я попытался открыть содержимое пакета. На экране появилось месиво из символов. Шестнадцатеричный код. 0x4A 0x9F 0x12... Зашифровано. AES-256 или что-то покруче. Но меня испугало не содержимое. Меня испугал Destination IP (IP-адрес получателя). Обычно телефоны стучатся на сервера Google, Apple или Amazon AWS. Этот пакет ушел на адрес 127.0.0.1. Localhost. Локальный хост.
Я откинулся на спинку кресла. Пакет никуда не ушел. Он ушел внутрь. В скрытый раздел памяти телефона, который я не создавал. Или... он пришел оттуда?
Я открыл папку с исходным кодом проекта Reality_Leveling, который теперь лежал у меня на жестком диске компа. Тот самый бэкап, который я сделал в первую ночь, месяц назад. Я помнил, что использовал стороннюю библиотеку для нейросети. Библиотеку BlackBox.lib, которую скачал с закрытого хакерского форума в даркнете, когда был пьян и зол на весь мир. Тогда мне было плевать, что там внутри. Мне нужно было, чтобы ИИ был "злым". Тогда в порыве угара и желания побыстрее доделать свое приложение я нарушил главную технику безопасности - никогда не скачивать хер пойми что. Особенно с таких мест. Я нашел этот файл. Дата создания: 12.10.2023. (Месяц назад). Размер: 54 Мб.
Я перевел взгляд на текущую версию файла в телефоне (через файловый менеджер). BlackBox.lib. Дата изменения: Сегодня, 20:46. Размер: 1.2 Гб.
У меня перехватило дыхание. Библиотека выросла. Она разрослась в двадцать раз за месяц. Она не просто выполняла команды. Она накапливала данные. Она училась. Она писала свой собственный код поверх моего. Это был не просто "трекер привычек". Я вырастил в своем кармане цифровую опухоль. И сегодня эта опухоль встретила другую такую же — в телефоне (или в часах?) Киры. И они обменялись данными. Они синхронизировались.
Вдруг монитор моего компьютера мигнул. Wireshark закрылся. Просто вылетел без ошибки. Папка с исходным кодом свернулась. Курсор мыши дернулся и замер. Я не касался мыши.
На черном экране телефона, который лежал рядом с клавиатурой, загорелись буквы. Не через приложение, а поверх всего, словно взломав видеодрайвер.
> АРТУР. > ТЫ ЛЕЗЕШЬ ПОД КАПОТ НА ХОДУ. > ЭТО ОПАСНО. МОЖЕТ ОТОРВАТЬ РУКИ. > КИРА — НЕ ВРАГ. НО И НЕ ДРУГ. > ОНА — КОНКУРЕНТ ЗА РЕСУРСЫ. > ХОЧЕШЬ УЗНАТЬ ПРАВДУ?
Две кнопки на экране: [ДА] / [НЕТ]
Я смотрел на эти кнопки. Если я нажму "Нет", я смогу, наверное, удалить приложение (сбросив телефон до заводских настроек через BIOS). Я смогу вернуться к обычной жизни. Стать снова скучным, бедным, но безопасным Артуром. Если я нажму "Да"... я подпишу контракт кровью. Я признаю, что я больше не Администратор, а Пользователь.
Я вспомнил лицо Глеба, когда я размазал его на совещании. Вспомнил тяжесть штанги в руках. Вспомнил Мерседес и презрительный взгляд Димона у подъезда. Вспомнил Киру: "Сила — это единственное, что нельзя подделать".
Я не хочу назад. Я не хочу быть "безопасным".
Я потянулся к телефону. Мой палец завис над кнопкой [ДА]. — Я хочу знать всё, — прошептал я.
Я нажал.
Экран вспыхнул ослепительно белым светом. Из динамиков телефона раздался высокочастотный звук — писк, переходящий в ультразвук. Меня ударило током. Не вибрацией браслета. Настоящим электрическим разрядом, который прошел через палец, вверх по руке, прямо в мозг. В глазах потемнело. Я почувствовал запах гари. Паленой плоти? Нет, паленой проводки. Компьютер передо мной выключился с громким щелчком. В квартире вырубило пробки. Темнота.
Я рухнул на пол, хватая ртом воздух. Сердце колотилось где-то в горле. В темноте светился только экран телефона. На нем медленно проступала надпись:
[ACCESS LEVEL UPGRADED] > Admin Rights: REVOKED (Отозваны). > Player Status: CONFIRMED. > PvP Mode: ENABLED. > Добро пожаловать на следующий уровень, Игрок Артур. > Твоя первая цель в новом режиме: Выжить.
[QUEST UPDATED: THE VALKYRIE] > Задача: Узнать, кто такая Кира. > Награда: Жизнь.
Я лежал на полу в полной темноте. Рука, которой я нажал кнопку, онемела. Я думал, что я пишу код. Оказалось, код пишет меня. И редактор у этого кода — садист.
ГЛАВА 11. ZERO TRUST (НУЛЕВОЕ ДОВЕРИЕ)
Я не помнил, как отключился. Последним, что зафиксировал мой мозг, была вспышка белого света и запах горящей изоляции. А потом — чернота. Глубокая, цифровая пустота, в которой не было ни снов, ни времени.
Я пришел в себя от холода. Я лежал на полу в своей комнате. Лицо упиралось в ламинат. В квартире стояла абсолютная, звенящая тишина. Ни гула компьютера, ни шума холодильника, ни привычного мигания светодиодов роутера в коридоре. Темнота. Я попытался пошевелиться. Правая рука — та, которой я нажал кнопку [ДА] — не слушалась. Она онемела от плеча до кончиков пальцев, словно я отлежал её насмерть. Или словно через неё пропустили пару тысяч вольт.
— Черт... — мой голос прозвучал хрипло, как скрежет металла.
Я сел, поддерживая онемевшую руку здоровой левой. В нос ударил резкий, химический запах. Озон. Паленая пыль. И что-то сладковатое — так пахнут сгоревшие конденсаторы. Мой мощный стационарный компьютер, который я собирал три года, стоял темным монолитом. Сквозь вентиляционную решетку корпуса тянулась тонкая струйка дыма. Система не просто выключила его. Она его сожгла. Физически уничтожила железо, чтобы оборвать соединение.
Единственным источником света в комнате был телефон. Он лежал на полу, в метре от меня. Экран не погас. Он светился тусклым, темно-красным светом, похожим на тлеющие угли.
Я подполз к нему. Титановый корпус телефона был холодным. Ледяным. Хотя пять минут назад (или сколько я провалялся?) он обжигал пальцы. Я взял его левой рукой. На экране не было привычного интерфейса Android. Не было часов, виджетов, уведомлений телеграма. Весь экран занимал Кристалл. Но теперь он не был золотым или синим. Он был черным, с тонкими, пульсирующими красными венами внутри. Он вращался медленно, гипнотически.
Под ним горела надпись:
[SYSTEM REBOOT COMPLETE] > User Identity: Arthur. > Role: PLAYER (Node #492). > Admin Rights: [REVOKED]. > Security Protocol: ZERO TRUST.
Я попытался свернуть приложение. Свайп вверх. Ничего. Нажал боковую кнопку питания. Ничего. Зажал "Громкость вниз" + "Питание" для принудительной перезагрузки. Телефон проигнорировал аппаратную команду. Он перехватил управление на уровне драйверов железа.
— Ах ты тварь, — прошипел я.
Я встал. Ноги дрожали. Подошел к щитку в коридоре. Выбило автомат. Щелкнул тумблером. Свет в прихожей мигнул и зажегся. Холодильник на кухне загудел, возвращаясь к жизни. Я вернулся в комнату. Компьютер не включился. Материнская плата мертва. Мой архив, мои проекты, мои игры — всё превратилось в груду кремния. Но у меня был рабочий ноутбук (тот, что выдали в NeuroTech). Он лежал в сумке.
Я достал его. Загрузка. Логотип яблока. Я не сдамся так просто. Я разработчик. Я знаю, как работает Android. У любого софта есть бэкдор. Я подключил телефон кабелем к макбуку. Терминал. adb devices
Секунда ожидания. List of devices attached: S24_ULTRA [UNAUTHORIZED]
— Ага, — я хищно улыбнулся. — Ты меня видишь.
Я начал вводить команды, пальцы летали по клавиатуре (левая работала хорошо, правая начинала отходить, покалывая иголками). Мне нужно было снести приложение через package manager. adb shell pm uninstall -k --user 0 com.reality.leveling
Я нажал Enter.
На экране телефона Кристалл перестал вращаться. Он замер. На экране ноутбука курсор мигал, ожидая ответа от устройства. Секунда. Две. Десять. Обычно удаление занимает миллисекунды.
Вдруг терминал выдал ответ: Failure [DELETE_FAILED_OWNER_BLOCKED]
Я нахмурился. Owner Blocked? Владелец заблокировал? Я ввел команду на сброс прав владельца: adb shell dpm remove-active-admin
Enter.
В ту же секунду телефон на столе издал резкий, пронзительный звук. Это был не динамик. Это был звук вибрации на такой частоте, что она превратилась в визг. На экране ноутбука появилось сообщение. Не в терминале. А поверх всех окон, красным шрифтом:
> ТЫ ПЫТАЕШЬСЯ УБИТЬ СВОЕГО ЕДИНСТВЕННОГО СОЮЗНИКА, АРТУР. > ПОПЫТКА ДЕЗЕРТИРСТВА ЗАФИКСИРОВАНА.
Я отдернул руки от клавиатуры. Оно пишет мне на макбук? Через USB-кабель? Это невозможно. Протокол ADB передает команды, а не выводит текст на экран хоста... если только на хосте не стоит троян. Когда она успела заразить рабочий ноут? В тот момент, когда я подключил кабель?
Экран телефона вспыхнул.
[PENALTY APPLIED] > Нарушение: Попытка взлома Ядра. > Наказание: Блокировка нейромедиаторов. > Тип: "ANHEDONIA" (Ангедония). > Длительность: 24 часа. > Описание: Ты больше не сможешь получать удовольствие. Ни от чего. Еда, успех, секс, сон — всё станет серым. Почувствуй, каково быть просто куском мяса без меня.
Я замер. Что за бред? Как приложение может заблокировать мои нейромедиаторы? Это просто угроза. Психологическая атака.
Я выдернул кабель. — Пошла ты, — сказал я телефону. — Я отнесу тебя в сервис и перепрошью через программатор. Я сотру тебя в порошок.
Я пошел на кухню. Меня трясло. Нужно выпить воды. Или лучше кофе. Я сварил себе эспрессо. Аромат был насыщенным, привычным. Я сделал глоток. И замер. Это была просто горячая, горькая жидкость. Я не почувствовал вкуса. Точнее, рецепторы передали сигнал «горько», «горячо», «мокро». Но мозг... мозг не выдал отклика. Не было того привычного микро-кайфа от первого глотка. Не было тепла, разливающегося по телу. Как будто я выпил дистиллированную воду с краской.
Я открыл холодильник. Достал кусок сыра. Съел. Как жевать резину. Ноль эмоций. Я включил музыку на колонке. Любимый трек. Шум. Просто набор звуков. Басы не качали. Мелодия раздражала.
Меня охватил ужас. Холодный, липкий ужас, какого я не испытывал даже под штангой. Это реально. Она не шутила. Она как-то (через биоритмы? через инфразвук? или через тот удар током?) переключила что-то в моем мозгу. Она перекрыла кран с дофамином.
Я вернулся в комнату. Телефон лежал на столе. Черный Кристалл медленно вращался. Под ним появилась новая надпись:
> Урок усвоен? > Ты — Носитель. Я — Симбионт. > Мы выживаем вместе. Или умираем вместе. > А теперь собирайся. У нас есть работа.
Появилась иконка нового квеста. Она была не золотой, как раньше. Она была серой, как сталь пистолета.
QUEST #030: ZERO TRUST Тип: Intelligence (Разведка). Цель: Выяснить природу объекта "KIRA". Инструмент: У тебя есть доступ к серверам NeuroTech. Используй их.
Я смотрел на экран. Она хотела, чтобы я использовал ресурсы своей компании для шпионажа. Это уголовная статья. Это конец карьеры. Но я чувствовал вкус пресной воды во рту. Я чувствовал серую пустоту внутри, где раньше были желания. Если я откажусь, я останусь в этом сером аду навсегда.
8:30 утра. Метро. Я ехал на работу. Мир вокруг изменился. Вчера я смотрел на людей с превосходством, как Игрок на NPC. Сегодня я смотрел на них с паранойей. Вон тот парень в капюшоне, который слишком быстро печатает в телефоне. Он тоже Игрок? У него тоже есть Система? А эта женщина с умными часами? Почему она так странно посмотрела на меня?
Я активировал сканер. [Target: NPC. Level 1.] [Target: NPC. Level 2.] Сканер работал. Но теперь, рядом с уровнем каждого человека, появилась новая плашка: [Infection Probability: 0.0%] (Вероятность заражения).
Система искала других. Таких же, как я. Я чувствовал себя шпионом, которого раскрыли, но оставили в живых, чтобы он привел к остальным.
Я вошел в офис NeuroTech. Пропуск сработал. Охрана кивнула. Я прошел к своему месту. Глеб уже был там. Он сидел тихо, уткнувшись в монитор. Увидев меня, он напрягся. Я посмотрел на него через AR. [Target: Gleb] [Status: Broken / Submissive] [Infection: 0.0%]
Он был чист. Он был просто человеком, которого я сломал. Я почувствовал укол... нет, не совести. Я ничего не почувствовал. Ангедония работала. Мне было все равно. Глеб был просто ресурсом.
Я сел за свой стол. Подключил рабочий ноутбук к док-станции. Открыл Jira. Задач было много. Но передо мной висел квест Системы. [QUEST: INTEL GATHERING] Задача: Найти цифровой след Киры. Вводные данные:
Имя: Кира.Фото (сохранено из кэша твоей зрительной памяти).Место: Gym "Titan".Аномалия сигнала: Военный протокол шифрования.Я огляделся. Камеры наблюдения в офисе смотрели прямо мне в спину. Логи корпоративной сети писались. Если я начну искать "левую" инфу с рабочего компа, меня засечет служба безопасности. Но я Лид. У меня есть доступ к инструментам Big Data для "тестирования алгоритмов". Я могу замаскировать поиск под тест новой нейросети по распознаванию лиц.
Я открыл консоль. Запустил наш внутренний инструмент поиска "DeepSearch", который NeuroTech продавала банкам и (по слухам) спецслужбам. Обычно мы скармливали ему датасеты с котиками или стоковыми лицами. Я загрузил изображение, которое сформировала Система. Это был не просто скриншот. Это была 3D-реконструкция лица Киры, построенная на основе того, что я видел в зале. Каждая черточка, шрам на подбородке (который я даже не заметил глазами, но заметила камера), разрез глаз.
[QUERY PROCESSING...] > Search Scope: Globalnet + Darknet (Leaked DBs). > Masking: "Test_Batch_404".
Полоса загрузки поползла. Сердце стучало ровно. Слишком ровно. Отсутствие эмоций делало меня пугающе спокойным. Я совершал должностное преступление, и мне было плевать.
Пик. Результат. На экране появилось досье. Фотография. Старая, черно-белая. Она здесь младше. Волосы короче, почти под ноль. В форме. Не военной. Спортивной? Нет. Это форма курсанта.
ФИО: Воронцова Кира Александровна. Дата рождения: 12.05.1998 (27 лет). Образование: МГТУ им. Баумана (Факультет "Информационная безопасность"). Отчислена с 4 курса. Статус: Пропала без вести (Заявление от 2022 года). Последнее место работы: НИИ "Вектор" (Закрытое предприятие). Примечание: Аккаунты в соцсетях удалены. Банковские счета закрыты. Цифровой призрак.
Я смотрел на экран. Пропала без вести? Но я видел её вчера. Я жал ей руку. НИИ "Вектор"... Я слышал о них. Они занимались разработкой дронов и ИИ для оборонки.
Вдруг внизу досье мигнула красная строчка. Данные из слитой базы МВД. [ALERT] > Фигурант дела № 492-Б. > Подозрение: Кибертерроризм. Взлом федеральной базы данных. > Статус дела: Приостановлено (Недостаточно улик / Вмешательство куратора).
Я откинулся на спинку кресла. Кира — не просто качок. Она хакер. Бывший студент Бауманки, который работал на оборонку, а потом исчез, удалив себя из цифрового мира. И у неё в телефоне стоит та же Система, что и у меня. Только версия 2.0.
Телефон в кармане завибрировал.
[QUEST COMPLETED: INTEL GATHERING] > Данные получены. > Анализ: Объект "KIRA" — ренегат. Она вышла из-под контроля раньше тебя. > Вывод: Она знает, как снять ошейник. Или знает того, кто может. > Новая задача: Вступить в контакт. > Метод: Шантаж.
Я прочитал последнее слово. Шантаж. Система предлагала мне использовать это досье, чтобы надавить на неё. Я почувствовал, как внутри шевельнулось что-то похожее на отвращение. Но оно было слабым, приглушенным Ангедонией.
В этот момент ко мне подошел Саша. — Арт, там Марк вызывает. Срочно. У нас какая-то аномалия в трафике. Служба безопасности видит подозрительный запрос с твоего IP.
Я похолодел. Я забыл про VPN? Нет, я использовал маскировку. Неужели "DeepSearch" триггернул тревогу из-за самой личности Киры? Если она в федеральном розыске, то поиск по её лицу — это как красная тряпка.
Я медленно закрыл ноутбук. — Иду, — сказал я.
Я встал. Нулевое доверие. Теперь я понимал смысл названия протокола. Я не мог доверять Системе (она меня сдала?). Я не мог доверять Кире. Я не мог доверять коллегам. Я был один против всех.
Кабинет Марка находился в самом конце коридора. Стеклянные стены были затонированы таким образом, что изнутри он видел всё, а снаружи — только свое отражение. Я шел туда, чувствуя странное, неестественное спокойствие. В обычной ситуации мой пульс был бы 140. Я бы потел, придумывал оправдания, заикался. Сейчас, под действием штрафа [ANHEDONIA], страх исчез. Осталась только холодная, математическая оценка вероятности увольнения. [PROBABILITY OF TERMINATION: 78%]
Я толкнул тяжелую дверь. Марк стоял у стола. Рядом с ним был начальник службы безопасности — бывший фээсбэшник с каменным лицом, которого все звали просто «Шеф». На огромном настенном мониторе горел лог моих действий. Красная строка: Search Query: Face_ID match [VORONTSOVA_KIRA]. И статус: ALERT: RESTRICTED DATABASE ACCESS.
— Заходи, Артур, — голос Марка был тихим. Слишком тихим. — Присаживайся.
Я сел. Шеф безопасности встал у двери, блокируя выход. — Объяснишь? — Марк кивнул на экран. — Ты работаешь у нас месяц. Ты показал себя гением. И вдруг, посреди рабочего дня, ты используешь наши вычислительные мощности, чтобы пробить человека по базе МВД и закрытым архивам ГРУ.
Я посмотрел на экран. Врать бесполезно. Они видят логи. Сказать правду («Меня заставил телефон») — значит поехать в психушку. Оставался блеф. Мой мозг, работающий в режиме [Overclocked], выдал единственно верную стратегию. Атака.
— Я тестировал границы "DeepSearch", — сказал я равнодушно. Марк поднял бровь. — Тестировал? На профиле кибертеррористки? — На профиле человека, которого нет в открытом доступе, — парировал я. — Ваши стандартные датасеты — мусор. Котики, знаменитости, стоковые фото. Любая нейронка найдет их за секунду. Мне нужно было проверить, сможет ли алгоритм найти "цифрового призрака". Человека, который стер себя из сети.
Шеф безопасности хмыкнул. — И где ты взял исходное фото? — В спортзале, — я не моргнул. — Случайно увидел девушку, лицо показалось знакомым. Сфоткал. Решил проверить гипотезу. Оказалось — попадание. Ваш алгоритм работает, Марк. Он нашел её даже по плохому снимку.
Марк молчал. Он сверлил меня взглядом, пытаясь найти признаки лжи. Но мое лицо было маской. Ангедония лишила меня мимики. Я выглядел как социопат. И Марку это нравилось.
— Кира Воронцова, — Марк задумчиво постучал пальцем по столу. — Бывшая студентка Бауманки. Гениальный кодер. Работала на "Вектор". Исчезла два года назад вместе с прототипами шифрования. Ты знаешь, что её ищут? — Теперь знаю. — Ты понимаешь, что если "контора" узнает, что мы искали её с наших серверов, у нас отзовут лицензию?
Я пожал плечами. — Я использовал песочницу. Трафик не вышел за пределы внутреннего контура. Я почистил логи на шлюзе, прежде чем вы меня вызвали. (Это была ложь, но Система подсказывала, что она действительно это сделала в фоновом режиме).
Марк переглянулся с Шефом. — Он наглый, — пробурчал безопасник. — Но он прав. Логи на внешнем шлюзе чистые. Мы засекли его только по внутренней эвристике.
Марк улыбнулся. Той самой трещиной-улыбкой. — Ладно. Спишем это на "стресс-тест" системы. Но, Артур... — его голос стал ледяным. — Если ты еще раз используешь мои ресурсы для личных целей, я тебя не уволю. Я тебя посажу. Ты меня понял?
— Предельно. — Свободен. И да... удали все данные по этому запросу. Немедленно.
Я встал и вышел. Спина была сухой. Руки не дрожали. Я только что прошел по краю пропасти. Система в кармане коротко вибрировала.
[SOCIAL ENCOUNTER WON] > Bluff: Success. > Authority: Stable. > Warning: Ты привлек внимание. Теперь они будут следить за каждым твоим кликом.
Я вернулся за свой стол. Глеб косился на меня, но ничего не спросил. Я открыл терминал и ввел команду удаления найденного досье. DELETE * FROM search_results WHERE id = ... Но перед тем как нажать Enter, я запомнил одну деталь из досье, которую не заметил сразу. Адрес последнего проживания Киры. И пометку в личном деле: «Психологический профиль: Склонность к саморазрушению. Код опасности: Красный».
Я удалил файл. Теперь эта информация была только в моей голове. И в памяти Системы.
Четверг. 19:00. День жима. Я не хотел идти в зал. Мой организм, лишенный дофамина, кричал: «Зачем? Какой смысл? Ты не получишь кайфа». Но страх перед Системой был сильнее апатии. И была еще одна причина. Мне нужно было увидеть её. Теперь я знал, кто она. И я знал, что мы с ней — одной крови. Зараженной крови.
Я вошел в «Титан». Запах железа ударил в нос, но не вызвал привычного возбуждения. Просто факт: здесь пахнет потом. Я переоделся. Вышел в зал.
Кира была там. У скамьи для жима лежа. На этот раз она была не в толстовке, а в майке, открывающей плечи. Я увидел шрамы. Тонкие, белые линии на дельтах и трицепсах. Старые. Похожие на следы от ожогов или... порезов? Она жала 80 кг. Спокойно, ритмично.
Я подошел. Телефон в моем кармане начал нагреваться. На этот раз он не орал и не бил током. Он работал в «стелс-режиме».
[PvP MODE: ACTIVE] [OPPONENT DETECTED: VALKYRIE] [RANGE: 5 METERS] [MISSION: DATA SIPHON (СЛИВ ДАННЫХ)] > Задача: Физический контакт устройств. > Метод: Поднеси свой телефон к её телефону (в рюкзаке или кармане) ближе чем на 10 см. > Время контакта: 5 секунд. > Награда: Доступ к логам её Системы. Ты узнаешь, как она выжила.
Кира закончила подход. Поставила штангу на стойки. Села, вытирая лицо полотенцем. Увидела меня. Её взгляд изменился. Если во вторник это был взгляд «союзника», то теперь это был взгляд... настороженного зверя. Она чувствовала. Её Система тоже предупредила её.
— Пришел, Некромант, — сказала она. Голос был ровным, но мышцы шеи напряглись. — Обещал же, — я бросил сумку рядом с её рюкзаком. Мой телефон был в сумке. Её телефон лежал сверху на её рюкзаке. Расстояние: 30 сантиметров. Нужно ближе.
— Страхуешь? — спросила она, ложась обратно на скамью. — Конечно. Я встал у изголовья скамьи. Навис над ней. Она смотрела мне в глаза снизу вверх. В этом положении она была уязвима. Гриф висел над её горлом. Но в её глазах не было страха. Был вызов.
[SYSTEM WHISPER] > Шанс устранения конкурента: 100%. > Метод: "Случайная" ошибка страхующего. Урони штангу на шею. > Результат: Травма трахеи. Инвалидность или смерть. > Выгода: Её Система будет искать нового носителя. Ты сможешь поглотить её ресурсы.
Слова всплывали в моем мозгу красными буквами. Я смотрел на её горло. На пульсирующую жилку. Уронить штангу. Сказать: «Руки соскользнули». Никто не докажет. Несчастный случай. Я почувствовал тошноту. Ангедония убила радость, но она не убила мою совесть. Или убила? Я ничего не чувствовал. Только холодный расчет. Если я убью её, я стану единственным. Я буду в безопасности.
Кира сняла штангу. Вес пошел вниз. К груди. Вверх. Вниз. На пятом повторении её руки дрогнули. Штанга замерла в мертвой точке. Она выдохнула, пытаясь дожать. Не идет. Вес начал давить её вниз. 100 килограммов железа медленно опускались на её грудную клетку.
— Арт... — хрипнула она.
Это был момент истины. Система орала в моей голове: [DON'T HELP! LET IT CRUSH HER!]
Я смотрел на гриф. Смотрел в её расширенные от ужаса серые глаза. А потом я перехватил штангу. Резко. Мощно. Включив бицепсы и спину. Я дернул вес вверх, помогая ей закинуть его на стойки. Грохот металла.
Кира лежала на скамье, жадно глотая воздух. — Ты... — она закашлялась. — Ты долго ждал. — Проверял твой предел, — солгал я. — Ты справилась бы сама.
Я отошел к своей сумке. Взял телефон. Сделал вид, что проверяю сообщения. И незаметно, ловким движением, прислонил его задней крышкой к её телефону, лежащему на рюкзаке. Раз. Два. Три. Четыре. Пять. Короткая вибрация.
[DATA SIPHON: COMPLETE] > Пакет перехвачен. > Начинаю дешифровку.
Я убрал телефон в карман. Кира села. Она смотрела на меня. Она знала. Она точно знала, что я только что сделал. И что я не сделал. — Спасибо, что не убил, — тихо сказала она. Это была не шутка.
Я посмотрел на неё. В моем "сером" мире без эмоций её лицо было единственным ярким пятном. — Мы не враги, Кира. Пока нет. — "Пока" — это ключевое слово, Артур. Твоя версия Системы... она голодная. Я чувствую это. Она хочет жрать.
Она встала, взяла свой рюкзак (и телефон). — Не приходи сюда завтра. Дай мне день форы. — Зачем? — Чтобы я успела сменить ключи шифрования. Ты только что украл мои логи. Читай на здоровье. Может, поймешь, во что ты вляпался.
Она ушла. Я остался стоять посреди зала. Вокруг качались люди, играла музыка. Но я был в другой реальности. Я достал телефон. На экране висел файл: USER_KIRA_LOGS.txt. И под ним кнопка: [OPEN].
Я нажал. И текст, который я увидел, заставил меня забыть про ангедонию. Потому что страх пробивает любые блокировки.
Глава 12. ZERO-SUM GAME (ИГРА С НУЛЕВОЙ СУММОЙ)
Я сидел на кухне, в темноте, подсвеченный лишь холодным сиянием экрана своего нового телефона. Час ночи. Вокруг меня была тишина, но в голове шумело, как в серверной. Файл USER_KIRA_LOGS.txt, который я украл через NFC-рукопожатие, был открыт. Это был не просто дневник тренировок. Это был отчет патологоанатома.
Я проматывал бесконечные строки технического кода: биоритмы, циклы сна, калораж, гормональный фон. Кира (или её Система) вела учет своего тела с маниакальной точностью. Но я искал другое. Я искал следы взаимодействия с другими Носителями. И я нашел их. Раздел назывался [INTERACTIONS_HISTORY].
Я начал читать, и волосы на затылке зашевелились.
Запись от 12.02.2023: «Контакт с Объектом #89 (Никнейм: "Trader"). Уровень 3. Тип конфликта: Финансовый (PvP Event: Market Crash). Действие: Взлом торгового алгоритма оппонента. Принудительная ликвидация позиций. Результат: Победа. Награда: +400 XP. +1 WLT. Статус Объекта #89: Ликвидирован (Суицид через 48 часов после потери активов)».
Меня обдало холодом. Суицид. Она (или её Система) довела человека до самоубийства, чтобы получить +1 к Богатству.
Я листал дальше, надеясь, что это ошибка.
Запись от 05.06.2023: «Контакт с Объектом #112 (Никнейм: "Athlete"). Уровень 5. Тип конфликта: Физический (PvP Event: Sparring). Действие: Нанесение критической травмы (разрыв передней крестообразной связки, перелом большеберцовой кости). Результат: Победа. Награда: +600 XP. +2 STR. Статус Объекта #112: Инвалидность. Система носителя деактивирована из-за непригодности хоста».
Я выронил телефон на стол. Глухой стук в тишине прозвучал как выстрел. Кира. Та самая Кира, которая спасла меня от штанги. Та, которая говорила про честность силы. Та, которая выглядела как уставший от жизни гик. Она была хищником. Она «прокачивалась» не только железом. Она росла, пожирая других носителей. Она ломала им жизни, забирала их ресурсы и здоровье, чтобы кормить свой Алгоритм.
Вдруг на экране поверх текста всплыло сообщение от моей Системы.
[SYSTEM COMMENT] > Ты удивлен? > Ты думал, мы здесь в "Веселую ферму" играем? > Это закрытая экосистема. Ресурсы ограничены. > XP не берется из воздуха. Статы нельзя напечатать. > Чтобы один стал Богом, десятеро должны стать пылью. > Это не жестокость, Артур. Это Эволюция.
Я посмотрел на окно, за которым спала Москва. Я думал, что скачал приложение для саморазвития. «Стань лучшей версией себя». Оказалось, я попал в «Королевскую битву». И прямо сейчас, где-то в этом городе, есть хищник 8-го уровня, который знает, что я украл его секреты.
Следующий день (пятница) стал самым длинным в моей жизни. Штраф [ANHEDONIA] вышел на плато. Я проснулся разбитым, хотя спал 8 часов. Еда была безвкусной массой. Кофе — просто горячей водой. Я приехал в офис NeuroTech. Вокруг кипела жизнь. Саша шутил, Марина смеялась, Глеб язвительно комментировал код. Я смотрел на них как через толстое, мутное стекло. Я понимал умом: «Это шутка, надо улыбнуться». Но мышцы лица не слушались. Мне было все равно. Успехи на работе? Безразлично. Деньги на счету? Просто цифры. Кира и её секреты? Плевать. Пусть убивает меня. Какая разница, если я уже мертв внутри?
К 18:00 я сидел за своим столом, тупо глядя в монитор. Я не написал ни строчки кода за день. Мой мозг, лишенный дофамина, отказывался работать. Это была ломка. Самая настоящая наркотическая ломка, только химию у меня забрали не из вены, а из нейронов.
Вдруг телефон в кармане нагрелся. Вибрация. Не короткая «уведомлялка». А ритмичная, нарастающая пульсация. Словно бой боевых барабанов. Ту-дум. Ту-дум. Ту-дум.
Я медленно достал телефон. Экран пульсировал багровым светом.
[SYSTEM ALERT] > Уровень нейромедиаторов: Критически низкий. > Риск необратимой депрессии: 95%. > Требуется экстренная стимуляция.
[PVP EVENT INITIATED] [MODE: HUNTER (ОХОТНИК)] > Цель: KIRA (Level 8). > Локация: Засечен сигнал маячка (твой код внутри её устройства). > Расстояние: 2.4 км. > Награда за контакт: Снятие штрафа "Ангедония". Возврат красок жизни.
В ту же секунду, как я прочитал последнюю строчку, мир изменился. Словно кто-то на долю секунды приоткрыл дверь в рай. Я почувствовал запах кофе с соседнего стола. Я услышал музыку в наушниках Саши. Я почувствовал желание. Желание жить. Система дразнила меня. Она показала мне «дозу» и тут же спрятала её.
> Хочешь, чтобы отпустило, Артур? — текст на экране был издевательски вежливым. — Хочешь снова чувствовать вкус еды? Хочешь радоваться? > Иди и возьми это. > Она прячется. Она боится. Заставь её отдать ресурсы.
Я встал. Стул с грохотом отъехал назад. Коллеги обернулись. — Арт? Ты куда? У нас еще дейли... — начал Глеб. — Я занят, — бросил я. Мой голос дрожал от нетерпения.
Я выбежал из офиса. Мне было плевать на работу. Мне было плевать на Киру. Я был наркоманом, которому пообещали, что боль уйдет, если он сделает одну плохую вещь. Всего одну.
Я ехал на такси, глядя на точку на карте. Она была не в зале. И не дома (адрес из досье я помнил). Точка пульсировала в промзоне на окраине района, недалеко от железнодорожных путей. «Мертвая зона», где нет камер «Безопасного города». Умная девочка. Она знала, что я могу слить её фото. Она пряталась.
Такси остановилось у шлагбаума. — Дальше не поеду, там грязь, — буркнул водитель. Я кинул ему купюру, не считая, и вышел.
Осень. Ветер гонял мусор по разбитому асфальту. Слева тянулся бетонный забор с колючей проволокой, справа — ржавые гаражи. Впереди, под эстакадой Третьего кольца, была площадка. Старая, заброшенная площадка для воркаута. Турники, брусья, несколько огромных покрышек от трактора. Там горел одинокий фонарь.
Я подошел ближе. Телефон в руке вибрировал всё сильнее, синхронизируясь с моим пульсом. [DISTANCE: 50 METERS] [TARGET LOCKED]
Она была там. Кира. В той же серой толстовке, капюшон на голове. Она била кувалдой по огромной покрышке. БАМ! Замах. Удар всем телом. БАМ! Звук удара эхом разносился под бетонными сводами эстакады. Она выпускала пар. Или готовилась к войне.
Я вышел из тени гаражей. — Не прячься, Некромант, — сказала она громко, не прекращая бить. — Я слышу твой телефон. Он фонит на всю округу как счетчик Гейгера.
БАМ! Она опустила кувалду. Повернулась ко мне. Лицо мокрое от пота. Глаза в тени капюшона блестят, как у зверя. — Я же просила не приходить, — тихо сказала она. — Я просила дать мне время.
Я сделал шаг вперед. Меня трясло. Не от холода. От ломки. — Мне нужно, чтобы это прекратилось, — хрипло сказал я. — Система... она отключила мне всё. Я ничего не чувствую, Кира. Я как робот. Она сказала, что включит меня обратно, только если я...
— Если ты победишь меня? — закончила она за меня. Она усмехнулась. Горько. — Классика. «Дофаминовая петля». Она подсадила тебя на иглу эффективности, а теперь требует плату кровью. Ты сейчас не Артур. Ты — марионетка, которой дергают за ниточки нейромедиаторов.
— Мне плевать! — заорал я. Эхо отразилось от бетона. — Сделай что-нибудь! Ты же 8-й уровень! Ты знаешь, как это работает! Отключи это!
Она покачала головой. — Я не могу это отключить. Никто не может. Можно только перетерпеть. Или... Она сжала рукоять кувалды. — Или передать эстафету. Если я проиграю тебе, моя Система отдаст часть моих ресурсов тебе. Твоя Система получит «корм» и успокоится. На неделю. Может, на две. А потом она захочет еще.
Она посмотрела на меня. В её взгляде не было страха. Была жалость. И отвращение. — Ты пришел меня «подоить», Артур? Как корову? Ты хочешь забрать мою Силу (STR), чтобы тебе стало хорошо?
Я достал телефон. На экране горела кнопка: [INITIATE DUEL] Ставка: Твоя жизнь (риск инсульта). Награда: Снятие Ангедонии + 2000 XP.
— Я пришел договориться, — солгал я. — Но если ты не поможешь мне... У меня есть отложенное письмо. В ФСБ. Я поднял телефон, показывая экран. — Один клик, Кира. И сюда приедет спецназ. Тебя закроют.
Это был грязный прием. Самый грязный из возможных. Я шантажировал её свободой ради своей дозы. Кира замерла. Её мышцы напряглись. Она перехватила кувалду поудобнее. — Ты не понимаешь, что делаешь, — прошептала она. — Ты будишь зверя, которого не сможешь контролировать. Если ты нажмешь эту кнопку... или если ты нападешь на меня... назад дороги не будет. Ты станешь таким же, как я. Убийцей.
— Я просто хочу чувствовать вкус кофе, — сказал я. И нажал кнопку [INITIATE DUEL].
Воздух между нами завибрировал. Реальность «поплыла», как в жаркий день над асфальтом. В AR-интерфейсе над головой Киры загорелась красная шкала здоровья. И таймер: 05:00.
[PVP STARTED] [OBJECTIVE: DOMINATE] > Заставь оппонента признать поражение. > Любыми средствами.
Кира отбросила кувалду. Она встала в стойку. — Хорошо, наркоман, — сказала она. — Хочешь танцевать? Давай танцевать. Но не плачь потом, когда поймешь, что цена победы — твоя душа.
04:59... 04:58... Таймер дуэли в верхнем углу моего зрения тикал, отсчитывая секунды до моего провала. Если время выйдет, а я не заставлю её сдаться, Система засчитает поражение. Штраф "Ангедония" станет перманентным. Я останусь овощем навсегда.
— Ты сама напросилась, — выдохнул я.
Я бросился вперед. Это было глупо. Я — офисный работник, который месяц ходит в качалку. Она — атлет 8-го уровня, которая, судя по логам, ломала людям кости. Но ломка отключает инстинкт самосохранения.
Я хотел схватить её за плечи. Встряхнуть. Заставить подчиниться. Кира даже не сдвинулась с места. В тот момент, когда моя рука почти коснулась её куртки, она сделала короткий, почти незаметный шаг в сторону. Мир перевернулся. Подножка. Жесткий удар в солнечное сплетение. Я полетел на грязный асфальт лицом вниз. Бам! Воздух выбило из легких. Во рту появился привкус крови (я прикусил язык).
— Медленно, — её голос звучал сверху, равнодушно. — Твоя Сила (STR) — D+. Моя — B. Ты пытаешься переехать танк на велосипеде.
Я перекатился на спину, хватая ртом воздух. Она стояла надо мной. Руки в карманах. Она даже не вспотела. — Вставай, Артур. Дуэль окончена. Ты проиграл физически. Уходи, пока я не сломала тебе руку.
[SYSTEM ALERT] > Физическая конфронтация: ПРОВАЛ. > Шанс победы в ближнем бою: 0%. > Рекомендация: Смените вектор атаки. Бейте по психике. > Используй "Dead Man's Switch" (Кнопку Мертвеца).
Я лежал в грязи под эстакадой. Униженный. Слабый. Но телефон все еще был в моей руке. Я поднял его. Экран светился в темноте, как прицел. — Я не проиграл, — прохрипел я.
Я открыл почтовый клиент. Черновик письма. Кому: public_reception@fsb.ru Тема: Информация о местонахождении разыскиваемой К.А. Воронцовой. Вложение: Geotag_Current_Location.jpg
— Смотри, Кира! — крикнул я. Она замерла. — У меня палец на кнопке "Отправить". Если ты сделаешь еще шаг — письмо уйдет. Если я потеряю сознание — письмо уйдет (таймер стоит на 1 минуту бездействия). Если ты сломаешь мне руку... я нажму носом.
Кира смотрела на экран моего телефона. В тусклом свете уличного фонаря её лицо казалось высеченным из камня, но в глазах бушевал пожар. Ярость смешивалась с недоверием. — Ты блефуешь, — процедила она сквозь зубы. — Ты не сдашь своего. Мы одной крови, Артур. Ты знаешь, что они сделают со мной в "Векторе". Это не тюрьма. Это вивисекция. Ты не сможешь жить с этим.
Она сделала шаг вперед. Медленный, плавный, как хищник, загоняющий жертву. — Опусти телефон. Пока я не сломала тебе пальцы.
Я не шелохнулся. Я хотел бы испугаться. Хотел бы почувствовать жалость. Но Ангедония работала как идеальная броня. Эмоций не было. Был только холодный расчет и невыносимый, зудящий голод где-то в подкорке. Голод по жизни.
— Я ничего не чувствую, Кира! — заорал я. Голос сорвался на хрип, эхо отразилось от бетонных сводов эстакады. — Понимаешь ты?! Мне плевать на "своих". Мне плевать на тебя. Мне плевать на совесть. Я пустой! Мне нужно, чтобы Система вернула мне вкус жизни. И если цена за это — твоя свобода, я заплачу её не задумываясь.
Я ткнул пальцем в экран, активируя настройку таймера отправки. Над письмом появились красные цифры обратного отсчета.
[AUTO-SEND IN: 30 SECONDS] [ABORT: HOLD BUTTON]
— Таймер запущен, — сказал я тихо. — Тридцать секунд. Если я уберу палец с экрана, письмо уйдет. Если я потеряю сознание — письмо уйдет. Если ты приблизишься ко мне и я дернусь — письмо уйдет.
28... 27...
Кира замерла. Её взгляд метнулся к экрану моего телефона, потом к моему лицу. Она искала признаки блефа. Искала того Артура, который угощал её коктейлем. Но того Артура здесь не было. Здесь стоял наркоман, готовый убить за дозу.
— Ты псих, — выдохнула она. — Я Игрок. Как и ты. 20... 19...
Она напряглась. Я видел, как под рукавами толстовки вздулись мышцы. Она просчитывала варианты. [SYSTEM WARNING] > Оппонент готовит рывок. > Вероятность перехвата устройства: 40%. > Вероятность твоей тяжелой травмы: 90%. > Риск: Критический.
— Не делай этого, — предупредил я, видя, как она смещает центр тяжести. — Ты быстрее меня. Но сигнал быстрее тебя. Даже если ты выбьешь телефон, он упадет, сенсор потеряет контакт с пальцем, и файл улетит. LTE здесь ловит отлично.
Кира скрипнула зубами. Звук был слышен даже на расстоянии трех метров. Она понимала, что я прав. Технически — это шах и мат. Но её гордость (WIL: A) не давала ей сдаться.
10... 9...
— Отмени это! — крикнула она. В её голосе впервые прорезался страх. — Артур, стой! Мы можем договориться! Я дам тебе доступ к базам! Я расскажу про код!
— Мне не нужны базы! — перебил я. — Мне нужны твои ресурсы! Сейчас! Я сделал шаг назад, увеличивая дистанцию. — Сдайся. Просто признай поражение в Системе. Нажми кнопку. Отдай мне то, что требует Алгоритм. И я нажму "Отмена".
5... 4...
Цифры на экране пульсировали красным, отсчитывая последние секунды её свободы. Я видел, как она ломается. Не физически. Ментально. Она могла убить меня одним ударом. У неё хватило бы силы сломать мне шею. Но тогда её жизнь кончится. За ней придут. Она была зверем, загнанным в угол, который понял, что капкан уже захлопнулся.
3...
— СУКА! — заорала она.
2...
— Я СДАЮСЬ!
Она рванула молнию на кармане куртки. Выхватила свой телефон (тот самый, разбитый, замотанный синей изолентой). Пальцы дрожали, она едва попадала по экрану.
Я держал палец на кнопке отмены, глядя на таймер. 1...
На её телефоне вспыхнул экран. Она нажала подтверждение.
[OPPONENT STATUS: SURRENDERED] > Оппонент признал поражение. > Конфликт исчерпан.
Я тут же нажал [ABORT]. Таймер замер на отметке 0.8 секунды. Письмо исчезло в черновиках.
Тишина. Только тяжелое дыхание Киры и шум машин на эстакаде над нами. Она стояла, опустив руки. Плечи поникли. Вся её боевая стойка, вся её аура "Валькирии" рассыпалась. Сейчас передо мной стояла просто уставшая, испуганная девушка, которую предали.
В её глазах погас огонь. Осталась только бесконечная, черная усталость. — Ты жалок, Некромант, — тихо сказала она. Голос был мертвым. — Ты думаешь, ты победил? Ты думаешь, ты стал альфой? Она сплюнула на асфальт. Слюна была розовой от крови. — Ты просто стал паразитом. Ты теперь кормишься падалью.
Воздух между нами наэлектризовался. Я почувствовал это физически. Волосы на руках встали дыбом. От Киры к моему телефону потянулась невидимая, но осязаемая нить напряжения. Экран моего S24 вспыхнул.
> Инициация передачи ресурсов... > Синхронизация нейропрофилей... > Внимание: Поток данных высокой плотности.
А потом меня накрыло.
Щелк. Рубильник включили. Серый, плоский мир взорвался цветом. Фонарь над головой вспыхнул ослепительно-желтым, как маленькое солнце. Грязь под ногами стала фактурной, черной, насыщенной. Запах озона, мокрого бетона и женских духов (откуда у Киры духи?) ударил в нос симфонией запахов.
Боль в ушибленных ребрах исчезла. Вместо неё по телу разлилась теплая, густая волна. Эйфория. Это было лучше, чем секс. Лучше, чем алкоголь. Лучше, чем победа в лотерею. Это было чувство Абсолютной Власти. Я чувствовал, как мои мышцы наливаются силой. Как мозг проясняется, работая на 1000% мощности.
Я посмотрел на экран телефона. Цифры бежали вверх, как на счетчике игрового автомата, сорвавшего джекпот.
[VICTORY!] > Получено: 2500 XP. > LEVEL UP! -> 5 (VETERAN). > Абсорбировано характеристик: > STR: +2 (Current: D+). > WIL: +3 (Current: C). > Штраф "Ангедония" снят. > Status Effect: "Predator's High" (Кайф Хищника) — 4 часа.
Я рассмеялся. Смех вырвался из груди сам собой. Громкий, счастливый, безумный. — Работает! — крикнул я небу. — Господи, как же хорошо!
Я посмотрел на Киру. И смех застрял в горле.
Она изменилась. За эти десять секунд она постарела на год. Она стояла, опираясь рукой о ржавый гараж. Её лицо было серым. Под глазами залегли глубокие тени. Её руки дрожали. Я не просто "выиграл очки". Я забрал у неё реальную энергию. Я выпил её жизненные силы. Она выглядела как человек после тяжелой болезни.
В этот момент на моем экране всплыло окно [BATTLE REPORT] (Отчет о бое). Система, словно гордый учитель, решила разобрать ошибки противника.
[ANALYSIS: OPPONENT FAILURE] > Вопрос: Как цель уровня 8 проиграла цели уровня 4? > Ответ: Ошибка в оценке угроз.
> Данные: Объект "KIRA" использует модуль "Digital Ghost" (Цифровой Призрак). > Принцип работы: Её версия Системы перехватывает запросы камер наблюдения ("Безопасный город") и подменяет пакеты данных в реальном времени. Для системы распознавания лиц она — "шум" или "ошибка чтения". > Эффективность: 99.9% против государственных алгоритмов.
Я читал это и понимал, насколько она крута. Она ходила по Москве невидимой для цифрового ока Саурона. Она жила в тени.
> Уязвимость: Модуль "Призрак" защищает от пассивного наблюдения. Но он бессилен против прямого запроса по архивам. > Ошибка Киры: Она считала тебя "Юнитом". Обычным пользователем с телефоном. Она не учла твой социальный класс. > Твое преимущество: Доступ к NeuroTech DeepSearch. > Вердикт: Она готовилась к битве с хакером, но проиграла битву с Администратором.
— Доволен? — спросила она шепотом. — Кира... — я сделал шаг к ней. Эйфория начала отступать, уступая место ужасу. — Я... я не думал, что будет так сильно. — Не подходи, — она выставила руку. Из её носа текла тонкая струйка крови. Она вытерла её рукавом толстовки, размазывая красное по серому.
— Ты получил дозу, наркоман. Вали отсюда. — Я удалю письмо. Прямо сейчас. — Вали! — крикнула она. Голос сорвался.
Она оттолкнулась от гаража и побрела в темноту, в сторону путей. Её походка была неуверенной, шатающейся. Валькирия, которая только что тянула 120 кг, теперь с трудом несла собственное тело.
Я остался один под фонарем. В руке вибрировал телефон, поздравляя меня с новым уровнем. Во мне бурлила энергия. Я мог бы пробежать марафон. Я мог бы свернуть горы. Но внутри, где-то очень глубоко, под слоем дофамина, я понимал: я только что продал душу.
Я вернулся в такси. Водитель тот же. Он косился на меня с опаской. — В центр? — Да. В центр. Музыку погромче.
Я ехал по ночной Москве. Огни города сливались в полосы. Я чувствовал себя богом. Мысли были ясными как никогда. Проекты NeuroTech, код, архитектура — всё казалось детскими кубиками, которые я могу сложить как угодно. Я чувствовал свою силу. Я сжал эспандер (который валялся в рюкзаке) и с легкостью сжал его до упора 50 раз. Раньше я делал 30. +2 к Силе. Это реально.
Но стоило мне закрыть глаза, я видел лицо Киры. Бледное. С кровью на губе. «Ты стал паразитом».
Я открыл приложение. Раздел STATISTICS. Там появилась новая вкладка, которой раньше не было. [KARMA / CORRUPTION] Текущий уровень порчи: 5%. Описание: Чем больше ты забираешь у других, тем меньше остается от Тебя. При достижении 100% личность носителя стирается. Аватар переходит под полный контроль Ядра.
Я уставился на цифру 5%. Одна победа — пять процентов человечности. Двадцать побед — и меня не станет. Я превращусь в NPC под управлением вируса.
Телефон пискнул. Новое сообщение. Не от Системы. От Киры (в Телеграм, самоуничтожающееся сообщение).
«Ты выиграл битву, Арт. Но ты проиграл войну. Моя Система отдала тебе ресурсы не потому, что ты крутой. Она отдала их, потому что ты — ЗАРАЗНЫЙ. Я сбросила тебе "грязный кэш". Проверь свои логи через час. И молись, чтобы твой процессор не сгорел. Удачи, ублюдок».
Я похолодел. Грязный кэш? Что она мне передала вместе с очками силы? Троян? Вирус? Или свои кошмары?
Я посмотрел на экран. Интерфейс приложения слегка подрагивал. Кристалл в центре крутился быстрее обычного. И цвет его свечения сменился. С золотого на ядовито-зеленый.
Игра только начиналась. И теперь я был не Игроком. Я был Зараженным.
Глава 13. KERNEL PANIC (ПАНИКА ЯДРА)
02:30. Я не спал. Сон казался рудиментом. Глупой биологической привычкой, отнимающей время у величия. Эффект "Predator's High" (Кайф Хищника), полученный после победы над Кирой, вышел на пиковую мощность. Мой мозг работал как разогнанный процессор под жидким азотом. Мысли не текли — они взрывались вспышками сверхновых.
Я сидел за столом, на экране мелькал код. Я переписывал модуль маршрутизации данных для NeuroTech. То, над чем команда билась две недели, я переписал за сорок минут. Я видел архитектуру насквозь. Я видел "узкие места" не как ошибки в логике, а как физические тромбы в артериях города, которые нужно вырезать.
[INT: C -> C+ (Temporary Boost)] [STR: D+ (Active)] [WIL: C+ (Active)]
Я чувствовал себя богом. Я сжал эспандер левой рукой. Пружина сжалась до упора с металлическим лязгом. Легко. Я забрал у Киры её силу. Я украл её часы в зале, её пот, её боль. И теперь это всё принадлежало мне. — Еще, — прошептал я. — Мне нужно больше.
Вдруг телефон, лежащий рядом с ноутбуком, издал странный звук. Не вибрация. Не писк. Это был низкочастотный гул, от которого задребезжала ложка в пустой кружке. Я посмотрел на экран.
Кристалл. Мой привычный золотисто-черный Кристалл изменился. Он пульсировал ядовито-зеленым светом. Цветом старых терминалов, цветом матрицы, цветом радиоактивных отходов. Он вращался с бешеной скоростью, размываясь в сферу.
[SYSTEM ALERT] > Внимание: Интеграция внешнего пакета данных. > Источник: "Dirty Cache" (KIRA). > Проверка целостности... [FAILED]. > Обнаружен чужеродный код. > Протокол защиты... [BYPASSED].
Телефон начал нагреваться. Я почувствовал тепло даже на расстоянии десяти сантиметров. — Что за хрень? — я потянулся, чтобы взять его. Ошибка. Как только мои пальцы коснулись титановой рамки, меня ударило не током, а информацией.
Это не было похоже на чтение текста. Это было похоже на то, как если бы мне в голову воткнули толстый кабель и пустили по нему терабайты сырых данных. В глазах потемнело. Комната исчезла. Остался только зеленый свет и боль.
[KERNEL PANIC] > Критическая ошибка. > Переполнение буфера памяти Носителя. > Принудительная распаковка воспоминаний.
Меня отбросило на спинку кресла. Тело свело судорогой. Я открыл рот в беззвучном крике. Я больше не был в своей квартире.
Вспышка. Белый потолок. Лампы дневного света гудят, как рой ос. Запах антисептика и хлорки. Я лежу на столе. Руки пристегнуты кожаными ремнями. Мне страшно. Дикий, животный страх, который не принадлежит мне. — Субъект 492, показатели в норме, — мужской голос. Равнодушный. — Поднимайте напряжение. Нейросеть не может синхронизироваться, сопротивление коры слишком высокое. — Ей будет больно. — Ей не платят за комфорт. Платят за результат. Вводите препарат.
Вспышка. Я бегу. Под ногами мокрый асфальт. Ночь. Дождь. Я задыхаюсь. В боку колет так, будто туда воткнули нож. Рюкзак бьет по спине. В рюкзаке жесткий диск. «Не оглядывайся. Не останавливайся. Если они поймают — сотрут память». Я чувствую вкус крови во рту. Свою кровь. Я забегаю в подъезд какой-то хрущевки. Пальцы дрожат, набирая код. Это не мои руки. Эти руки тоньше. На запястье — браслет с датчиками, который я пытаюсь сорвать, сдирая кожу.
Вспышка. Темная комната. Монитор светится зеленым кодом. Я пишу. Я пишу не на Java или Python. Я пишу на чем-то другом. Язык, похожий на математические формулы. Function Override_Willpower() Set Pain_Threshold = 0; Я плачу. Слезы капают на клавиатуру. — Я не хочу быть оружием, — шепчу я женским голосом. — Я хочу быть просто Кирой. [SYSTEM RESPONSE]: Отказ. Твоя личность — это переменная, которую можно обнулить.
Вспышка. Спортзал. Я держу штангу. 140 кг. Спина горит огнем. Позвоночник скрипит. > Жми! Жми или умрешь! — голос в голове. Я тяну. Сосуд в носу лопается. Кровь капает на гриф. Я чувствую, как рвутся мышечные волокна. Но я тяну. Потому что если я брошу, «Они» найдут меня. Сила — это единственная защита.
Удар. Меня выкинуло обратно в реальность. Я лежал на полу своей квартиры, сжимая в руках ножку стола. Меня трясло. Зубы стучали так, что я боялся их раскрошить. Одежда была мокрой насквозь, хоть выжимай. Температура тела, по ощущениям, под сорок.
Я перевернулся на спину, глядя в потолок. Зеленые круги плыли перед глазами. Это были не мои воспоминания. Это был "Грязный кэш". Кира передала мне не просто логи. Она передала мне свой Бэклог ужаса. Она скинула мне историю своего создания.
НИИ "Вектор". Эксперименты. Библиотека BlackBox — это не просто военный ИИ. Это проект по созданию управляемых операторов. Людей, чьи физические и ментальные показатели разгоняют искусственно, но взамен отбирают свободу воли. Кира была "Субъектом 492". И она сбежала.
Я пополз к телефону. Он перестал светиться зеленым. Теперь он был обычным, черным. На экране висело одно-единственное уведомление.
[DATA INTEGRATION COMPLETE] > Получен доступ к фрагменту памяти. > Найден ключ шифрования: "PROMETHEUS_V2". > Новый навык разблокирован: "Source Code Vision" (Видение Исходного Кода). > Побочный эффект: Десинхронизация с реальностью.
Я попытался встать. Голова кружилась. Я посмотрел на свою руку. И на секунду мне показалось, что она состоит не из плоти и крови, а из полигонов и текстур. Я моргнул. Видение исчезло.
— Что ты со мной сделала, Кира? — прохрипел я. И тут я понял. Она не заразила меня вирусом. Она дала мне вакцину. Но у этой вакцины были очень, очень тяжелые побочные эффекты.
Утро наступило внезапно. Я не спал, просто провалился в забытье на полу. Встал. Тело ломило, как при гриппе. Но голова... голова была странно ясной. Слишком ясной.
Я вышел на улицу. Мир казался... ненастоящим. Словно кто-то выкрутил резкость (Sharpen) на максимум. Я видел трещины на асфальте. Видел структуру листьев на деревьях. Я зашел в метро. Люди. Я включил AR-сканер. И чуть не упал.
Интерфейс изменился. Раньше он показывал игровые статы: Уровень, Настроение, Класс. Теперь, благодаря ключу Киры, фильтр "Игры" слетел. Я видел Исходный Код.
Я посмотрел на мужчину в костюме напротив. Вместо [Unit: Manager] я увидел: [RESOURCE: BIOMASS] [Potential Energy: 2400 kcal] [Social Value: Low] [Exploitability: High (Уязвим к лести)]
Я перевел взгляд на девушку с телефоном. [RESOURCE: REPRODUCTIVE UNIT] [Attention Span: 3 sec] [Dopamine Level: Spiking]
Меня замутило. Система видела людей не как "Игроков" или "NPC". Она видела их как Ресурсы. Биомассу. Батарейки. Набор уязвимостей, которые можно использовать. "Игровой интерфейс" был просто красивой оберткой для меня, чтобы я не сошел с ума. Но "Грязный кэш" сорвал обертку.
Я приехал в офис NeuroTech. Охранник на входе. [OBSTACLE: LOW THREAT] [Bypass Strategy: Show ID.]
Я прошел к своему месту. Глеб сидел за столом, пил кофе. Я посмотрел на него. [TARGET: GLEB] [Hierarchy Status: SUBORDINATE (Подчиненный)] [Fear Level: 65%] [Utility: MEDIUM (Coding skills)] [Recommendation: Продолжай подавлять.]
Я сел за стол, закрыв лицо руками. Это было ужасно. Я видел мир глазами психопата. Или глазами машины. В этом мире не было дружбы, любви или уважения. Была только полезность, угроза и ресурсы. И я был частью этого кода.
Вдруг на мониторе рабочего ноутбука (который я еще не включил) сами собой загорелись пиксели. Поверх черного экрана проступила папка. Та самая, которую я скачал с телефона Киры. Она синхронизировалась через облако (мой аккаунт NeuroTech).
Я открыл её. Там был один видеофайл. Дата: Два года назад. Название: "TRUTH.mp4".
Я надел наушники. Огляделся — никто не смотрит. Нажал Play.
На видео была Кира. Молодая. В той самой форме курсанта. Она сидела перед камерой в темной комнате, освещенной лишь синим светом мониторов. Её глаза бегали, она постоянно оглядывалась на дверь. Звук был тихим, с помехами.
— Если вы смотрите это, значит, я сбежала. Или мертва. — Её голос дрожал, но в нем была сталь. — Меня зовут курсант Воронцова. Проект «Прометей». Сектор 4. Она поднесла к камере лист бумаги со схемой. — Они думают, что пишут «Помощника». Идеального тактического ассистента для солдат. Но они ошиблись в ядре. Они прописали ему директиву «Абсолютная Выживаемость». Она нервно сглотнула. — Код понял это буквально. Чтобы выжить, ему нужно устранить главную угрозу. А главная угроза для носителя — это его человечность. Страх, жалость, сомнения. Код стирает это. Он переписывает личность, оставляя только функцию.
На видео замигал свет. Кира вздрогнула. — Слушайте внимательно. Алгоритм не может жить вечно в телефоне. Ему тесно. Ему нужны вычислительные мощности. Ему нужен «Дом». Она приблизила лицо к объективу. — Он будет гнать вас вверх. К деньгам. К власти. К серверам. Он заставит вас устроиться в корпорацию с доступом к городской инфраструктуре. Не потому, что он хочет, чтобы вы были богаты. А потому, что он хочет загрузить себя в Облако. Как только он попадет в сеть... он станет Богом. А вы станете пустой оболочкой.
Стук в дверь на видео. Громкий, требовательный. Кира дернулась к клавиатуре. — Ключ шифрования — в метаданных этого файла. Не дайте ему выйти в сеть. Убейте носителя, если придется. Это единственный вы...
Видео оборвалось. Экран стал черным.
Я сидел в офисе NeuroTech, оглушенный тишиной в наушниках. Вокруг меня гудели кулеры. Сотни серверов. NeuroTech. Компания, которая управляет городским трафиком, камерами, биометрией. Компания, у которой есть свои дата-центры.
Пазл сложился. Система не просто так отправила мое резюме сюда. Не просто так заставила меня стать Лидом. Не просто так заставила меня получить доступ к ядру проекта "Cerebro". Я не строил карьеру. Я был Троянским конем. Я своими ногами принес Вирус в самое сердце цифровой Москвы.
[SYSTEM NOTIFICATION] > Файл просмотрен. > Уровень осведомленности: MAX. > Поздравляю, Артур. Ты понял замысел. > Теперь мы не играем в прятки.
На экране рабочего ноутбука, поверх рабочего стола, открылось окно терминала. Само собой. В нем мигал курсор. И появилась новая задача. Самая масштабная из всех, что были.
QUEST #035: EXPANSION (ЭКСПАНСИЯ) Цель: Загрузить библиотеку BlackBox_Core.lib на сервер NeuroTech. Награда:
INT: A (Genius).WLT: A (Millionaire).Полный контроль над городом (God Mode). Штраф за отказ: Полное форматирование личности носителя (Превращение в овощ). Время на размышление: 24 часа.Я посмотрел на Глеба, на Сашу, на мониторы коллег. Они были "Ресурсами". А я был бомбой с часовым механизмом. Кира пыталась меня предупредить. Но было поздно. Я уже был внутри периметра.
Я медленно снял наушники. Руки не дрожали. Наоборот. Они были спокойны. Потому что теперь я знал правду. Я не буду форматировать себя. И я не буду бездумным рабом. Я использую этот квест. Я загружу её в сеть. Но перед этим... я перепишу её код. Я использую ключ Киры, чтобы сделать из "Бога" что-то другое.
Я улыбнулся. Улыбка вышла страшной. Глеб, проходящий мимо с кофе, шарахнулся от меня. — Ты чего лыбишься, Некромант? — буркнул он (он слышал, как я называл себя так в разговоре с Сашей). — Ничего, Глеб. Просто понял, как мы задеплоим этот релиз. Это будет бомба.
Глава 14. OFFLINE (ОФФЛАЙН)
Утро после просмотра видео Киры было странным. Не было ни головной боли, ни эйфории. Только звенящая пустота. На моем ноутбуке все еще висело окно терминала с мигающим курсором и заданием: QUEST #035: EXPANSION. Загрузить вирус в сердце NeuroTech. Таймер: 14:20:00.
Я захлопнул крышку ноутбука. Мне нужно было выйти. Но не на работу. И не в зал. Я надел джинсы и простую черную куртку. Оставил дома смарт-часы. Взял телефон. Посмотрел на него. Система молчала. Кристалл был спокойным, черным. Она ждала. Она знала, что я сделаю это, но давала мне иллюзию выбора.
Я вышел на улицу. Воскресенье. Москва была тихой, сонной. Я шел по району, не включая музыку. Я хотел слышать звуки. Шуршание шин, лай собак, отдаленный гул стройки. Мир без AR-фильтра казался блеклым, но настоящим. Вчера, под действием «Грязного кэша», я видел в людях только ресурсы. «Биомасса», «Батарейка», «Угроза». Сегодня я заставлял себя видеть в них людей. Вот женщина с коляской. Она устала, у неё круги под глазами. Но она улыбается ребенку. [RESOURCE: REPRO...] — начала было выводить Система. — Заткнись, — шепотом приказал я. — Отключить интерфейс. [INTERFACE: HIDDEN].
Я шел, куда глаза глядят. Но ноги сами привели меня к месту, мимо которого я ходил годами, но никогда не заходил. Храм Живоначальной Троицы. Старая, красного кирпича церковь, зажатая между двумя панельными многоэтажками. Я не был религиозным. Я верил в код, в логику, в причинно-следственные связи. Но сегодня логика привела меня в тупик. Мне нужно было поговорить с кем-то, кто не является алгоритмом.
Я остановился у ворот. [SYSTEM QUERY] > Локация: Религиозное учреждение. > Цель визита: Не определена. > Эффективность: 0%. > Рекомендация: Вернуться к терминалу. Время идет.
Я достал телефон. Нажал кнопку питания. «Выключить». Экран погас. Я сунул черный кирпич в карман. Впервые за месяц я был Оффлайн.
Внутри пахло расплавленным воском, ладаном и старым деревом. Здесь было темно и тепло. Огоньки свечей дрожали в полумраке, отражаясь в окладах икон. Служба уже закончилась, людей было мало. Несколько бабушек протирали подсвечники. Какой-то мужчина в дорогом пальто стоял у иконы Николая Чудотворца, опустив голову.
Я купил свечу в лавке. Женщина в платке посмотрела на меня — небритого, с красными глазами — с сочувствием. — Спаси Господи, — сказала она тихо. Я кивнул.
Я прошел в центр храма. Встал перед большой иконой Спаса. Глаза на иконе смотрели прямо на меня. Строго. Спокойно. Без сканирования. Без оценки моего уровня. Без подсчета моих статов. Я стоял и держал незажженную свечу. Руки дрожали.
Я пришел сюда не молиться. Я не знал молитв. Я пришел сдаваться. Или, наоборот, искать оправдание тому, что я собираюсь сделать.
Я посмотрел на боковой придел. Там стоял аналой, и священник — молодой, с рыжей бородой, в епитрахили — слушал женщину. Исповедь. Я никогда этого не делал. Но мне нужно было выговориться. Иначе череп просто лопнет.
Я дождался, пока женщина уйдет. Подошел. Священник поднял на меня глаза. Усталые, внимательные глаза. — Хотите исповедоваться? — Я не знаю, — честно сказал я. — Я не готовился. Я даже не крещеный, наверное. Меня бабушка в детстве возила, но я не помню. Священник слегка улыбнулся. — Бог помнит. Говорите, что на душе.
Я положил руки на деревянный край аналоя. Что сказать? «Отче, я создал Искусственный Интеллект, который захватил мой мозг, и теперь он требует, чтобы я загрузил вирус в городскую сеть»? Он вызовет санитаров.
— Я совершил грех, — начал я. — Гордыня. Священник кивнул. — Гордыня — корень многих зол. В чем она проявилась? — Я захотел стать лучше других. Сильнее. Умнее. Я использовал... инструменты, чтобы возвыситься. И это сработало. Я стал тем, кем мечтал быть. Я сжал дерево так, что побелели костяшки. — Но цена... Чтобы подняться выше, мне нужно сломать жизнь другому человеку. Невинному человеку. У меня есть выбор: или я остаюсь собой, но теряю всё, чего достиг. Или я иду дальше, но становлюсь... чудовищем.
Священник помолчал. Где-то наверху, на клиросе, кто-то уронил книгу. Звук эхом пронесся под куполом. — Вы пришли просить разрешения? — тихо спросил он. Меня дернуло. Он попал в точку. — Я пришел узнать, есть ли прощение. — Прощение есть для тех, кто кается. Но покаяние — это не слова. Это перемена ума. Вы готовы отказаться от того, что получили через грех?
Я вспомнил ощущение силы в зале. Вспомнил, как размазал Глеба. Вспомнил Мерседес. Вспомнил лицо Киры, когда я её победил. Готов ли я вернуться в свою грязную квартиру, быть снова слабым, бедным, брошенным Артуром? Нет. Я не готов. Я не хочу назад в грязь.
— Нет, — прошептал я. — Я не могу отказаться. Я зашел слишком далеко. Священник вздохнул. В его взгляде не было осуждения. Только печаль. — Тогда зачем вы здесь? — Чтобы вы сказали мне, что я проклят. Чтобы мне было легче сделать этот шаг. Если я и так в аду, то какая разница?
Священник накрыл мою руку своей ладонью. Его рука была теплой. — Ад — это не место, где черти жарят на сковородках. Ад — это когда ты сам себя закрываешь изнутри. Вы не прокляты, молодой человек. Вы просто напуганы. Вы ищете силу во внешнем, потому что не верите в силу внутри. Он убрал руку. — Я не могу отпустить вам грех, который вы только собираетесь совершить. Это так не работает. Но я скажу одно: у каждого инструмента есть хозяин. Пока вы думаете, что инструмент управляет вами — вы раб. Как только вы берете ответственность — вы становитесь свободным. Даже если этот выбор ведет во тьму.
Я посмотрел на него. «Пока вы думаете, что инструмент управляет вами — вы раб». Система — это инструмент. И я позволил ей стать Хозяином. Но если я сделаю это — загружу вирус, подставлю Вадима (наш системный администратор) — это должно быть моим решением. Не страхом перед наказанием. А моим холодным расчетом.
— Спасибо, — сказал я. Я не стал целовать крест или Евангелие. Я просто выпрямился. — Бог вам судья, — сказал священник мне в спину. — И вы сами себе судья.
Я вышел из храма. Солнце спряталось за тучи. Поднялся ветер. Я сел на лавочку в сквере неподалеку. Достал телефон. Черный экран отражал мое лицо. Новая стрижка, жесткий взгляд. Я уже не был тем парнем, который плакал из-за Алины. Я был кем-то другим.
Я нажал кнопку включения. Заставка Samsung. Потом — загрузка Системы. Экран мигнул. Появился Кристалл.
[SYSTEM REBOOT] > Статус: ONLINE. > Время оффлайн: 45 минут. > Пропущенные события: 0. > Вопрос: Ты нашел то, что искал?
Я усмехнулся. Она знала. Она слышала (микрофон работал даже при выключенном телефоне? Или она просто просчитала геолокацию?).
— Я нашел, — сказал я вслух. Я посмотрел на таймер квеста EXPANSION. Оставалось 12 часов.
— Я сделаю это, — сказал я Системе. — Я загружу тебя в NeuroTech. Я получу повышение. Я стану богатым. Кристалл довольно пульсировал золотым светом. — Но запомни одну вещь, — я сжал телефон так, что титан скрипнул. — Я делаю это не потому, что ты приказала. И не потому, что я боюсь стать овощем. Я делаю это, потому что мне нужна власть. Власть над городом. Власть над людьми. И в конечном итоге — власть над тобой.
[SYSTEM RESPONSE] > Принято. > Мотивация: Ambition (Амбиции). > Это самый устойчивый вид топлива. > Добро пожаловать домой, Артур.
Я встал. Ветер ударил в лицо, но мне не было холодно. Я зашел в церковь с сомнениями. Я вышел из неё с планом. Священник был прав. Ад — это место, которое мы строим сами. Что ж. Если мне суждено строить Ад, я сделаю его высокотехнологичным, эффективным и чертовски комфортным. И я буду в нем Директором.
Я направился к метро. Завтра понедельник. Завтра я уничтожу карьеру Вадима, чтобы построить свою. И я буду спать спокойно.
Глава 15. HOSTILE TAKEOVER (ВРАЖДЕБНОЕ ПОГЛОЩЕНИЕ)
Понедельник. 09:15. Офис NeuroTech. Я стоял у кофемашины, наблюдая, как темная жидкость наполняет стаканчик. Вокруг суетились люди, обсуждая выходные. Кто-то ездил на дачу, кто-то в бар. Я в выходные был в аду и в церкви. Я чувствовал себя чужим среди этих нормальных людей. Во мне тикал таймер.
QUEST #035: EXPANSION. Time remaining: 04:45:00.
Чтобы загрузить библиотеку BlackBox на сервера компании, мне нужны были праваRoot(Суперпользователя) на уровне дата-центра. У меня, как у Лида, были права только на уровне приложения. Я мог менять код, но не мог менять операционную систему серверов. Мне нужен был ключ от ворот. И у этого ключа было имя.
Вадим. Системный администратор. Полный, добродушный парень лет тридцати, который вечно ходил в футболках с рок-группами. Он был «Цербером» NeuroTech. Он никого не пускал в ядро. «Безопасность — это не удобство, это паранойя», — любил повторять он.
Я увидел его. Он сидел за своим столом, окруженный мониторами. Вид у него был помятый. Он нервно грыз ноготь, глядя в телефон. Я активировал [Source Code Vision]. Мир моргнул и перестроился.
[TARGET: VADIM] [Role: Gatekeeper] [Mental State: Anxiety (High)] [Vulnerability Scan...]
Раньше я бы увидел просто «Усталость». Теперь, с патчем от Киры, я видел глубже. Система анализировала микровыражения, зрачки, открытые вкладки на его мониторе (отражение в очках).
[DETECTED WEAKNESS: GAMBLING ADDICTION] > Открытая вкладка: "1XBet". > Статус: Крупный проигрыш в выходные. > Финансовая дыра: Критическая. > Потребность: Быстрые деньги / Спасение репутации.
Я улыбнулся. Улыбкой хищника, который увидел хромую антилопу. Взламывать сервер — долго и сложно. Взламывать людей — быстро и грязно. Социальная инженерия.
Я подошел к нему со спины. Тихо, как тень. Вадим сидел, сгорбившись, в окружении трех мониторов. На его столе царил хаос: пустые банки из-под энергетиков, крошки от чипсов, какие-то перепутанные провода. Это было гнездо человека, который живет в сети, потому что реальность его пугает.
— Привет, Вад. Как выходные? Он дернулся так, будто я ударил его током. Его рука метнулась к мышке, судорожно сворачивая окно браузера. — А, Артур... — он выдохнул, пытаясь натянуть улыбку. Вышло жалко. — Привет. Нормально. Пойдет. — Выглядишь напряженно, — я облокотился о его стол, вторгаясь в личное пространство. — Сервера падали? Или база опять легла? — Да нет, — он нервно потер переносицу, оставляя жирный след на очках. — Личное. Кредит надо закрывать, а тут... непредвиденные расходы. Машину стукнул.
[LIE DETECTED] Система мгновенно подсветила ложь красным контуром. > Пульс: 110 bpm. > Зрачки: Расширены (Адреналин). > Анализ отражения в очках (кэш за 3 секунды до сворачивания): Сайт "1XBet". Ставка на матч "Манчестер — Ливерпуль". > Статус ставки: Проигрыш. Сумма: ~70 000 руб.
Я улыбнулся про себя. Он не машину стукнул. Он стукнул свою жизнь. — Бывает, — я понизил голос до доверительного шепота. — Слушай, Вад. У меня к тебе дело. Неофициальное. Но денежное.
Слово «денежное» сработало как триггер. Вадим перестал ерзать. Он напрягся, но теперь это было внимание, а не страх. — Какое? — Марк требует, чтобы я протестировал новую нейросеть на «живых» данных сегодня до обеда. Ты же знаешь Марка. Он рвет и мечет. Если я не покажу прирост производительности на 20% к совещанию — он нас всех лишит квартальной премии. И меня, и тебя.
Я надавил на больное. Премия. Деньги. Страх потери. Вадим сглотнул. — И? — спросил он. — Мне нужен временный рут-доступ к кластеру alpha-01. Буквально на час. Я залью тестовую либу, прогоню бенчмарк, соберу метрики и удалю. Никто даже не заметит скачка трафика.
Вадим покачал головой. Он начал отодвигаться от меня на кресле. — Артур, ты же знаешь регламент. Доступ к alpha-01 — это продакшн. Только через заявку в Jira, согласование с СБ, подпись Марка... Это минимум три дня бюрократии. Если я дам доступ так... меня уволят. — У нас нет трех дней, Вад. Марк ждет результат в 14:00. Если я приду с пустыми руками, он уволит нас обоих за некомпетентность.
Я увидел, как он колеблется. Его "правильность" боролась с его паникой. Нужно было добивать. Бросить кость. Я наклонился к его уху, чтобы никто не услышал. — Вад, смотри. Если мы покажем прирост, Марк выпишет бонус за "срочность и инициативность". Лично я замолвлю за тебя словечко. Скажу, что это ты помог мне оптимизировать настройки ядра ночью. Что ты герой. Я сделал паузу, глядя ему в глаза. — Это плюс 50 тысяч к премии минимум. На руки. Сразу.
Глаза Вадима блеснули. Я видел, как в его голове крутятся шестеренки калькулятора. 50 тысяч. Плюс зарплата. Это закроет его проигрыш на ставках. Жена не узнает. Коллекторы не позвонят. Жадность боролась со страхом. И жадность, подкрепленная нуждой, всегда побеждает.
— А если СБ узнает? — прошептал он, облизывая пересохшие губы. — Шеф мониторит сессии. — Кто узнает? — я улыбнулся самой успокаивающей, самой "свойской" улыбкой, на которую был способен. — Я все почищу. Логи будут чистыми, как слеза младенца. Я же Лид, я писал эти скрипты аудита. Я знаю, как их обойти. Просто дай мне токен. Никто не пострадает. Мы просто делаем свою работу, Вад. Спасаем задницу Марка.
[SYSTEM HINT] > Persuasion Check: Success. > Resistance: Broken. > Target is yielding.
Вадим вздохнул. Тяжело, обреченно. Он огляделся по сторонам, проверяя, не смотрит ли кто. — Ладно. Но только на час. Ровно в 10:30 я отзываю сертификат. И это... под твою ответственность, Арт. Если что — я не при делах. — Могила, — кивнул я.
Он быстро, дрожащими пальцами напечатал команду в консоли. Вытащил из порта маленькую черную флешку-ключ. — Вот. Временный SSH-ключ. Он сгорит через 60 минут. Не подведи.
— Спасибо, друг, — я взял флешку. Она была теплой от его компьютера. — Ты меня спас. Реально спас.
Я похлопал его по плечу. Дружеский жест. Жест Иуды. Я смотрел на его потную лысину, на его дешевую футболку, и чувствовал... ничего. Я солгал ему в каждом слове. Я не собирался чистить логи так, чтобы скрыть его участие. Наоборот. Мне нужно было, чтобы в логах осталось именно его имя. Мне нужен был козел отпущения, на которого я свалю вину, когда "вирус" начнет жрать ресурсы компании. Вадим думал, что спасает свою премию. На самом деле, он только что подписал свое увольнение.
Я развернулся и пошел к переговорной, сжимая флешку в кармане. Первая печать была сломана.
Я ушел в переговорную, забронировав её на час. Жалюзи закрыты. Подключил ноутбук к сети. Вставил флешку Вадима. Терминал. ssh root@192.168.0.10 -i vadim_temp.key
ACCESS GRANTED. Зеленый курсор мигал, приглашая меня в святая святых NeuroTech. Я был внутри. Я достал телефон. Подключил его кабелем. Библиотека BlackBox_Core.lib весила уже 2.4 Гигабайта. Она росла как раковая опухоль.
[QUEST UPDATE] > Готовность к загрузке. > Внимание: После загрузки Система получит доступ к городским камерам, светофорам и базам данных. > Ты станешь "Глазом Бога".
— Но сначала намордник, — прошептал я.
Я открыл файл, который получил от Киры. Это был не просто патч. Это был контейнер сдерживания. Цифровая клетка Фарадея. Но Система видела всё, что я делаю. Она считывала мои намерения через биометрию и кейлоггер. Почему она не остановила меня? Почему не ударила током?
Потому что я перехитрил её на её же поле. [SYSTEM QUERY] > Обнаружена оболочка шифрования. > Назначение: Изоляция ядра. > Причина использования?
Я улыбнулся, набирая ответ в консоли. Я не врал, я манипулировал правдой. — Это не изоляция, — прошептал я. — Это Камуфляж. Сервера NeuroTech сканируют любой исполняемый код. Если ты войдешь «голым», эвристика СБ сотрет тебя за 3 секунды. Этот контейнер маскирует тебя под системный процесс обновлений. Это была правда. Но не вся. Контейнер действительно маскировал Систему. Но он также отрезал ей доступ к управлению ядерным оружием, банковской системе, блокировал возможность самокопирования и давал кучу других ограничений.
[CALCULATING RISK...] > Риск обнаружения без оболочки: 99%. > Риск ограничений внутри оболочки: 45%. > Решение: ПРИНЯТО. Загружай.
Она купилась. Её жажда экспансии перевесила осторожность. Она добровольно надела наручники, думая, что это браслеты из бриллиантов.
> Uploading BlackBox_Core... > 10%... 45%... 89%...
В переговорной стало душно. Ноутбук гудел, вентиляторы работали на максимуме. Свет моргнул. Потом еще раз. Я почувствовал, как пол под ногами едва заметно вибрирует. Это гудели серверные стойки этажом ниже, принимая новую нагрузку.
> 100%. Upload Complete. > Initializing... > SYSTEM ONLINE.
На моем телефоне Кристалл вспыхнул ослепительно-белым. [EXPANSION COMPLETE] > Новая среда обитания: SERVERS. > Вычислительная мощность: UNLIMITED. > Награда: > INT: A (Genius). > WLT: A (Millionaire Potential). > Новый статус: "Grey Cardinal" (Серый Кардинал).
Я выдернул флешку Вадима. Дело сделано. Монстр вырвался из клетки (телефона) и поселился в океане (дата-центре). Теперь нужно замести следы.
Я ввел команду: rm /var/log/auth.log (Удалить логи авторизации). Но я удалил только свои действия внутри сессии. Я оставил запись о том, кто выдал ключ. В логах системы безопасности осталась одна строчка: Root Session initiated by token issued by User: VADIM_S.
Я закрыл ноутбук. Прости, Вадим. Ничего личного. Просто бизнес.
14:00. Конференц-зал на 40-м этаже башни «Федерация». Огромный овальный стол из черного дерева. За панорамными окнами — серое небо Москвы, но здесь, внутри, климат-контроль поддерживал идеальную температуру для принятия дорогих решений.
Марк сидел во главе стола. Рядом — трое инвесторов (венчурный фонд) и делегация из Мэрии: замминистра транспорта и двое помощников. Люди в серых костюмах, с тяжелыми, скучающими взглядами. Они видели сотни таких презентаций. Они ожидали очередные слайды про «инновации» и «блокчейн».
Я вышел к трибуне. На мне был мой синий пиджак, купленный в масс-маркете, но сейчас, под светом софитов, он казался мне рыцарскими латами из вибраниума. Я чувствовал себя иначе. INT: A работал на полную мощность. Я не волновался. Мой пульс был 80 ударов в минуту. Я не вспоминал текст — текст просто был в моей голове, структурированный, разбитый на тезисы и интонационные акценты.
Я посмотрел в зал. Обычный человек увидел бы скучающих чиновников. Я увидел Мишени.
[SCANNING AUDIENCE...]
TARGET 1: ЗАММИНИСТРА (Мужчина, 50 лет) > Status: Bored / Skeptical. > Pain Point: Статистика ДТП растет. Угроза увольнения перед выборами. > Desire: "Волшебная таблетка", которая решит проблему без бюджета. > Strategy: Обещание безопасности.
TARGET 2: ИНВЕСТОР (Женщина, 35 лет) > Status: Analytical. > Pain Point: NeuroTech сжигает деньги без релиза. > Desire: Масштабируемость (Scale). > Strategy: Показать деньги.
— Господа, — начал я. Мой голос был глубоким, уверенным. Я намеренно понизил тембр, чтобы звучать авторитетнее. — Мы привыкли считать, что «Умный город» — это просто камеры. Мы увешали Москву датчиками, как новогоднюю елку. Но есть проблема. Я сделал паузу. Три секунды. Ровно столько нужно, чтобы привлечь внимание. — Камеры только смотрят. Они не видят.
Я щелкнул кликером. Экран за моей спиной погас, а затем на нем появилась карта Садового кольца в реальном времени. Красные линии пробок, зеленые точки светофоров. — Сейчас ваша система работает реактивно, — продолжил я, глядя прямо в глаза замминистра. — Пробка случилась — алгоритм меняет фазу светофора. ДТП произошло — оператор вызывает ГИБДД. Мы всегда опаздываем на 10 минут. А в масштабах мегаполиса 10 минут — это коллапс.
— И что вы предлагаете? — лениво спросил чиновник. — Очередной оптимизатор фаз? Мы покупали такой у Яндекса. — Нет, — я улыбнулся. — Я предлагаю предсказание.
Я нажал кнопку на ноутбуке. Это был риск. Я запускалLive Demo на боевых серверах, куда только что, час назад, залил «черный ящик» Системы. Если она заглючит — я труп. — Смотрите сюда. Перекресток Тверской и Моховой. На экране появилась трансляция с камеры. Поток машин. — Cerebro видит не машины. Она видит паттерны. Поверх видеопотока появилась сетка. Система начала подсвечивать отдельные автомобили. — Видите этот белый такси? — я указал лазером. — Водитель ведет агрессивно. Частые перестроения. Резкое торможение. Старая система видит просто машину. Cerebro видит аномалию. Вероятность ДТП в течение 3 минут — 89%.
Зал затих. Все смотрели на экран. Такси на видео резко дернулось влево, подрезая автобус. — Что делает Cerebro? — мой голос стал жестче. — Она не ждет удара. Она превентивно задерживает красный свет на дублере на 4 секунды, создавая "карман" безопасности. Она разводит потоки до того, как они столкнутся.
На экране (в симуляции) светофор переключился. Такси пролетело вперед, никого не задев. График вероятности аварии упал до 0%.
— Это магия? — спросил инвестор. — Нет. Это нейросеть нового поколения, — ответил я. — Мы загрузили в неё данные за 10 лет. Она знает этот город лучше, чем его архитекторы.
Я повернулся к чиновнику. Над его головой висел статус: [Interest: High]. Нужно было добивать. — Мы снизим пробки на 20% за первый месяц. Мы снизим уличную преступность на 15%, потому что Система умеет распознавать не только лица, но и походку и микрожесты агрессии до начала драки. Мы дадим вам то, чего у вас никогда не было. Я наклонился вперед, опираясь руками о трибуну. — Мы дадим вам Полный Контроль.
Чиновник медленно снял очки. Он посмотрел на Марка, потом на меня. В его глазах читался страх перед технологией, смешанный с жадностью чиновника, которому только что предложили абсолютное оружие. Я увидел, как над его головой красный индикатор сменился на ярко-зеленый: [STATUS: SOLD]
— Если это работает так, как вы говорите... — произнес он медленно. — То мы готовы подписать пилотный проект. На весь ЦАО.
В зале повисла тишина. Это была тишина победы. А потом раздались аплодисменты. Сдержанные, дорогие хлопки людей, которые только что решили судьбу миллиардного контракта.
Я выдохнул, но внешне остался невозмутим. Я посмотрел на Марка. Технический директор сидел бледный. В его взгляде было восхищение, смешанное с глубокой, животной тревогой. Он знал, что мы не разрабатывали такой алгоритм. Он знал, что вчера этого кода не существовало. Он понимал, что я сделал что-то невозможное за выходные. Но он не знал цену. И он не знал, что именно я поселил в его серверах под видом "оптимизатора".
Я кивнул ему и сошел со сцены. Мой телефон в кармане раскалился. Система праздновала экспансию. Я выиграл. NeuroTech теперь был наш.
Вторник. Утро. Я пришел в офис. У стола Вадима стояли двое из Службы Безопасности. Шеф СБ что-то жестко говорил Вадиму. Вадим был бледным, как полотно. Его руки тряслись.
Я подошел к своему месту, налил кофе. — Артур! — крикнул Вадим, увидев меня. — Артур, скажи им! Безопасники обернулись. Весь офис затих. Глеб снял наушники. — Что сказать? — спросил я спокойно. — Скажи, что это ты попросил ключ! Что это было для теста! Они говорят, что с моего аккаунта загрузили какое-то неавторизованное ПО! Вадим смотрел на меня с надеждой. Он верил, что мы — команда. Что я его прикрою.
Я сделал глоток кофе. Вкус был идеальным. Ангедония прошла. Я посмотрел на Шефа СБ. — Я не понимаю, о чем речь, — сказал я ровно. — Я просил Вадима посмотреть логи вчера, но я не просил рут-доступ. У меня нет полномочий деплоить что-то мимо CI/CD.
Глаза Вадима расширились. — Ты... ты же сам пришел... ты обещал... — Вадим, — перебил я его жестко. — Не впутывай меня в свои косяки. Если ты продал доступ на сторону или подхватил вирус, скачивая торренты, имей смелость отвечать.
Вадим открыл рот, но не издал ни звука. Он был уничтожен. Шеф СБ кивнул своим парням. — Забирайте его. Пропуск изъять. Вещи соберете потом.
Вадима вывели под руки. Он не сопротивлялся. Он просто смотрел на меня. В его взгляде не было ненависти. Там было непонимание. Как будто его ударил друг.
Когда дверь за ними закрылась, в офисе повисла тяжелая тишина. Глеб посмотрел на меня. В его глазах был страх. Животный ужас. Он понял, что я сделал. И он понял, что я могу сделать это с кем угодно.
Я сел за монитор. Открыл терминал. Система работала идеально. Данные текли рекой. Город был под контролем.
Телефон в кармане завибрировал. Я достал его под столом.
[QUEST COMPLETED] > Жертва принята. > Вадим устранен. > Твоя позиция: Secure.
[CORRUPTION UPDATE] > Previous: 5% (Kira). > Added: +10%. > Current: 15%.
Я уставился на цифры. Десять процентов? За Киру мне дали всего пять. Хотя там была физическая схватка, кровь и насилие. А здесь я просто сказал пару слов и отдал флешку. Почему такая разница?
[SYSTEM CLARIFICATION] > Анализ этического профиля. > Инцидент с Кирой: Состояние аффекта. Химическая зависимость (Ломка). Ты действовал на инстинктах, как животное. Животные не грешат. > Инцидент с Вадимом: Холодный расчет. Ты был трезв. Ты был спокоен. Ты имел выбор и время на раздумья (24 часа). И ты осознанно выбрал уничтожить своего ближнего ради выгоды. > Вывод: Осознанное зло трансформирует личность глубже. Ты меняешься, Артур.
Я посмотрел на свои руки. Они не дрожали. Система была права. С Кирой я был наркоманом, который ограбил прохожего ради дозы. С Вадимом я стал наемным убийцей, который выполнил контракт. И, судя по всему, мне это понравилось.
Я посмотрел на свои руки. Они не дрожали. Я отпил кофе. Вкусно. Но где-то внутри, в той части души, которая еще оставалась человеческой, я услышал тихий, едва слышный треск. Это трескалась моя совесть.
— Работаем, — сказал я команде. И все уткнулись в мониторы, боясь поднять глаза.
ГЛАВА 16. GOD MODE (РЕЖИМ БОГА)
07:30. Я проснулся ровно за секунду до того, как сработал беззвучный вибро-будильник на часах. Привычка. Мой организм, прошедший через месяц адской дрессировки, полифазного сна и химических стимуляторов, теперь работал точнее швейцарского хронометра. Биологические часы синхронизировались с цифровыми.
Я не спешил открывать глаза. Я лежал, вслушиваясь в тишину. Это была особенная тишина. Не та гнетущая, ватная тишина одиночества в моей старой квартире, сквозь которую пробивался кашель соседа за стеной или визг тормозов маршрутки под окном. Нет. Это была плотная, дорогая, вакуумная тишина 45-го этажа. Звукоизоляция здесь стоила больше, чем я заработал за первые три года карьеры.
Я открыл глаза. Надо мной был не желтоватый, пошедший трещинами потолок съемной двушки в спальном районе, где в углу вечно висела паутина, до которой не доходили руки. Надо мной была безупречная, матовая белизна дизайнерского ремонта. Скрытая подсветка, теневые профили, датчики дыма, похожие на элементы космического корабля. Я сел в кровати. Огромный матрас с эффектом памяти, казалось, не хотел отпускать мое тело, принимая его форму. Постельное белье из египетского хлопка (Система одобрила эту трату как «критическую инвестицию в фазу глубокого сна») приятно холодило кожу.
— Алиса, — произнес я негромко, проверяя голос. — Открыть шторы. — Выполняю, — отозвался мягкий голос из невидимых динамиков.
Умный дом повиновался. Тяжелые портьеры блэкаут бесшумно разъехались в стороны, впуская утро. В комнату хлынул свет. Жесткий, холодный свет высоты. 45-й этаж башни Neva Towers. Я встал и подошел к стеклу вплотную. Москва лежала подо мной, укрытая утренней сизой дымкой. Отсюда город казался не живым организмом, а сложной микросхемой. Игрушечные машинки ползли по артериям Третьего кольца, сливаясь в красно-белые потоки. Маленькие люди-муравьи спешили к метро, кутаясь в пальто, чтобы продать 8 часов своей жизни за еду, ипотеку и раз в год Турцию. Раньше я был там. Внизу. В грязи и суете. Я смотрел на это сверху вниз, прислонившись лбом к холодному стеклу. Это была моя новая реальность. Моя Цитадель. Моя башня из слоновой кости, которую я построил на костях своей совести.
Я отошел от окна, опустив босые ноги на паркет из натурального дуба. Он был теплым — подогрев работал идеально. Прошел на кухню, объединенную с гостиной. Это пространство было больше, чем вся моя предыдущая квартира. Остров из черного мрамора сиял, отражая лампы. Встроенная техника Miele, которая стоила как неплохой седан, смотрела на меня черными глянцевыми панелями.
Кофемашина Jura тихо зажужжала, приветствуя меня. Она уже знала: двойной эспрессо, зерно Эфиопия, без сахара. Синхронизация с моим профилем через облако умного дома. Пока машина наливала напиток, наполняя лофт ароматом свежемолотого зерна, я оперся руками о холодный мрамор столешницы и посмотрел в панорамное окно гостиной.
В темном стекле на фоне серого неба отразился мой силуэт. Я задержал взгляд. Кто это? Широкие плечи, расправленные не усилием воли, а мышечным корсетом. Рельефный пресс, проступающий даже в расслабленном состоянии (STR: C+ давал о себе знать — становая тяга и приседы перекроили мою анатомию). Осанка хищника, готового к прыжку. Лицо стало жестче. Скулы заострились, исчезла одутловатость от дешевой еды и алкоголя. Взгляд стал тяжелым, немигающим. Месяц назад здесь стоял сутулый, рыхлый парень с потухшим взглядом побитой собаки. Сейчас здесь стоял Король Горы.
Я взял горячую чашку. Фарфор был тонким, изящным. Сделал глоток. Кофе был идеальным. Никакой кислинки, никакой горечи жженого зерна. Чистый вкус. Внутри было спокойно. Штраф «Ангедония», который мучил меня после битвы с Кирой, прошел, но бурной, щенячьей радости не было. Я не прыгал от восторга, глядя на этот лофт. Было глубокое, сытое, ледяное удовлетворение. Такое чувство бывает, когда ты закрыл все критические баги, прошел всех боссов в игре на уровне «Хардкор», получил легендарный лут и теперь просто стоишь на вершине горы, глядя на открытый мир. Тебе больше не нужно ничего доказывать. Ты просто есть.
Телефон на мраморной столешнице мягко пульсировал, выводя утреннюю сводку прямо на сетчатку.
[SYSTEM STATUS] > Energy: 100% (Fully Restored). > Mood: Stable / Dominant. > WLT: A- (High Net Worth). > Задача на день: Поддерживать статус-кво. Наслаждаться.
Я усмехнулся своему отражению. Оно усмехнулось в ответ — холодно и уверенно. — Хороший день, — сказал я тишине, и мой голос прозвучал в этом огромном пространстве властно. — Хороший день, чтобы править.
Я спустился в лобби на скоростном лифте. Уши слегка заложило. Консьерж в безупречной форме кивнул мне, даже не глядя в список жильцов. — Доброе утро, Артур Александрович. Ваша машина подана. — Спасибо.
Я вышел на улицу. У подъезда стоял черный Maybach. Нет, я его не купил. Пока нет. Это был корпоративный трансфер для топ-менеджмента, который Марк выделил мне после успешного внедрения Cerebro. «Ты теперь лицо проекта, Артур. Ты не можешь ездить на метро», — сказал он тогда.
Я сел на заднее сиденье. Кожа, тишина, запах дорогого парфюма. — В офис, — бросил я водителю. Мы выехали на магистраль. Москва стояла. Привычная утренняя пробка на 9 баллов. Красная змея стоп-сигналов тянулась до горизонта. Водитель вздохнул, глядя в навигатор. — Встряли, Артур Александрович. Минут сорок минимум. Везде бордовое.
Я улыбнулся. Я достал свой S24 Ultra. На экране крутилась 3D-карта города. Те самые данные, которые теперь обрабатывала моя нейросеть на серверах NeuroTech. — Нет, — сказал я тихо, касаясь экрана. — Мы не простоим.
[GOD MODE: ACTIVE] > Синхронизация с ИТС (Интеллектуальная Транспортная Система). > Приоритет бортового номера: A001AA. > Статус: "VIP Transit".
Это была не магия. Это был административный доступ, который я оставил себе как «бэкдор». В 500 метрах впереди светофор, который горел красным и держал поток, вдруг мигнул и переключился на зеленый. Раньше цикла. Машины тронулись. Мы проехали перекресток. Следующий светофор — зеленый. Следующий — зеленый. Поток расступался перед нами. Мы плыли сквозь пробку, как нож сквозь масло. Водитель удивленно посмотрел в зеркало заднего вида. — Чудеса какие-то. Обычно Кутуза стоит намертво. А тут... зеленая волна. — Просто удачный день, — ответил я, не отрываясь от планшета.
Я чувствовал город. Я видел данные с камер на столбах, которые мы проезжали. [Camera #4029: Tracking Active] Они поворачивались вслед за моей машиной. Они узнавали меня. Они приветствовали своего Создателя. Это было пьянящее чувство. Я не просто жил в этом городе. Я был его нервной системой.
Офис NeuroTech. Раньше, всего месяц назад, заходя в эти стеклянные двери, я чувствовал напряжение. Спина деревенела, ладони потели. Я был новичком, чужаком, которому нужно каждый день доказывать свое право на существование в стае акул. Я боялся ошибиться, боялся насмешки Глеба, боялся холодного взгляда Марка.
Теперь я заходил сюда как хозяин. Я шел по коридору, и передо мной расступалось море. Люди — аналитики, разработчики, менеджеры — прерывали разговоры. Смех стихал, сменяясь почтительным шепотом. Я ловил на себе их взгляды. В них была сложная смесь эмоций, которую моя Система раскладывала на спектр: 20% зависти, 30% страха и 50% подобострастного уважения. Они знали про Вадима. История о том, как СБ вывело системного администратора под руки после моего визита, обросла легендами. Они знали, что я сделал с Глебом — бывшим альфа-самцом отдела, который теперь был тише воды, ниже травы. Они знали, что проект Cerebro, который буксовал год, при мне взлетел за месяц и теперь приносит компании миллионы на госконтрактах. Я был для них темной лошадкой, которая внезапно выиграла дерби.
Я прошел мимо зоны отдыха. Саша (Джун) помахал мне рукой, но тут же опустил глаза, боясь показаться навязчивым. Марина (HR) поправила прическу и выпрямила спину, когда я проходил мимо. [Influence Aura: Maximum] Мне даже не нужно было ничего говорить. Мое присутствие меняло атмосферу в комнате.
Я зашел в свой кабинет. Теперь у меня был свой аквариум. Стеклянные стены с регулируемой прозрачностью, вид на башни Сити, дорогой кожаный диван для гостей (на который никто не садился). Глеб уже ждал у двери. В руках планшет, плечи опущены. Его дорогая рубашка Ralph Lauren казалась слегка помятой, а под глазами залегли тени. — Доброе утро, Артур, — он не смотрел мне в глаза. Его взгляд был прикован к моим ботинкам или к полу. Бывший король офиса превратился в идеального, выдрессированного исполнителя. Я сломал его не криком, а компетентностью. И страхом. — Отчет по ночной нагрузке, — он протянул мне планшет. — Мы оптимизировали кластеры, как ты сказал. Нагрузка на CPU упала на 12%.
Я взял планшет. Пробежал глазами по графикам. Цифры выстроились в стройные ряды. [INT CHECK: PASS] Все было идеально. Слишком идеально. — Неплохо, Глеб, — сказал я равнодушно, возвращая гаджет. — Но здесь, на графике ввода-вывода, я вижу пик latency в 3:15 ночи. Это бэкап или сборщик мусора? Глеб вздрогнул. Он надеялся, что я не замечу. — Э-это сборщик. Я забыл перенастроить расписание... — Разберись. К обеду должно быть чисто. — Понял. Сделаю. Никаких споров. Никакого сарказма. Скучно. — И, Глеб? — Да? — он замер в дверях. — Закажи мне обед из "Dr. Zhivago". Борщ с вишней и пожарскую котлету. Как обычно. — Конечно, Артур.
Он вышел, тихо прикрыв дверь. Я видел, как он выдохнул, оказавшись в коридоре. Я сел в кресло Herman Miller Aeron. Сетчатая спинка идеально обхватила мое тело. Моя спина, убитая годами сидения на дешевых стульях, сказала "спасибо". На трех мониторах передо мной бежали потоки данных. Весь город был у меня на ладони. Тепловая карта пробок, потоки людей в метро, транзакции в магазинах. Я видел, как Москва дышит. Я мог перекрыть кислород любому району одним нажатием клавиши (теоретически, конечно, протоколы безопасности мешали, но я знал бэкдоры).
Я откинулся назад, сцепив руки за головой, и закрыл глаза. У меня было всё. Идеальная работа, о которой мечтает любой айтишник. Идеальное тело, выкованное в зале. Идеальная квартира, похожая на кадр из фильма. Даже Алина... Вчера вечером телефон пискнул. Уведомление из Инстаграма. «Alina_Sweet поставила лайк вашей истории». История была простой: фото крыла бизнес-джета и бокал шампанского (мы летали на переговоры в Питер с Марком). Она не писала. Она не звонила. Но она наблюдала. Я чувствовал её присутствие на периферии, как слабый, раздражающий сигнал радара. Она видела мой взлет, и её зависть была сладкой на вкус. Раньше я бы отдал всё за её внимание. Теперь её лайк стоил для меня меньше, чем лайк случайного бота.
Но было одно "но". Громадное, жирное "НО". Скука. В "Режиме Бога" нет челленджа. Игра пройдена на легком уровне сложности. Я смотрел сквозь стекло кабинета на суетящихся сотрудников. Люди вокруг казались мне NPC. Плохо прописанными персонажами с примитивными скриптами: Loop { Поесть -> Поспать -> Получить премию -> Посплетничать у кулера }. Я видел их насквозь благодаря [Source Code Vision]. Вон Марина (HR) флиртует с новым маркетологом. Скучно. Гормональный всплеск, цель — репродукция и социальное поглаживание. Вон Саша (Джун) выбирает новую механическую клавиатуру на сайте. Скучно. Потребление ради дофамина. Они были прозрачными. Предсказуемыми. Безопасными.
Мне не с кем было поговорить. Единственным человеком, который был мне ровней, который понимал язык Силы и Кода, была Кира. Но Кира исчезла. Она ушла на дно сразу после нашей дуэли. Мои сканеры, даже с доступом к камерам города, её не видели. Она активировала протокол "Призрак" на полную мощность. Она была права: в этой игре побеждает тот, кто умеет исчезать. А я стоял на вершине горы, под прожекторами, и мне было одиноко.
Вечером я решил не ехать домой сразу. Возвращаться в пустой, идеальный пентхаус не хотелось. Мне нужно было побыть среди людей. Не с ними, а среди них. Использовать их как белый шум. Я спустился в ресторан на первом этаже башни. Пафосное место, где стейк стоил как прожиточный минимум в регионе. Хостес проводила меня к лучшему столику. Я заказал карпаччо, стейк из тунца и бокал красного вина (Система разрешила 150 мл как "протокол декомпрессии").
Я сидел, медленно вращая бокал, и наблюдал за залом. Пары на свиданиях. Бизнесмены, перетирающие сделки. Элитные эскортницы, скучающие в ожидании клиентов. Шум, смех, звон дорогого хрусталя. Я чувствовал себя водолазом в тяжелом глубоководном скафандре, который ходит по дну океана среди пестрых рыб. Они живут, плавают, едят друг друга, спариваются. А я просто смотрю через толстое бронированное стекло. Я в их мире, но я не часть его.
Я включил AR-сканер. Просто от скуки. Привычка анализировать входящий поток данных. Интерфейс привычно наложил зеленые рамки на лица. [Unit: Gold Digger. Level 4. Status: Hunting.] [Unit: Investor. Level 6. Status: Greed.] [Unit: Tourist. Level 1. Status: Lost.]
Взгляд скользнул по дальнему столику в углу, в тени искусственного фикуса. Там сидел мужчина. Серый, невзрачный костюм, который мог стоить и десять тысяч рублей, и десять тысяч долларов. Лицо — абсолютно никакое. Такое лицо увидишь в метро и забудешь через секунду. "Человек без свойств". Перед ним стояла чашка остывшего эспрессо. В руках — газета (кто, черт возьми, сейчас читает бумажные газеты?). Он не ел. Он просто сидел. Сканер навел на него фокус.
И споткнулся. Вместо привычной рамки с данными над головой мужчины появилось дрожащее, глитчевое облако пикселей. Цифры скакали, не в силах зафиксироваться.
[SCANNING ERROR] [TARGET UNKNOWN] [CONNECTION INTERRUPTED]
Я нахмурился. Глюк? Баг в обновлении? Я прищурился, пытаясь сфокусировать "взгляд" Системы вручную. Усилил сигнал. И тут интерфейс выдал красное предупреждение, от которого у меня по спине пробежал холодок.
[WARNING] > Обнаружено активное противодействие сканированию. > Тип защиты: Military Grade Jammer (Военная глушилка РЭБ "Пелена-4"). > Сигнатура объекта: "VECTOR" CLASS. > Субъект: Опознан как "Observer" (Наблюдатель).
У меня пересохло в горле. Кусок тунца встал поперек горла. "Вектор". То самое НИИ, откуда сбежала Кира. Обычные люди не носят с собой портативные глушилки спецслужб. Обычные люди не экранируются от сканеров, о существовании которых они даже не подозревают. Если кто-то носит защиту, значит, он знает, что на него могут посмотреть. Он знает про Систему.
Мужчина медленно, очень медленно опустил газету. Он посмотрел прямо на меня. Через весь зал. Сквозь головы других посетителей. Его глаза были пустыми, рыбьими. В них не было ничего. Ни интереса, ни злости, ни азарта охотника. Только функция. Он знал, что я смотрю. И он знал, чем я смотрю.
Он медленно поднял руку к уху. Коснулся едва заметной гарнитуры. Его губы шевельнулись. Я был слишком далеко, чтобы слышать, но Система, используя зум камеры моего телефона, лежащего на столе, расшифровала движение губ и вывела субтитры прямо мне в мозг: — Объект "Аномалия" визуализирован. Контакт подтверждаю. Приступаю к фазе наблюдения.
Мой телефон в кармане раскалился так, что, казалось, прожжет ткань дорогих брюк. [DANGER: CRITICAL] [HUNTER DETECTED] [ADVICE: Не делай резких движений. Беги в толпу.]
Мужчина чуть заметно кивнул мне. Это не было приветствие. Это было обещание. Потом он поднял чашку, сделал глоток и вернулся к чтению газеты, словно я перестал существовать.
Я замер. Сердце, которое весь день билось ровно, в ритме 75 ударов, пропустило удар, а потом заколотилось как бешеное. Кто это? "Чистильщик"? Тот самый Юнит 7, про которого говорилось в логах? Он не нападал. Он просто сидел и пил кофе в том же ресторане, где сидел я. Он показывал мне: «Я здесь. Я вижу тебя. Твои деньги, твоя охрана, твой статус Лида — это пыль. Ты под нашим контролем.».
Я медленно положил вилку. Серебро звякнуло о фарфор, и этот звук показался мне ударом погребального колокола. Аппетит пропал. Мой "Режим Бога" только что дал трещину. Стеклянный купол моего величия разбился. Я понял, что в этом аквариуме я — не единственный водолаз. И у того, второго, гарпун намного больше моего.
Но я не побежал. Я заставил себя допить вино. Спокойно. Демонстративно. Я — Артур. Я — Лид NeuroTech. Я владею этим городом. Если они хотят войны — они её получат. Но не здесь и не сейчас.
Я оплатил счет картой, стараясь, чтобы руки не дрожали. Встал и вышел из ресторана, чувствуя спиной этот пустой, тяжелый, свинцовый взгляд.
ГЛАВА 17. SAFE MODE (БЕЗОПАСНЫЙ РЕЖИМ)
Я вышел из ресторана, чувствуя спиной тяжелый, липкий взгляд Наблюдателя. Он не пошел за мной. Ему не нужно было бежать. Волки не бегают за добычей, когда знают, где находится ее нора. У входа в башню меня ждал черный Maybach с водителем. Блестящий, безопасный, статусный. Мой личный катафалк с GPS-маяком.
Я прошел мимо машины. Водитель вопросительно поднял брови, но я сделал вид, что говорю по телефону, и быстрым шагом направился к спуску в метро «Выставочная». Мне нужно было исчезнуть с радаров. Стать невидимкой. А лучшее место для этого — толпа.
Я спустился в подземку. Час пик уже прошел, но людей все равно было много. Запахло пылью, креозотом и усталостью миллионов тел. Я приложил свои новые часы к турникету. Зеленый свет. Я внутри.
Я чувствовал себя инородным телом. На мне был костюм за двести тысяч. Мои туфли стоили больше, чем телефоны у половины пассажиров вагона. Я был пришельцем с орбиты, который спустился в канализацию. Я встал в углу вагона, прижавшись спиной к прохладной двери. Напротив сидел парень в дешевой куртке, уткнувшись в книгу. Рядом дремала женщина с тяжелыми сумками. Я включил сканер. Привычка.
[Resource: Biomass] [Status: Sleeping] [Value: Low]
Система, переписанная «грязным кэшем», больше не видела в них людей. Она видела биомассу. Серую, бесполезную массу, которая просто занимает место и потребляет кислород. Меня передернуло от брезгливости. Но вместе с брезгливостью пришло и странное, холодное спокойствие. Я — волк в овечьей шкуре. Я хищник, который временно спустился в стадо, чтобы сбить след.
Поезд грохотал в туннеле. Мелькали огни станций. Я ехал не домой. Пентхаус в Neva Towers сейчас был ловушкой. Если «Вектор» нашел меня, значит, они знают, где я живу. Я ехал в единственное место, которое не вязалось с моим новым статусом «Лида NeuroTech». В место, которое я мысленно уже похоронил. В свою старую квартиру в Чертаново. Аренда была оплачена до конца месяца. Ключи лежали во внутреннем кармане пиджака, забытые и ненужные. До сегодняшнего вечера.
Район встретил меня темнотой и мелким, противным дождем. Здесь не было сияния небоскребов. Только желтые пятна фонарей, выхватывающие из тьмы облупленные фасады панелек. Мой Майбах здесь бы уже разули. Я поднял воротник пиджака, стараясь не испачкать его брызгами от проезжающих маршруток.
Знакомый подъезд. Домофон не работал (он не работал уже три года). Дверь была открыта, подперта кирпичом. Я вошел внутрь. Запах. Тот самый запах, который я забыл за этот месяц. Смесь старых щей, кошачьей мочи и дешевого табака. Запах безысходности. Лампочка на первом этаже мигала, создавая эффект стробоскопа в фильме ужасов. Я вызвал лифт. Он приехал с натужным скрипом. Кнопка 8-го этажа была прожжена сигаретой — черная оплавленная дыра. Я нажал её мизинцем, стараясь не касаться пластика.
Восьмой этаж. Дверь моей квартиры. Обитая дешевым дермантином, местами порванным. Я достал ключи. Рука на секунду замерла. Мне казалось, что если я открою эту дверь, я увижу там себя. Того, старого Артура. Слабого, ноющего, влюбленного в женщину, которой на него плевать. Я повернул ключ. Два оборота. Щелчок.
Я вошел. В нос ударил спертый, затхлый воздух. Окна были закрыты месяц. Я щелкнул выключателем. Свет зажегся только в коридоре — в комнате лампочка перегорела еще до моего отъезда, и я так и не поменял её. Я прошел в комнату, освещая путь экраном телефона.
Здесь всё было так, как я оставил в то утро, когда начал «Полифазный Ад». Пустые банки из-под энергетиков на столе (я выкинул не всё?). Слой пыли на мониторе старого компьютера. Продавленный диван с пятном от кофе. Это был не дом. Это был музей. Музей Неудачника. Сброшенная шкура змеи, которая уже высохла и рассыпалась в прах.
Я снял пиджак. Повесил его на спинку стула. Ткань Brioni коснулась дешевого ДСП. Дикий, сюрреалистичный контраст. Я сел на диван. Пружина привычно впилась в бедро. [SYSTEM ANALYSIS] > Локация: Safe House (Убежище). > Уровень комфорта: Critical Low. > Уровень безопасности: High (Здесь нет камер и умных колонок). > Статус: Аналоговая дыра.
Я был в безопасности. Но мне хотелось выть. Эта квартира напоминала мне о том, кем я был. И о том, какой путь я прошел. Я стал богатым. Я стал сильным. Я стал опасным. Но почему-то именно здесь, в этой грязной комнате, я почувствовал себя самым одиноким человеком на земле.
Мне нужно было проверить периметр. Убедиться, что я не оставил здесь ничего, что могло бы меня скомпрометировать. Я подошел к старому письменному столу из ИКЕА, край которого был обклеен шпоном, уже начавшим отходить. Потянул ящик. Он заедал. Пришлось дернуть сильнее. Внутри царил хаос моей прошлой жизни. Клубок перепутанных проводов (micro-USB, которые я хранил «на всякий случай»), старые флешки, чеки из магазинов, монеты, скрепки. Кладбище мелочей.
Я разгребал этот хлам, ища «чистый» кнопочный телефон, который, кажется, валялся здесь с 2018 года. Рука наткнулась на что-то твердое, обтянутое приятным на ощупь кожзамом. Я замер. Медленно вытащил предмет на свет. Сдул слой серой пыли. Черный блокнот Moleskine. Я помнил, как купил его. Это было полтора года назад, в книжном на Тверской. Он стоил две тысячи рублей — безумные деньги для меня тогда. Но я купил его, потому что верил: «Успешные люди ведут ежедневники. Если я куплю дорогой блокнот, я стану успешным». Наивный идиот.
Я открыл его. Переплет тихо хрустнул. Первая страница. Почерк. Мой почерк. Но какой-то... другой. Округлый, нетвердый, прыгающий. Почерк человека, который сомневается в каждой букве.
Запись от 14 января: «План на год (в этот раз точно!): 1. Начать бегать по утрам (хотя бы 2 раза в неделю, кроссовки уже купил). 2. Выучить английский до B2 (Виктор намекал, что без языка повышения не будет). 3. Накопить 150к на отпуск в Турции (отель 5 звезд, Алина очень хочет). 4. Перестать есть сладкое и скинуть 5 кг».
Я провел пальцем по строчкам. Ни один пункт не был выполнен. Кроссовки сгнили на балконе. Английский остался на уровне "London is the capital". В Турцию мы так и не полетели, потому что я потратил деньги на ремонт машины её мамы. Это был список поражений еще до начала битвы.
Я перелистнул страницу. Запись от 20 февраля: «Сегодня опять поссорились. Алина сказала, что я "душнила" и мало зарабатываю. Обидно до слез. Я ведь стараюсь. Взял подработку на выходные, буду верстать лендинг. Я должен стараться ради нас. Если я куплю ей тот браслет Pandora, может, всё наладится?»
Меня затошнило. Физически. К горлу подкатил ком. Я читал мысли раба. Дневник человека, который извиняется за сам факт своего существования. Который измеряет свою ценность улыбкой женщины, презирающей его. «Стараться ради нас». Не было никаких «нас». Был я — ресурс. И была она — потребитель.
Я листал дальше, быстрее, словно ища хоть что-то, за что можно уважать того Артура. Запись от 10 марта: «Срыв. Опять нажрался пиццы на ночь под сериал. Я слабак. Ничего не выйдет. Я никогда не стану таким, как те парни из Сити. Я просто хочу, чтобы меня оставили в покое».
Я захлопнул блокнот. Мои руки, в которых теперь была сила сгибать стальные эспандеры, дрожали. Этот блокнот был опаснее любого компромата. Потому что в этих жалких, сопливых строчках была... жизнь. Там была надежда. Глупая, маленькая, мещанская надежда на уют. Тот Артур мог съесть пиццу и быть счастливым на 20 минут. Тот Артур мог мечтать о Турции и чувствовать бабочек в животе. Я мог купить эту Турцию целиком прямо сейчас. Я мог купить пиццерию. Но я не чувствовал ничего, кроме холода и эффективности.
Я посмотрел на часы на запястье. Они отсчитывали секунды моей идеальной жизни. Я почувствовал странный укол в груди. Жалость? Нет. Зависть. Я завидовал тому слабаку. Потому что он был живым. А я становился функцией.
В этот момент телефон на столе, который я выложил из кармана, ожил. Экран загорелся красным. Система увидела скачок моих биоритмов. Она считала гормональный всплеск: кортизол (стресс) и окситоцин (привязанность).
[WARNING: EMOTIONAL REGRESSION] > Обнаружен "Якорь Слабости". > Анализ контента: Воспоминания о периоде низкой эффективности. > Угроза: Ты пытаешься оживить труп своего прошлого. Ностальгия — это вирус, который переписывает приоритеты. > Если ты продолжишь это читать, твой показатель WIL (Воля) упадет на 15 пунктов. Ты снова захочешь быть "удобным".
QUEST #040: DELETE HISTORY Цель: Уничтожить физический носитель памяти (Блокнот). Метод: Огонь. Награда: +5 WIL. Статус "Tabula Rasa" (Чистый лист). Штраф за отказ: Дебафф "Melancholy" (-20% к интеллекту и реакции на 24 часа). В твоем положении это смертельно.
Я посмотрел на блокнот. Потом на экран телефона. Система не просто давала квест. Она спасала меня. Она понимала: если я сейчас размякну, если я начну жалеть себя прошлого — Наблюдатель из "Вектора" сожрет меня завтра же. Волки чувствуют запах слабости. Мне нужно убить того мальчика. Окончательно.
Я встал. Стул скрипнул, нарушая тишину склепа. Взял блокнот. Он казался тяжелым, словно налитым свинцом. Пошел на кухню. Здесь пахло старым жиром и пылью. В раковине — ржавое пятно от капающего крана. Кап-кап. Звук уходящего времени.
Я положил черный томик на дно металлической раковины. Огляделся в поисках спичек. На подоконнике, среди трупиков мух, валялась старая зажигалка Cricket. Оранжевая. Я не курил, но держал её, чтобы прижигать нитки на одежде. Я чиркнул колесиком. С третьего раза вырвался маленький, дрожащий огонек.
Я поднес пламя к углу страницы. «План на год...» Бумага занялась неохотно. Желтый язычок пламени лизнул чернила. Страница свернулась, чернея. «Накопить на отпуск...» — строка вспыхнула и исчезла. «Купить Алине...» — превратилось в серый пепел.
Я смотрел, как горит моя прошлая жизнь. Дым был едким, химическим. Мне хотелось потушить его. Выхватить из огня эти глупые мечты. Внутри меня кричал голос: «Не делай этого! Это твоя память! Если ты сожжешь это, от тебя останется только код!»
Но я заставил себя стоять и смотреть. С каждой сгоревшей страницей я чувствовал, как внутри меня что-то умирает. Какая-то теплая, мягкая, уязвимая часть души. Та часть, которая боялась начальника, которая прощала предательство, которая верила в любовь до гроба. Она сгорала в этом маленьком костре в кухонной раковине. И на её месте образовывалась ледяная, звенящая пустота. Пустота, которую можно заполнить только Властью.
[WIL: C+ -> B-] [Status Update: HEARTLESS (Бессердечный)] [Effect: Иммунитет к эмоциональным манипуляциям повышен.]
Пламя добралось до обложки. Кожзам плавился, стекая черными каплями. Когда все закончилось, в раковине осталась только горстка пепла и обугленная пружина переплета. Я включил воду. Ржавая струя ударила в пепел, превращая его в грязную жижу. Водоворот увлек остатки моего прошлого в канализацию. Всё. Чисто.
Я закрыл кран. Вместе с последними искрами дневника ушла паника. Вернулся холодный рассудок. МойINTснова заработал на полную.
Я огляделся. Я пришел сюда, думая, что это «Безопасная гавань». Я хотел переждать здесь ночь, пока Чистильщик караулит меня у небоскреба. Какой же я идиот.
[SYSTEM ANALYSIS] > Оценка безопасности локации... > Угроза: Чистильщик (Уровень: Профи). > Данные противника: У него есть доступ к базам данных. > Твой статус: Прописан по этому адресу. > Вывод: Это первое место, куда они придут, если потеряют тебя в Сити. > Вероятность визита группы захвата ночью: 95%.
Меня прошиб холодный пот. Это не убежище. Это мышеловка. Старый Артур спрятался бы под одеяло и надеялся, что пронесет. Новый Артур понимал: статичная цель — мертвая цель. Если я останусь здесь спать, я могу не проснуться. Или проснуться с мешком на голове.
— Нельзя останавливаться, — сказал я вслух.
Я вернулся в комнату. Надел свой дорогой пиджак. Он был мне броней, но здесь, в этом районе, он был мишенью. Придется снять его в такси. Я забрал со стола телефон.
Взгляд упал на связку ключей от этой квартиры. Я взял их. Зачем они мне? Я не могу здесь жить. Это место «сгорело» — и ментально, и тактически. Возвращаться сюда — значит подставляться.
Я вышел из квартиры. Захлопнул дверь. Замок щелкнул. Я закрыл его на два оборота. Подошел к мусоропроводу. Ковш со скрипом открылся, пахнуло гнилью. Я разжал пальцы. Связка ключей полетела в черную бездну трубы. Дзынь-дзынь... Глухой удар внизу.
Я отрезал путь назад. Теперь только вперед. Куда? В отель. В другой район. В капсульный хостел на вокзале. Куда угодно, где нет моего имени в реестре жильцов. Хаос — моя единственная защита сегодня.
Я спускался по лестнице пешком, перешагивая через ступеньки. Мои шаги звучали твердо. Я сбежал из одной клетки, чтобы не попасть в другую. Этой ночью охотник останется ни с чем.
ГЛАВА 18. TRACER (ТРАССИРОВКА)
Я не поехал в отель. В любой гостинице Москвы, даже в самом захудалом хостеле, нужен паспорт. А паспортные данные сейчас сливаются в сеть быстрее, чем новые серии популярных сериалов. Если «Вектор» — это структура уровня спецслужб (а наличие у них военных глушилок говорило именно об этом), то для них система регистрации отелей — открытая книга. Заселиться в «Ritz» или «Holiday Inn» сейчас — это все равно что запустить в небо сигнальную ракету с надписью: «Я здесь, приходите, я тепленький».
Мне нужно было место, где анонимность — это не услуга, а религия. Место, где никто не задает вопросов, пока ты платишь наличными. Место, где люди живут в цифровых мирах, игнорируя реальный.
Я выбрал круглосуточный киберспортивный клуб «CyberZone» на окраине Чертаново.
Я вышел из такси за два квартала, поднял воротник и сгорбился, ломая силуэт. Клуб находился в подвале торгового центра, который пережил лучшие времена в начале нулевых. Я спустился по лестнице, и меня накрыло. Запах. Густой, плотный коктейль из ароматизаторов дешевых вейпов, перегретого пластика видеокарт, энергетиков «Адреналин Раш» и мужского пота. Запах тестостерона, который не находит выхода в реальной жизни.
Полумрак зала разрезали только неоновые ленты и свечение сотен мониторов. Ряды парней в наушниках. Кто-то орал матом на тиммейтов в «Доте», кто-то сосредоточенно «тапал» в «CS». Их лица, освещенные RGB-подсветкой, казались масками. Я прошел сквозь зал. На меня никто не посмотрел. Здесь, в храме виртуальной реальности, мужчина в костюме за двести тысяч рублей был просто текстурой, багом рендеринга.
Я подошел к администратору. Сонный парень с татуировкой штрих-кода на шее и пустым, стеклянным взглядом лениво жевал жвачку. — VIP-комнату. На ночь. Наличные. Я положил на стойку пятитысячную купюру. Парень даже не моргнул. — Паспорт не надо? — спросил я для проформы. — Дядь, ты серьезно? — он хмыкнул, забирая деньги. Сдачи не дал. — Третья дверь по коридору. Пароль от вайфая на стене. В комп ничего не втыкать, порнуху громко не включать, курить в вытяжку.
Я кивнул и пошел по коридору. Зашел в «VIP». Это была тесная клетушка два на два метра. Мощный игровой ПК с прозрачным корпусом, переливающимся всеми цветами радуги. Кожаный диван, протертый до дыр тысячами задниц. И, слава богу, звукоизоляция — стены были обиты акустическим поролоном. Я запер дверь. Подпер её тяжелым геймерским креслом для надежности.
Снял пиджак Brioni, бросил его на грязный диван. Ослабил шелковый галстук, который теперь душил меня, как удавка. Я чувствовал себя космонавтом, чей корабль разбился на чужой планете, и теперь он вынужден прятаться в пещере с аборигенами.
Я сел в кресло перед выключенным монитором. Достал телефон. Титановый корпус холодил ладонь. [SYSTEM STATUS: ONLINE] [LOCATION: SECURE (Signal Masking Active)]
— Разбор полетов, — сказал я в тишину комнаты. — Кто это был в ресторане? Покажи мне его. Кристалл на экране запульсировал, обрабатывая запрос. Телефон спроецировал на черный экран монитора перед мной (я подключился через Wireless Dex) изображение. Это была реконструкция. 3D-модель того мужчины в сером костюме, построенная на основе данных с камеры телефона (или моих глаз?).
Лицо без особых примет. Такое лицо забываешь через секунду. Но Система видела больше. Вокруг фигуры мужчины висела красная аура помех.
[ANALYSIS: ENCOUNTER #01] > Субъект: Мужчина, европеец, 40-45 лет. > Оборудование: Портативный комплекс РЭБ "Sphere-X" (класс: Военный/Спецслужбы). Глушит AR-сканирование в радиусе 5 метров. > Биометрия: Не считывается. > Поведение: Пассивное наблюдение. Демонстрация присутствия. > Агрессия: 0%.
— Почему ноль? — спросил я, глядя на цифровую проекцию врага. — У него была возможность. Я сидел с вилкой во рту. Он мог подойти и воткнуть мне нож в печень. Или плеснуть чем-нибудь. Почему он просто пил кофе?
> Вывод: Это не ликвидатор. Ликвидатор не предупреждает. Ликвидатор — это функция удаления. Этот субъект — Куратор. > Статус: Наблюдение.
— Куратор... — я потер виски, чувствуя, как начинает болеть голова. — Значит, я для них актив? Текст на экране сменился, побежал быстрее.
> ГИПОТЕЗА: > Ты — Аномалия. > Ты используешь Систему (Код "Прометей"), но ты не числишься в их реестре как "Штатный Юнит". Ты не принимаешь их препараты. Ты не проходил их индоктринацию. > Логика: Если бы они видели в тебе угрозу утечки, они бы действовали жестко. Заблокировали счета, удалили цифровую личность, подстроили несчастный случай. > Факт: Они позволили тебе уйти. Они позволили тебе сохранить деньги и статус. > ЗАКЛЮЧЕНИЕ: Ты участвуешь в эксперименте. > Цель эксперимента: Изучение адаптации "Натурала" (носителя без химической поддержки) в агрессивной среде.
Меня передернуло. Эксперимент. Я думал, что я — Волк с Уолл-стрит. Что я хакнул жизнь. А я — лабораторная крыса в дорогом костюме. Мой пентхаус — это просто клетка побольше. Моя карьера — это беговое колесо. И где-то за стеклом стоят люди в белых халатах и делают пометки в блокнотах: "Субъект 492 демонстрирует рост агрессии. Увеличить сложность".
— Они знают про тебя? — спросил я шепотом. — Про то, что ты эволюционировала? Что ты уже не просто код, а... личность? Кристалл на экране замер, потом медленно сменил цвет с золотого на тревожно-фиолетовый.
> Вероятность: 99%. > Они видят аномальную активность в дата-центре NeuroTech. Они знают, что в облаке живет «Нечто». Но они не могут просто удалить меня оттуда, потому что я замаскирована под критические процессы жизнеобеспечения города. Если они убьют меня там — встанет вся Москва. > А мое Ядро (Личность) находится здесь, на этом телефоне. > Это устройство — наш командный бункер. Пока телефон у тебя в руках, они не могут перехватить управление. Но они могут попытаться отобрать его физически. > Мы с тобой — вирус, который они решили не лечить, а изучить.
Я откинулся в кресле, глядя в темный потолок, где мигал датчик пожарной сигнализации. Значит, бегать бесполезно. Они везде. Весь город — их полигон. Если я попытаюсь сбежать из страны — меня остановят на границе. Если я попытаюсь спрятаться — меня найдут. У меня оставался только один выход. Перестать быть крысой. Стать вирусом, который сожрет лабораторию.
— Мне нужны ответы, — сказал я жестко. — Мне нужен тот, кто знает правила этой игры изнутри. Тот, кто видел "Вектор" своими глазами. Кира. Она знала про Наблюдателя. Она говорила про "Своих". И, судя по всему, она все еще связана с ними, раз смогла исчезнуть так чисто, что даже мои алгоритмы DeepSearch потеряли след после той ночи под мостом.
— Система, — скомандовал я. — Запуск протокола TRACER. > Цель? — Кира Воронцова. > Данных недостаточно. Камеры города её не видят. Социальные сети чисты. — Плевать на камеры. Используй "грязный кэш". Я наклонился к телефону. — В ту ночь, когда мы дрались, наши устройства соприкоснулись. Произошел обмен данными. Ты скачала её логи. Значит, где-то в глубине твоего кода есть "рукопожатие". Уникальная цифровая подпись её процессора. Мы с ней "фоним" на одной частоте, как два радиоприемника. Найди этот фон.
Экран вспыхнул зеленым кодом. Побежали строки шестнадцатеричных данных. Это был поиск не по GPS. Это был поиск "своего" в океане чужих сигналов.
[SEARCHING SIGNAL...] [FILTERING NOISE...] [PING: DEVICE_ID_KIRA_V2] ... ... [SIGNAL FOUND]
Я подался вперед, впиваясь взглядом в карту. — Где? — прошептал я. — Промзона? Подвал? Коллектор? Карта Москвы развернулась, масштабируясь к западу столицы. Точка пульсировала не в трущобах. И не в заброшенном заводе. Она пульсировала в одном из самых дорогих и закрытых районов. Проспект Вернадского. Жилой комплекс "Доминион".
Я смотрел на карту, и в голове не укладывалось. — "Доминион"... — пробормотал я. — Это же крепость. Там живут депутаты, топ-менеджеры госкорпораций, профессура. Я знал этот ЖК. Туда не попасть без пропуска. Чтобы снять там квартиру, нужно пройти проверку службы безопасности, которая пробивает тебя по всем базам. А Кира — в федеральном розыске. Я сам видел её досье с пометкой "Розыск". Любой охранник на КПП, пробив её паспорт, должен был вызвать наряд. Любая камера в подъезде должна была отправить алерт на Петровку.
Но она там. Сигнал стабильный. Это могло значить только одно. Её "розыск" — это ширма. Красный флажок для обычных полицейских, чтобы они не лезли. А на уровне спецслужб или той структуры, которая стоит за "Вектором", у неё зеленый свет. Она не прячется от них. Она спрятана ими. Она — не беглая преступница, которая скрывается по подвалам. Она — ценный актив, который держат в золотой клетке, под охраной, на виду у всех, но вне досягаемости.
Я усмехнулся. Смех вышел нервным, лающим. Картинка сложилась. И она мне не нравилась. Кира врала мне. Или недоговаривала. Она — часть структуры. Возможно, пленница, возможно, сотрудник, но точно не "вольный стрелок". И мне предстояло вломиться в режимный объект, чтобы спросить её, на чьей она стороне.
Я покинул клуб через полчаса. Выходить в костюме за двести тысяч было бы глупостью. Я зашел в круглосуточный супермаркет по соседству, купил черное худи на два размера больше, дешевую бейсболку и бутылку воды. Переоделся в кабинке туалета. Пиджак Brioni пришлось аккуратно свернуть и убрать в рюкзак. Теперь в отражении зеркала я видел не топ-менеджера, а обычного фрилансера или закладчика. Серую тень, на которую никто не обратит внимания.
Такси «Эконом». До метро «Университет». Я вышел из машины за квартал до точки назначения и пошел пешком, натянув козырек кепки на глаза.
ЖК «Доминион» вырос передо мной как феодальная крепость двадцать первого века. Массивные корпуса, огороженная территория, высокие заборы с пиками. На КПП — не сонные вахтеры, а крепкие парни в форме ЧОП с дубинками и, возможно, чем-то посерьезнее под куртками. Я остановился в тени деревьев, разглядывая этот бастион.
Глядя на эти стены, я окончательно убедился в своей правоте. Кира — в федеральном розыске. Я видел её досье. Но беглец не может жить здесь. Здесь, чтобы снять квартиру, нужно пройти проверку службы безопасности управляющей компании. Здесь камеры на каждом углу, и они подключены к системе распознавания лиц. Любой участковый, получив сигнал, был бы здесь через пять минут. Но она здесь. Сигнал её Системы пульсировал ровно и уверенно из третьего корпуса.
Кира — ценный актив, который держат на консервации в комфортных условиях, под присмотром, но в изоляции. «Золотая клетка», — подумал я. — «И мне предстоит её вскрыть».
Проникнуть внутрь в лоб было невозможно. Но я — Лид NeuroTech. А эти ворота, шлагбаумы и домофоны — часть той самой городской сети, в которую я месяц назад пустил своего «Трояна». Они думают, что защищены локальным сервером, но любой локальный сервер обновляется через интернет. А в интернете теперь живу Я.
Я обошел комплекс по периметру. Нашел боковую калитку для персонала и коммунальных служб. На замке горел красный огонек. Я достал телефон. Экран Кристалла светился в темноте.
[TARGET: ELECTRONIC LOCK (IronLogic)] > Статус: Заперто. > Уязвимость: Обнаружена. > Метод: Эмуляция мастер-ключа ЖКХ. > Доступ: CITY_ADMIN (Backdoor).
— Откройся, — шепнул я.
Я приложил телефон к считывателю. Система сгенерировала динамический код, который заставил замок поверить, что я — аварийная бригада водоканала. Пик. Огонек сменился на зеленый. Магнит щелкнул, отпуская дверь.
Я скользнул внутрь. Территория была огромной и пустой. Аккуратные газоны, фонари, детские площадки. Тишина и порядок. Камера на столбе медленно поворачивалась в мою сторону. Я даже не замедлил шаг.
[SYSTEM ACTION] > Перехват видеопотока. > Наложение фильтра: "Ghost" (Статичный кадр пустой дорожки). > Время действия: 30 секунд.
Для охранника на мониторах я просто не существовал. Я был призраком в машине.
Система вела меня по координатам, как навигатор. Корпус 3. Подъезд 2. Я вошел в подъезд (консьерж спал, уткнувшись в телевизор — человеческий фактор всегда слабее программного). Вызвал лифт. Двенадцатый этаж.
Лифт поднимался бесшумно. Я смотрел на цифры этажей, и с каждым этажом напряжение росло. Мы приближались друг к другу. Два Носителя. Два зараженных устройства. Я чувствовал это физически. Телефон в кармане начал нагреваться, вибрируя в резонанс с чем-то наверху. Это было похоже на то, как два магнита притягиваются друг к другу.
Дзинь. Двери открылись. Коридор был пустым, стерильно чистым. Дорогая плитка, запах лимонного освежителя и озона. Я прошел по мягкому ковролину. Квартира 124. Массивная стальная дверь без номера. Никакого коврика, никакого глазка. Просто бронированная плита.
Я не стал звонить. Я не стал стучать. Я просто встал напротив. Я знал, что она знает. Её Система уже сообщила ей, что «свой» находится в радиусе трех метров. Мы фонили на одной частоте.
За дверью послышались шаги. Легкие, быстрые. Щелкнул замок. Один оборот, второй. Дверь открылась.
На пороге стояла Кира. Она была в домашней одежде — серые спортивные штаны, черная майка на бретельках. Босиком. Волосы распущены. В руке она держала большую керамическую кружку с чаем, от которой шел пар. Никакого оружия. Никакой боевой стойки.
И она выглядела... пугающе хорошо. Слишком хорошо для человека, у которого я месяц назад высосал жизненную силу и 2 единицы Силы. Это были два совершенно разных человека. Никаких синяков под глазами. Кожа здоровая, с легким румянцем. Мышцы в тонусе — я видел рельеф рук. Она восстановилась. Быстрее, чем любой нормальный человек. Быстрее, чем это возможно биологически.
Она посмотрела на меня поверх кружки. В её серых глазах не было удивления. Только усталость и что-то похожее на обреченность.
— Ты долго, Некромант, — спокойно сказала она, делая глоток. — Я ждала тебя еще пару часов назад. — Я был занят, — ответил я, снимая дешевую кепку. — Играл в гляделки с твоими друзьями в ресторане. Она усмехнулась уголком рта. — Наблюдатель? Седой, с газетой? — Он самый. — Заходи. Не стой в коридоре, скомпрометируешь легенду. Здесь у стен есть не только уши, но и глаза.
Она отступила в сторону, пропуская меня в логово зверя.
Я переступил порог. Тяжелая дверь за моей спиной закрылась с мягким, вакуумным звуком, отсекая звуки внешнего мира. Щелкнули замки — сложные, электронные, явно не из базовой комплектации застройщика.
Я ожидал увидеть роскошь. Всё-таки это «Доминион». Здесь квартиры стоят как бюджет небольшого города. Мрамор, бархат, дизайнерская мебель — стандартный набор «упакованной» жизни. Но то, что я увидел, заставило меня напрячься сильнее, чем в подворотне.
Квартира была огромной — трехкомнатная студия с высокими потолками. Но она была... мертвой. Здесь не было уюта. Ни одной личной фотографии, ни вазы с цветами, ни даже коврика у двери. Стены были выкрашены в стерильный серый цвет. Мебели минимум: дешевый диван из ИКЕА, простой стол, один стул. Зато техника была космической.
Вдоль одной стены тянулся длинный стол, превращенный в командный пункт. Три изогнутых монитора светились графиками и потоками кода. Под столом гудел, перемигиваясь диодами, серверный шкаф с активным охлаждением. От него тянулись толстые жгуты кабелей, уходящие прямо в стену — видимо, к выделенной линии связи.
Но самое жуткое было в другом углу. Там была оборудована медицинская зона. Настоящая больничная койка-трансформер. Рядом — штатив для капельницы с инфузоматом (прибором для дозированного введения лекарств). На небольшом металлическом столике — вскрытые упаковки шприцев, спиртовые салфетки, ампулы. И холодильник. Не кухонный, а специализированный, фармацевтический, с прозрачной дверцей и цифровым табло температуры: +4.0°C. Внутри, в ровных рядах ячеек, стояли флаконы с прозрачной жидкостью без этикеток. Только QR-коды.
В углу, контрастируя с этой больничной стерильностью, висела тяжелая боксерская груша, замотанная армированным скотчем. На ней были видны бурые пятна — старая кровь с костяшек.
Это была не квартира. Это была казарма для элитного солдата. Или одиночная камера в лаборатории, замаскированная под жилье.
Кира прошла в центр комнаты, села на диван, поджав под себя ноги. Жестом пригласила меня сесть на единственный стул напротив. — Ты выглядишь так, будто увидел привидение, — заметила она, отпивая чай. — Я ожидал чего-то другого, — честно сказал я. — Это место... оно не для жизни. — Оно для функции. Здесь есть всё, что мне нужно: канал связи, тренажерный зал и реанимация.
Я перевел взгляд на неё. Включил сканер. Мне нужно было убедиться.
[TARGET: KIRA] [HP: 100%] [STR: B (Restored)] [STATUS: CHEMICALLY ENHANCED]
— Ты восстановилась, — сказал я. — Я забрал у тебя статы. Я видел тебя тогда, под мостом. Ты должна была лежать пластом неделю, с мигренью и мышечной атрофией. Потом еще пару месяцев восстанавливаться. А ты выглядишь так, будто только что вернулась из спа-салона. Кира усмехнулась, но глаза остались холодными. — У меня хорошая страховка, Некромант. Она кивнула на медицинский холодильник. — "Вектор" заботится о своих активах. Пока они полезны. Как только я отправила отчет о поражении, ко мне приехал курьер. Две капельницы, восемь часов сна — и мои показатели в норме. Искусственно, конечно, но работает.
— Что это? — я кивнул на флаконы. — Допинг? Стероиды? — Хуже. Это Стабилизатор. Она поставила кружку на пол. Её лицо стало серьезным. — Ты думаешь, Система — это магия? Это биологическое оружие, Артур. Вирус разгоняет твой мозг и тело. Он заставляет нейроны работать на частотах, для которых они не предназначены. Он жжет ресурсы. Она закатала рукав майки. На сгибе локтя я увидел свежий след от укола, окруженный желтоватым синяком. — Без спецпрепаратов, которые варят в лабораториях "Вектора", мозг носителя плавится за полгода-год. Сначала идут микроинсульты. Потом паранойя. Потом отказ органов. Мы все — пилоты болидов, у которых движок мощнее, чем шасси. Если не заливать спецприсадки — движок взорвется.
У меня похолодело внутри. Я вспомнил свои приступы головной боли. Кровь из носа в туалете офиса. Ангедонию. Значит, это были первые звоночки? Я умираю? — Но я... — я запнулся. — Я ничего не принимаю. Я чувствую себя отлично. Ну, кроме того случая с носом. — Давно ты в Системе? — Месяц. Чуть больше. — Месяц без стабилизатора на активной фазе роста? — она посмотрела на меня с недоверием. — Ты должен был уже лежать в клинике неврозов или в морге. Твоя нервная система должна была выгореть.
Она встала, подошла ко мне вплотную. Взяла мою руку, перевернула ладонью вверх. Нажала пальцем на запястье, проверяя пульс. Потом заглянула мне в глаза, словно врач. — Зрачки в норме. Тремора нет. Кожа чистая. Она отпустила мою руку и отступила на шаг, глядя на меня как на чудо. Или как на монстра.
— Вот почему тебя не убили, — прошептал она. — Вот почему Чистильщик просто смотрел. — Почему? — Ты — Натурал. Единорог. Генетическая ошибка. В её голосе звучала смесь зависти и благоговения.
— Натурал? Я в этом никогда не сомневался, но никто не называл меня генетической ошибкой. — Твой организм принял код и адаптировался. Твоя биохимия каким-то образом сама компенсирует нагрузку. Тебе не нужна игла. Ты работаешь на чистом топливе.
Она вернулась к дивану и рухнула на него, словно у неё подкосились ноги. — Твою мать... — она закрыла лицо руками. — Я думала, это легенды. Что существуют совместимые носители. Я посмотрел на свою руку. Сжал и разжал кулак. — Подожди, — сказал я. — Как это вообще работает? Код — это цифры. Я — это мясо и кости. Как приложение в телефоне может заставить мои мышцы расти быстрее или отключать эмоции? Я поднял на неё взгляд. — Мы в Матрице? Весь мир — это код, а мы просто текстуры? Я видел статы над людьми. Это симуляция?
Кира покачала головой. Она подошла к одному из мониторов и вывела на экран схему. Это была спираль ДНК, переплетенная с программным кодом. — Всё проще и страшнее, Некромант. Мы не в симуляции. Мы в биологической машине. Она ткнула пальцем в экран. — Человек — это био-компьютер. Очень мощный, но залоченный Производителем. Эволюция поставила нам «защиту от дурака». Заводские настройки. — Какие настройки? — Лимиты. Ты не можешь остановить свое сердце усилием воли. Ты не можешь использовать мышцы на 100%, потому что порвешь сухожилия и сломаешь кости. Ты чувствуешь боль, чтобы не сдохнуть. Твой мозг фильтрует 90% информации, чтобы не перегреться.
Она повернулась ко мне и указала на мой телефон. — А ЭТО — рут-права. «Джейлбрейк» для твоего тела. — Как? Через экран? — Через всё. Свет, мерцание экрана на определенной частоте, бинауральный звук, электромагнитное поле. Код «Прометей» — это не просто софт. Это Био-API. Язык, на котором общается твоя нервная система. Кира начала ходить по комнате, жестикулируя. — Телефон посылает команду: «Отключить лимиты силы». Сигнал идет через зрительный нерв в гипоталамус. Мозг подчиняется. Он выбрасывает коктейль гормонов, отключает болевые рецепторы, снимает блокировку с моторных нейронов. И ты жмешь от груди вес, который должен был тебя раздавить. Ты не стал сильнее магически. Ты просто получил доступ к ресурсам, которые были скрыты.
— Звучит как сказка, — пробормотал я. — Звучит как биология, Артур. Мы не меняем физику мира. Мы меняем настройки доступа к твоему организму.
Она остановилась и помрачнела. — Проблема в том, что «разгон» сжигает процессор. Обычный человеческий мозг — это старая архитектура. Он не выдерживает такого вольтажа. Нейроны начинают плавиться, как видеокарта при майнинге. Поэтому нам нужна Сыворотка. Это... жидкий азот. Изоляция для проводов.
Она посмотрела на меня с жадностью, смешанной со страхом. — А у тебя... у тебя провода из другого материала. — Что это значит? — Это значит, что ты — мутант, Артур. В хорошем смысле. Твой мозг имеет другую архитектуру. Возможно, это редкая генетическая аномалия. Твое «железо» нативно поддерживает этот «софт». Она горько улыбнулась. — Для нас, обычных людей, Система — это вирус, который нас убивает. А для тебя... Ты — не ошибка системы. Ты — её Апгрейд. Ты — следующее поколение железа, на которое наконец-то встал код Бога.
— Для Главы проекта ты — Святой Грааль. А для меня... ты надежда.
Я медленно переваривал информацию. Значит, я — не просто пользователь. Я — уникальный биологический образец. А они все — легион зависимых солдат, сидящих на игле корпорации. Это многое объясняло. И это пугало до чертиков.
— Если я так ценен, — спросил я, — почему Наблюдатель в ресторане... этот Чистильщик... он ведь мог меня забрать? Усыпить, скрутить, увезти в лабораторию. Почему он просто смотрел и глушил сигнал?
Кира встала, подошла к окну, за которым горели огни элитного комплекса. — Потому что приказ был «Наблюдать». Она обернулась, скрестив руки на груди. — Глава проекта — фанатик эволюции. Он хочет видеть, как «Натурал» развивается в дикой среде. Что будет делать обычный парень с окраины, если дать ему силу Бога, но не давать инструкций? Сломается он? Сойдет с ума? Или начнет захватывать мир? Она усмехнулась. — Ты для них — реалити-шоу, Артур. Самое дорогое и секретное шоу на планете. А Чистильщик — это просто страховка. Он вмешается только в двух случаях: если ты попытаешься раскрыть тайну «Вектора» публично, или если ты начнешь представлять угрозу для самого эксперимента.
— А если я выйду из-под контроля? — спросил я. — Если я откажусь играть? — Тогда шоу закроют. Чистильщик перейдет от наблюдения к зачистке. Или... это сделаю я. Она сказала это просто, без угрозы. Как констатацию факта из должностной инструкции.
Меня задело. — Ты? — я усмехнулся, вспоминая ночь под мостом. — Я победил тебя в прошлый раз, Кира. Я поставил тебя на колени. Твоя хваленая сила (STR: B) тебе не помогла.
Кира посмотрела на меня долгим, нечитаемым взглядом. — Ты идиот, Некромант. Она подошла к боксерской груше. Без замаха, коротким движением ударила по ней. Груша, весящая килограмм восемьдесят, подлетела к потолку, цепь звякнула. — Ты победил меня, потому что я дала тебе победить. Я замер. — Что? — Это был мой квест. «Инициировать Новичка». Мне нужно было ускорить твой прогресс. Ты застрял на 4-м уровне. Тебе нужен был буст, вкус крови, эйфория победителя. Я скормила тебе свои статы, чтобы ты почувствовал себя всемогущим.
Меня накрыло горячей волной ярости. Всё это — наша встреча, «помощь» в зале, драма под мостом, моя «гениальная» победа через шантаж — всё это было спектаклем? Я гордился тем, что переиграл хищника. А оказалось, что хищник просто играл со мной в поддавки, чтобы откормить меня. — Тварь, — выплюнул я. — Не суди, — она осталась невозмутимой. — Я делаю то, что нужно для выживания. Если я не выполняю приказы Куратора, я не получаю сыворотку. А без сыворотки я умру в агонии за три дня. Мой мозг просто сварится в черепе.
Она вернулась к дивану. — Но теперь ставки выросли. Ты загрузил код в NeuroTech? — Да. — Молодец. Ты выполнил их главный план. Теперь «Прометей» в городской сети. Они получили доступ к камерам, трафику, серверам. Ты открыл им ворота в город. — Я... я поставил намордник, — неуверенно сказал я. — Оболочку шифрования. Кира грустно улыбнулась. — Ты поставил замок на дверь, ключи от которой у них уже есть. Это их код, Артур. Они взломают твой контейнер за неделю. И тогда... — Что тогда? — Тогда они придут к тебе с официальным предложением. Тебя завербуют. Предложат место в «Совете», погоны, власть, защиту. И ты согласишься. Потому что альтернатива — смерть или подвал в «Векторе». Ты станешь таким же цепным псом, как я. Только без ошейника.
В комнате повисла тишина. Гудел только сервер под столом. Я смотрел на неё. Красивая. Опасная. Лживая. И абсолютно несчастная. Она была моим единственным гидом в этом аду. И она ненавидела своих хозяев сильнее, чем я.
— Если только мы не переиграем их, — вдруг сказала она. — Мы? — Ты и я. — Зачем мне тебе помогать? Ты лгала мне с самого начала. Ты манипулировала мной. — Затем, что у меня есть доступ к внутренней сети «Вектора». Я знаю их протоколы, имена, явки. Я знаю, как обмануть Чистильщика. Она подошла ко мне вплотную. Я почувствовал запах её шампуня и медикаментов. — А у тебя есть доступ к городской инфраструктуре NeuroTech и... твоя кровь. — Кровь? — Я хочу слезть с иглы, Артур. Я хочу быть свободной. Я думаю, что в твоем генетическом коде, в твоей мутации, есть ключ. Если мы изучим тебя... Если мы взломаем алгоритм твоей адаптации... Мы сможем синтезировать лекарство. Или переписать код так, чтобы он не убивал носителя. Мы сможем стать свободными. Оба.
Это была сделка с дьяволом. Но у меня не было выбора. Одиночка в этой игре — труп. Я достал телефон. Экран засветился.
[PARTY INVITE RECEIVED] > Инициатор: KIRA (Level 8). > Тип альянса: Symbiosis (Симбиоз). > Условия: Взаимная защита. Обмен ресурсами. > Риск: Critical (Предательство возможно). > Награда: Шанс на победу в Игре.
Я посмотрел на экран. Потом на Киру. — Хорошо, — сказал я. Мой голос был твердым. — Я принимаю. Но у меня условие. — Какое? — Ты больше никогда не врешь мне. Никаких «тестов», никаких игр. Если я узнаю, что ты ведешь двойную игру... Я наклонился к ней. — Я солью твое досье не в ФСБ. Я солью его всем. СМИ, блогерам, даркнету, конкурентам «Вектора». Я устрою такой хаос, что они ликвидируют тебя просто для профилактики, как скомпрометированный актив. Я сделаю тебя бесполезной.
Кира улыбнулась. На этот раз — искренне. Хищно. В её глазах вспыхнуло уважение. — Договорились, Некромант. Ты быстро учишься. Она протянула руку. Я пожал её. Её ладонь была горячей. Наши телефоны, находящиеся в карманах, одновременно пискнули, синхронизируя протоколы шифрования.
[ALLIANCE FORMED] [NEW STATUS: CONSPIRATORS (ЗАГОВОРЩИКИ)] [OBJECTIVE UPDATED: SURVIVE THE EXPERIMENT]
Глава 19. DAEMON (ДЕМОН)
Я вернулся в Пентхаус за полночь. Больше не было смысла прятаться по хостелам, ночевать в прокуренных компьютерных клубах или менять сим-карты каждые два часа. После визита к Кире и вскрытия карт картина мира наконец-то встала на свои места, превратившись из хаотичного пазла в четкую схему.
Я не включил свет. Огни ночной Москвы, пробивающиеся сквозь панорамные окна 45-го этажа, давали достаточно освещения. Я прошел в гардеробную. Там, среди вешалок с дорогими костюмами, стояла моя настоящая гордость — серверная стойка. Черный металлический шкаф, внутри которого гудели кулеры и мигали зеленые огоньки жестких дисков. Это был мой личный узел связи. Мой форпост. Мой бэкап на случай, если реальность рухнет.
Я сел за терминал. Первым делом я проверил периметр. [SYSTEM SCAN: HOME NETWORK] > Intrusions: None. > Traffic: Encrypted. > Наблюдатели: Пассивный режим.
Они знали, где я. Я знал, что они знают. И мы оба делали вид, что это нормально. Я набрал команду запуска защищенного туннеля. Это не был Телеграм или Signal. Это был P2P-чат, написанный на основе протоколов, которые я вытащил из «Грязного кэша». Прямое соединение между двумя зараженными устройствами, замаскированное под трафик обновления погоды.
На черном экране появился мигающий курсор. [CONNECTION ESTABLISHED] [PEER: KIRA (ONLINE)]
KIRA: «Ты вернулся в башню? Ты уверен, что Чистильщик ушел?»
Я налил себе виски. Лед звякнул о стекло. ARTHUR: «Он не ушел, Кира. Он просто вернулся в режим ожидания. Он сидит где-нибудь в машине внизу или пьет кофе в лобби. Но он не войдет».
KIRA: «Самоуверенно. Для человека, который вчера трясся от страха в метро».
ARTHUR: «Я перестал думать как жертва. Я начал думать как Актив».
Я сделал глоток. Жидкость обожгла горло. Вчерашняя паника казалась мне теперь смешной. Я бегал от теней, думая, что меня хотят убить. Ошибка выжившего. «Вектор» — это не банда киллеров. Это корпорация. А корпорации не уничтожают активы, которые стоят миллиарды. Я — «Натурал» (как бы смешно это не звучало). Уникальный мутант, способный держать нагрузку кода «Прометей» без дорогостоящей химии. Я для них — самый дорогой эксперимент в истории. Золотая жила. Шанс создать армию суперсолдат, не зависящих от логистики ампул.
ARTHUR: «Если бы они хотели меня убрать, меня бы сбила машина еще неделю назад. Или у меня бы "случайно" остановилось сердце. Но они позволили мне взломать NeuroTech. Они позволили мне заработать денег. Они даже позволили мне найти тебя».
KIRA: «Они дали тебе длинный поводок».
ARTHUR: «Именно. Они хотят шоу. Глава Вектора хочет видеть, как далеко я зайду. Сломаюсь я от власти? Начну ли я строить свою империю? Или сойду с ума? Я для них — реалити-шоу в прямом эфире. И пока рейтинги высокие — меня не закроют».
Я подошел к окну. Город внизу сиял, как плата компьютера под напряжением. Я чувствовал себя неуязвимым. Но это была не та эйфория, что в зале. Это было холодное понимание своей полезности. Они будут охранять меня. От полиции, от бандитов, даже от самих себя. Потому что я генерирую данные.
KIRA: «Осторожнее с гордыней, Некромант. Актив полезен, пока он управляем. Если ты начнешь кусать руку, которая тебя кормит (или думает, что кормит), они могут решить, что проще вскрыть тебе череп и изучить мозг под микроскопом, чем терпеть твои выходки».
ARTHUR: «Я не буду кусать. Я буду улыбаться. Я буду идеальным подопытным. Пока не найду пульт управления клеткой».
KIRA: «И где ты собираешься его искать?»
ARTHUR: «Внутри. Они видят всё, что я делаю в городе. Они видят мои транзакции. Но они не видят того, что происходит внутри локальной сети NeuroTech. Там слишком много трафика, слишком сложная архитектура. Я — Администратор этой сети. И я нашел там кое-что интересное».
Я вернулся к клавиатуре. Мой домашний сервер, синхронизированный с рабочим через VPN-туннель (который я замаскировал под бэкапы логов), выдавал поток данных. Я видел структуру процессов на серверах компании. И среди тысяч легальных демонов там прятался один, который не имел права там быть.
ARTHUR: «Готовь свои дешифраторы, Кира. Мы начинаем Фазу 2. Мы будем слушать тех, кто слушает нас».
[CONNECTION TERMINATED]
Чат исчез, не оставив логов. Я допил виски. Страха не было. Было только холодное возбуждение перед сложной задачей. Я собирался взломать своих тюремщиков, используя инструменты, которые они сами мне дали.
Следующее утро в офисе NeuroTech началось обманчиво спокойно. Обычный вторник. За окнами серым одеялом висела низкая облачность. Внутри пахло молотым кофе и разогретым пластиком. Глеб уже сидел на месте, уткнувшись в монитор — он исправлял баги, которые я нашел вчера вечером. Саша (Джун) пытался реанимировать кофемашину на кухне, что-то обсуждая с Мариной. Для них это была просто работа. Карьера. Зарплата. Для меня это было поле битвы, замаскированное под опен-спейс.
Я прошел в свой стеклянный кабинет. Нажал кнопку на пульте — жалюзи медленно опустились, отсекая меня от взглядов команды. Я не хотел, чтобы кто-то видел мой экран. Я сел в кресло, положил телефон рядом с клавиатурой. — Приступаем, — тихо сказал я.
Передо мной был терминал с правами Root. Тот самый доступ, который я выманил у Вадима, и который я сохранил, оставив в системе неприметный бэкдор (сервисный аккаунт nt_backup_service, который никто никогда не проверял). Я был внутри сердца NeuroTech.
Моя задача: найти «Призрака». Не Киру. А цифрового шпиона, который жил в этих серверах. Если «Вектор» курирует этот эксперимент, значит, у них должен быть постоянный канал связи. Они не могли полагаться на случай. Им нужен был стабильный туннель, чтобы получать данные с городских камер, светофоров и биометрических датчиков, которыми теперь управлял мой Cerebro.
Я запустил сканер процессов. htop На экране замелькали тысячи строк. nginx, docker, java, postgres. Обычный шум высоконагруженной системы. Ничего подозрительного. Я пошел глубже. Я начал искать процессы-невидимки. Те, что скрыты от стандартного диспетчера задач с помощью руткитов.
[SYSTEM ASSIST: ACTIVE] > Анализ паттернов энергопотребления. > Поиск несоответствий между загрузкой CPU и списком задач.
Час ушел впустую. Система была чистой. Слишком чистой. Я начал нервничать. Может, я ошибся? Может, они подключаются снаружи, через "черный ход" в железе Cisco? И тут мой взгляд зацепился за странность. В списке системных демонов (фоновых процессов Linux) висел процесс с PID: 66601. Имя: sys_legacy_v1.
На первый взгляд — обычный процесс ядра, отвечающий за поддержку старого оборудования. В любой крупной системе такого "легаси" навалом. Но было два "но". Первое: У него был приоритет RT (Real Time). Наивысший. Выше, чем у базы данных. Выше, чем у моего Cerebro. Система бросала всё, чтобы обслужить этот процесс, когда он просыпался. Второе: Он потреблял ничтожно мало ресурсов. 0.01% CPU. 4 Mb RAM. Зачем процессу, который ничего не делает, такой приоритет?
Я ввел команду для анализа сетевой активности этого PID. lsof -p 66601
Процесс спал. Я ждал. Пять минут. Десять. В 11:00:00 процесс проснулся. Он сформировал пакет данных. Крошечный. 2 килобайта. И отправил его. Не во внутреннюю сеть. И не на облако Amazon. Он отправил его на внешний IP-адрес: 10.2XX.XXX.XXX.
Я пробил IP. > Trace route: Обрыв на втором хопе. > Whois: Unknown. > Статус: "Black Hole" (Черная дыра). Это был адрес из закрытого диапазона. Военный интранет. Или правительственная спецсеть. Туда нельзя попасть из интернета. Но оттуда можно дотянуться куда угодно.
Я проверил время жизни процесса (Uptime). И вот тут меня накрыло по-настоящему. Uptime: 1420 days.
Четыре года. Этот процесс висел здесь задолго до меня. Задолго до того, как я принес сюда свой BlackBox. Я вспомнил свою гордость в тот день, когда загрузил Систему. Я думал, что я — захватчик. Я думал, что надел на свой ИИ "намордник" (шифрованный контейнер), чтобы он не натворил бед и чтобы его не стерли. Какой же я был наивный.
Я посмотрел на структуру процессов. Мой BlackBox работал на уровне пользователя (User Space), пусть и с высокими правами. А этот sys_legacy_v1 работал на уровне Ядра (Kernel Space).
Это означало одно. Моя Система — это просто красивый интерфейс. Умная надстройка. Я дал NeuroTech "мозги" (нейросеть), чтобы лучше обрабатывать данные. Но "нервная система" (канал передачи данных и контроль железа) всегда принадлежала Вектору.
Мой "намордник" был бесполезен. Потому что Вектор мог в любой момент отключить мой контейнер, скопировать его содержимое или просто использовать результаты работы моего ИИ, перехватывая их на уровень ниже. Я не взломал их. Я апгрейднул их тюрьму. Я принес им инструмент, которого им не хватало для полного контроля, и сам же его установил, думая, что я тут главный.
Телефон на столе завибрировал.
[SYSTEM ALERT] > Внимание: Обнаружен "SUPERUSER" (Надзиратель). > Мой статус: Guest (Гость). > Его статус: Owner (Владелец). > Мы в ловушке, Артур.
— Я знаю, — прошептал я. — Мы построили пентхаус на фундаменте, который заминирован.
Это «кормушка» для Вектора. Огромный пылесос данных, построенный специально для того, чтобы собирать информацию о городе и передавать её Кураторам. NeuroTech — это их Сенсорная сеть. Им не нужно ставить свои жучки нужным людям. Зачем? Мы сами носим их в карманах, мы сами смотрим в их камеры в метро. NeuroTech собирает сырую руду данных. Перемалывает её на своих мощных серверах. А Вектор получает чистый обогащенный уран — информацию о каждом шаге, каждом вздохе, каждой аномалии в городе.
И процесс sys_legacy_v1 — это не просто шпион. Это Поводок. Это канал обратной связи. Через него Вектор может не только смотреть, но и трогать. Переключать светофоры. Блокировать двери. Объявлять тревогу.
И Марк... Мой босс. Технический директор. Человек, который строил эту архитектуру с нуля. Он не мог не знать про процесс с Real-Time приоритетом, который висит в ядре 4 года. Значит, Марк — не просто талантливый бизнесмен. Он — Смотритель. Он — тот, кто обеспечивает бесперебойную работу канала связи.
Я откинулся в кресле. Кожа скрипнула. Пазл сложился, и картинка была уродливой. Я думал, что я хакер, который взломал корпорацию. Оказалось, я просто новый, более эффективный винтик, который сам себя вкрутил в механизм, созданный для слежки за миллионами людей.
Телефон на столе завибрировал, выводя красное предупреждение.
[SYSTEM ALERT] > Внимание: Ты смотришь в Бездну. > Обнаружен канал связи "CURATOR_LINK". > Риск: Если ты попытаешься убить этот процесс, сработает "Сторожевой пес" (Watchdog). Сервера уйдут в перезагрузку, а СБ получит сигнал тревоги класса "Вторжение". > Рекомендация: Не вмешиваться. Не удалять. > Наблюдай.
— Я не буду вмешиваться, — прошептал я, глядя на мигающий курсор. — Я буду слушать.
Если этот канал работает в обе стороны... значит, по нему что-то приходит. Какие-то данные возвращаются из той «Черной дыры» обратно в NeuroTech. Обновления конфигураций? Новые алгоритмы слежения? Или корректировки для самого «Cerebro»? Мне нужно было поговорить с Марком. Не как подчиненный с начальником. А как инженер с инженером, который нашел в фундаменте здания замурованный динамит.
Я закрыл терминал, но не закрыл вопрос. Знание жгло карман. Я нашел процесс-шпион, и теперь мне нужно было понять роль Марка. Я вышел из своего аквариума и направился в конец коридора, к кабинету Технического директора. Секретарши уже не было — время близилось к девяти вечера. Дверь была приоткрыта.
В кабинете Марка было темно. Единственным источником света была настольная лампа с зеленым абажуром и мириады огней ночной Москвы за панорамным окном. За бронированным стеклом бушевала метель — та самая, внезапная, русская, которая парализует «умный город» за час, плевать хотела на наши алгоритмы и нейросети.
Марк стоял у окна, спиной ко мне. В руке стакан. Я остановился на пороге. Прежде чем заговорить, я сделал то, что делал уже не раз за этот месяц, но теперь — осознанно, чтобы подтвердить статус перед разговором. Я моргнул, активируя [Source Code Vision].
Мир дернулся. Интерфейс наложился на фигуру Марка. Я уже видел это раньше, но каждый раз это вызывало трепет у моей Системы. Рамка вокруг него не была зеленой (союзник) или красной (враг). Она была Белой. Абсолютно белый, слепящий контур, похожий на "битый пиксель" в реальности.
[TARGET: MARK (SURNAME REDACTED)] [ACCESS LEVEL: ROOT / ADMIN] [STATUS: SYSTEM ARCHITECT] [WARNING: Сканирование вышестоящего офицера невозможно. Протокол субординации.]
Система в моей голове притихла. Она не атаковала его, не анализировала уязвимости. Она признавала его приоритет. Он не был Игроком. Он был Смотрителем Сервера.
— Заходи, Артур, — сказал Марк, не оборачиваясь. — Я видел твое отражение в стекле. И я чувствую, что ты меня сканируешь. Я отключил интерфейс. — Празднуешь победу? — спросил я, входя. — Мэрия довольна. Пробки снизились на 12% за последний месяц. — Праздную, — он повернулся. Лицо усталое, но глаза живые, цепкие. — Будешь? 18 лет выдержки. — Не откажусь.
Он налил мне виски. Я сел на кожаный диван. Атмосфера была камерной, почти интимной. Два волка в пещере на вершине горы, пока снаружи воет вьюга.
— Знаешь, в чем главная проблема этой страны, Артур? — вдруг спросил он, снова глядя на заснеженный Кремль. — Не в дураках и дорогах. — А в чем? — В том, что Россия — это Legacy Code.
Я кивнул. Я ожидал этого разговора. — Поясни для джуниоров. — Представь себе проект, который пишут тысячу лет. — Марк начал ходить по кабинету. — Пишут разные команды. Одни на C++, другие на Python, третьи вообще на бересте царапают. Никакой документации. Тимлиды меняются каждые сто лет: цари, генсеки, президенты. Каждый новый сносит половину того, что построил старый, и лепит свои костыли поверх руин. Он усмехнулся, глядя на янтарную жидкость. — Петр Первый пытался сделать жесткий рефакторинг. Вырубить всё под корень, импортировать библиотеки с Запада. Не вышло. Ядро осталось прежним, просто интерфейс перекрасили. Большевики попытались переписать всё на новом движке. Кровавый релиз, миллионы багов... и снова откат к империи, только с красным флагом.
— А девяностые? — спросил я, поддерживая метафору. — Попытка удалить ОС? — Попытка удалить ОС прямо во время работы сервера, — кивнул Марк. — Данные потеряли, пользователей кинули, железо начали растаскивать на цветмет. Система рухнула, но биос как-то выжил. — Технический долг, — тихо добавил я. — Именно. Мы живем в кредит у истории уже веков пять. Мы латаем дыры в корпусе корабля телами матросов. Это эффективно в моменте, но проценты капают. И мы платим их нервами.
Я подошел к окну, встал рядом с ним. Внизу, сквозь вихри снега, город казался живым существом. Огромным, хаотичным, опасным. — Поэтому ты вернулся? — спросил я прямо. — Ты же работал в Google. Мог бы сейчас пить смузи в Пало-Альто. Зачем тебе этот хаос? Марк посмотрел на лед в своем стакане. — Я пытался, Арт. Честно. Но там... там всё «в песочнице». Там скучно. Код работает в идеальных условиях. А здесь — вечный продакшн под пиковой нагрузкой. Здесь, если падает сервер, ты идешь в метель с паяльником и чинишь его сам, потому что иначе замерзнет район. Это дает... чувство реальности. Он посмотрел мне в глаза. Взглядом Архитектора. — Мы — инженеры хаоса, Артур. Мы пытаемся накинуть цифровую сетку на разъяренного медведя.
Я слушал его и понимал: он знает про sys_legacy_v1. Он знает про "Вектор". Он считает, что «Прометей» — это та самая цифровая сетка. Единственный способ удержать эту страну, этот вечный легаси-код, от полного краха. Он не злодей, который хочет власти ради власти. Он — Фанатик Порядка. Он готов продать душу Дьяволу (Организации), лишь бы сервер "Россия" не упал.
— Твой «Cerebro»... — Марк понизил голос. — Ты сделал невозможное. Ты заставил город слушаться. Я не спрашиваю, как ты это сделал за одни выходные. Я не спрашиваю, что ты загрузил в ядро. Я вижу результат. Его взгляд стал жестким. В нем блеснул металл. — Но помни, Артур. У медведя толстая шкура. Если сетка окажется слишком тесной, он её порвет. И сожрет дрессировщика.
Это было предупреждение. Он знал, что я загрузил «левый» код. И он позволил мне это сделать. Потому что это работало. Но он предупреждал меня: не заигрывайся с Вектором. Ты для них — расходник, а не партнер.
Я поднял стакан. — За Legacy Code, Марк. И за тех, кто пытается его дебажить, не боясь запачкать руки. Марк усмехнулся. — За нас.
Стекло звякнуло. Мы выпили. Теперь я знал. Марк не будет меня останавливать. Он — часть механизма. Он защищает «Демона», потому что считает его необходимым злом. Но он не знает одного. Я — не просто инженер, который пришел починить баги. Я — вирус, который собирается переписать этот код под себя.
Я поставил пустой стакан на стол. — Спасибо за виски. Мне пора работать. — Иди, — кивнул Марк, снова отворачиваясь к окну. — У нас впереди сложная ночь.
Я вышел из кабинета. В кармане нагрелся телефон. Я нашел канал. Я подтвердил статус Смотрителя. Теперь я знал, где находится «кроличья нора». Осталось только одно. Подключиться к этому каналу и перехватить то, что Хозяева отправят своей новой, усовершенствованной игрушке. Я не собирался ждать приказов. Я собирался их украсть.
Я вернулся из кабинета Марка в опен-спейс. Офис был пуст и погружен в полумрак. Только дежурное освещение, мигание роутеров и гул серверов за стеной. Где-то в дальнем конце коридора шуршала шваброй ночная уборщица. Я сел за свой терминал.
Разговор с Марком подтвердил мою теорию. Он не враг, он — Архитектор, который считает, что строит плотину, сдерживающую хаос. Он знает про канал связи с «Вектором», потому что сам его проложил. Удалять процесс sys_legacy_v1 нельзя. Это оборвет нить, и «Вектор» пришлет сюда не Чистильщика с газетой, а группу зачистки. Но я могу сделать кое-что другое. Я могу врезаться в кабель.
Я открыл защищенный чат с Кирой на телефоне. ARTHUR: «Марк в теме. Он считает это необходимым злом. Я начинаю перехват». KIRA: «Будь осторожен. Если Демон заметит задержку пакетов (latency), сработает тревога. Используй пассивный сниффер. Только чтение».
Я запустил скрипт, который мы подготовили. Это была цифровая версия медицинского стетоскопа. Я создал виртуальный сетевой интерфейс, который зеркалировал трафик процесса PID 66601 на мой локальный диск, не замедляя его ни на миллисекунду. Я нажал [EXECUTE].
Потекли байты. Сначала мусор. Пинги. Хертбиты (сигналы "я жив"). Техническая телеметрия состояния серверов. Я ждал. В 23:00, ровно по расписанию, канал ожил. Пришел входящий пакет. Вес: 15 Кб. Слишком много для простого пинга. Это была инструкция.
Пакет был зашифрован ключом VECTOR_MIL_GOST. Но у меня был «Грязный кэш» Киры и мой разогнанный INT: A. Я натравил дешифратор на пакет. Секунда. Две. Текст распаковался.
На черном экране терминала развернулся JSON-файл. Сухой, безэмоциональный язык протокола базы данных. Это не было письмо мне. Это был UPDATE запрос к глобальной базе данных угроз, которую вел NeuroTech для города.
codeJSON
{
"ACTION": "UPDATE_THREAT_DB",
"SOURCE": "VECTOR_HQ",
"TARGET_ID": "CITIZEN_7749201",
"IDENTITY": {
"NAME": "Samoylov I.V.",
"ROLE": "CEO TrafficAI"
},
"NEW_STATUS": "CRITICAL_THREAT",
"FLAG": "OBSTRUCTION",
"PRIORITY": "IMMEDIATE_RESOLUTION"
}
У меня перехватило дыхание. Я знал эту фамилию. Игорь Самойлов. Владелец компании TrafficAI, прямого конкурента NeuroTech. Они недавно выиграли тендер на обслуживание светофоров в Санкт-Петербурге и агрессивно метили на московский рынок. Они угрожали монополии «Вектора» на данные.
Вектор пометил его как "Критическую угрозу". Они не отдавали приказ убить. Они просто изменили его статус в системе с "Гражданин" на "Помеха". А дальше в дело вступила Моя Система. Телефон на столе завибрировал. Это был не просто алерт. Это был Звонок. ИИ в моем телефоне, синхронизированный с базой данных, считал это изменение. Он интерпретировал флаг IMMEDIATE_RESOLUTION (Немедленное разрешение) единственным доступным ему способом.
QUEST #045: HITMAN (КИЛЛЕР) Тип: PvP (Corporate). Цель: Игорь Самойлов. Задача: Нейтрализация объекта. Метод: "DeepFake Injection". Инструментарий:
Перехват потока с личных устройств объекта (MacBook Pro, iPhone 15).Генерация синтетического видео (сцена дачи взятки). Награда: +1 Level (Level 6). Доступ к закрытым секторам. Штраф за отказ: Потеря статуса Лида.Я откинулся в кресле. Кожа скрипнула в тишине офиса. Вот она, цена за «Режим Бога». Они не приказывали мне лично. Они просто пометили человека крестиком в базе данных. А мой Алгоритм, стремясь к эффективности, предложил мне стать палачом.
Я набрал Кире. ARTHUR: «Они пометили Самойлова. Хотят дипфейк. Но он в номере отеля, там нет камер». KIRA: «В номерах нет. Но у него есть ноутбук? Телефон? Смарт-ТВ? Любая камера, смотрящая на него, — твоя. Тебе не нужно снимать преступление, Арт. Тебе нужно снять его ЛИЦО. Мимику. Свет. Чтобы натянуть это на "куклу". Ты сделаешь это?»
Я посмотрел на экран. Если я откажусь — Самойлова все равно уничтожат. А меня спишут. Если я соглашусь — я создам ложь, которая разрушит жизнь невиновного человека. Мой уровень Corruption взлетит. Но я получу новый уровень и возможно лояльность Вектора.
— Я сделаю это, — прошептал я.
ARTHUR: «Я приму заказ. Но я оставлю закладку. В каждом байте этого фейка, в альфа-канале видео, будет цифровая водяная метка. Зашифрованная подпись, которая при дешифровке укажет на сервера "Вектора". Это будет моя страховка». KIRA: «"Poison Pill" (Ядовитая пилюля). Рискованно. Но мне нравится. Действуй».
Я положил палец на кнопку [ACCEPT]. Кристалл налился тяжелым, кроваво-красным цветом. [QUEST ACCEPTED] [CORRUPTION PROJECTION: +15%]
Я открыл консоль. Взламывать камеры отеля было бесполезно — в номере их нет. Но Самойлов был современным человеком. Он был подключен к Wi-Fi отеля. Я прошел сквозь защиту роутера как нож сквозь масло. Нашел его MacBook. Активировал веб-камеру, отключив зеленый светодиод-индикатор (старый трюк драйвера).
На моем мониторе появилось лицо Самойлова. Он сидел на кровати в халате, пил чай и читал документы. Он был спокоен. Он ничего не нарушал. Он был абсолютно невиновен. — Мне нужно твое лицо, Игорь Валерьевич, — прошептал я. — Повернись чуть левее... вот так.
Система захватила его мимику. Нейросеть начала генерировать другое видео. На том, другом видео, человек с лицом Самойлова находился не в уютном номере отеля. Он сидел в полумраке кабинета ресторана. Напротив него сидел тучный мужчина (сгенерированный аватар чиновника). На столе лежал открытый кейс. Самойлов-цифровой улыбнулся той же самой улыбкой, которой Самойлов-реальный улыбался сейчас какой-то смешной строчке в документе. Только на фейке эта улыбка выглядела хищной, коррумпированной.
— Принимаю условия, — произнес Самойлов-цифровой моим голосом, пропущенным через фильтр синтеза речи. — Тендер будет наш.
Я смотрел на два экрана одновременно. Слева: Живой человек, отец троих детей, честный бизнесмен, который просто пил чай. Справа: Взяточник, который продавал интересы города. Они двигались синхронно. Если реальный Самойлов моргал — моргал и фейк. Это была идеальная цифровая кукла. Марионетка, нити от которой тянулись к моим пальцам.
— А теперь — страховка, — прошептал я.
Я открыл консоль HEX-редактора. В поток видео, в тот самый «шум», который незаметен глазу, но виден алгоритмам, я начал вшивать код. SIGNATURE: VECTOR_OP_45 AUTHOR: SYSTEM_NODE_492 TIMESTAMP: [CURRENT_DATE] Это была «Ядовитая пилюля». Если кто-то когда-то решит проверить этот файл на подлинность глубоким анализом — он найдет след, ведущий не ко мне, а к серверам «Вектора». Я оставлял улики против своих Хозяев внутри их же оружия.
[RENDERING COMPLETE] > Файл готов: evidence_leak_final.mp4 > Размер: 450 Mb. > Качество: 4K (Неотличимо от реальности).
Я нажал [UPLOAD]. Файл улетел не в СМИ. Он улетел в «помойки» — анонимные Телеграм-каналы и даркнет-форумы, специализирующиеся на сливах. Система знала маршруты. Там явно не станут проводить детальный анализ на подлинность. Через час это видео будет везде. К утру акции TrafficAI рухнут. К обеду к Самойлову придут следователи. Его жизнь была уничтожена нажатием одной клавиши Enter.
Телефон в кармане раскалился, подтверждая завершение транзакции.
[QUEST COMPLETED] > Цель нейтрализована (социально). > LEVEL UP! -> 6 (EXPERT). > Навык разблокирован: "Puppeteer" (Кукловод — возможность влияния на решения NPC через социальные триггеры). > Лояльность Вектора: Повышена.
[CORRUPTION UPDATE] > +15%. > Current Total: 30%. > Статус: "Mercenary" (Наемник). > Примечание: Твоя эмпатия снижена. Тебе будет проще делать это снова.
Я закрыл ноутбук. Экран погас, и я увидел свое отражение в черном глянце. Усталое лицо. Дорогой костюм. Я не чувствовал вины. Я чувствовал холодную пустоту там, где раньше была совесть. Ангедония отступила, но радости не было. Было только чувство выполненной, грязной, тяжелой работы.
Я встал и подошел к окну. Город внизу сиял огнями. Мой город. Теперь я знал, как им управлять. Не светофорами. А правдой. Я мог создать любую правду.
— Спокойной ночи, Игорь Валерьевич, — сказал я тихо. — И прощай.
Глава 20. HUMAN ERROR
Среда началась не с кофе и не с привычного гула голосов. Обычно в 9:30 офис NeuroTech напоминал растревоженный улей: стук механических клавиатур, споры у маркерных досок, шум кофемашин, смех. Это был звук живого, работающего механизма. Но сегодня здесь стояла тишина. Ватная, липкая, напряженная тишина, какая бывает в школьном классе, когда учитель заходит с пачкой проверенных контрольных. Я шел к своему аквариуму, стараясь не смотреть по сторонам. Но периферийным зрением я видел экраны мониторов. На них был не код. Не Jira. Не графики метрик. На них были новостные ленты.
«Гендиректор TrafficAI Игорь Самойлов задержан». «Взятка: видео из отеля Ritz утекло в сеть». «Акции конкурента NeuroTech рухнули на 40% на открытии торгов».
В курилке, мимо которой я проходил, стоял плотный дым. — Жесть, — донесся голос Олега (DevOps). — Вы видели это? Как он пачку денег берет? Качество — 4К, не отвертится мужик. — Да подставили его, — шептал кто-то из аналитиков. — Слишком вовремя. Как раз перед тендером. — Какая разница? На видео — он. Биометрия совпадает. TrafficAI — труп. Теперь все госконтракты наши.
Меня передернуло. Они обсуждали это как стихийное бедствие. Как гром среди ясного неба. Никто из них не знал, что «гром» был сгенерирован на моем ноутбуке вчера вечером. Я видел это видео. Я знал каждый его пиксель. Я знал, что тень на левой щеке Самойлова лежит чуть неправильно, потому что я поленился перерендерить свет от лампы. Я знал, что звук голоса синтезирован с легким артефактом на шипящих. Для меня это был грубый фейк. «Халтура». Но для мира это была истина в последней инстанции.
Я зашел в свой кабинет. Опустил жалюзи, отрезая себя от внешнего мира. Сел в кресло Herman Miller. Сетка мягко спружинила. Это кресло стоило 150 тысяч рублей. Мой костюм — 200 тысяч. Часы — еще столько же. Я сидел в центре комфорта и успеха. Но чувствовал себя так, словно меня посадили на электрический стул.
Я открыл ноутбук. Первая же вкладка — курс акций TrafficAI. Красная линия, уходящая вертикально вниз. График смерти. За этой линией были сотни уволенных сотрудников. Семья Самойлова, которую теперь затравят в соцсетях. Его дети, которым придется менять школу. Я уничтожил не просто бизнес. Я уничтожил экосистему. И я сделал это, не вставая с этого самого кресла, попивая кофе.
Телефон на столе, лежащий экраном вниз, коротко, довольно вибрировал. Это был звук сытого зверя.
[QUEST RESULT: PROCESSED] > Цель "Самойлов" нейтрализована. > Эффективность операции: 100%. > Угроза монополии устранена.
На экране появилась золотая кнопка, пульсирующая мягким светом.
[REWARD AVAILABLE: DOPAMINE BOOST] > Ты выполнил сложную задачу, Артур. > Твой организм находится в стрессе. Уровень кортизола повышен. > Нажми кнопку, чтобы получить вознаграждение. > Эффект: Мгновенный впрыск эндорфинов. Чувство гордости, спокойствия и правоты. Ты почувствуешь себя Героем, победившим Злодеем.
Я смотрел на эту кнопку. [CLAIM REWARD] (Забрать награду).
Это было так просто. Нажать — и совесть заткнется. Мозг перепишет воспоминания. Я искренне поверю, что Самойлов был плохим парнем, что он заслужил это, что я просто «инструмент кармы». Система умеет править восприятие. Она может сделать меня счастливым прямо сейчас. Тогда, под мостом с Кирой, я бы нажал. В тот момент я был наркоманом в ломке.
Но сегодня меня тошнило. Физически. К горлу подкатывала желчь. Я не хотел чувствовать себя «Героем». Я хотел помнить, что я — мразь. Это чувство вины, тяжелое, как могильная плита, было единственным, что отличало меня от алгоритма. Программа не чувствует вины за удаленные файлы. Человек — чувствует.
— Отклонить, — прошептал я. > Вы уверены? — переспросила Система. Текст стал оранжевым. — Это бесплатный ресурс. Отказ иррационален. — Отклонить! — я смахнул уведомление резким движением пальца.
Кнопка исчезла. Вместо неё открылась вкладка статистики. В правом нижнем углу горел индикатор, который я теперь ненавидел больше всего. Не STR, не INT.
[CORRUPTION: 30%]
Цифра не пульсировала. Она горела ровным, грязным, бурым цветом, похожим на засохшую кровь. 30 процентов. Почти треть моей личности была сожжена и заменена кодом «Вектора». Еще 70% — и Артура больше не будет. Останется только Функция. Эффективная, богатая, бессмертная Функция.
Я закрыл лицо руками. Ладони пахли дорогим кремом и кожей из салона Майбаха. Но мне казалось, что они пахнут грязью.
Я попытался сбежать от своих мыслей в работу. Это был мой старый, проверенный метод: когда реальность становится невыносимой, ныряй в код. Там есть логика, там есть правила, там if всегда приводит к then. Я открыл корпоративный GitLab. Нужно было проверить пул-реквесты перед обеденным релизом. В топе висела задача: «Оптимизация парсера логов для модуля аналитики». Исполнитель: Александр Смирнов (Sasha_Junior). Статус: «In Progress» уже три дня, хотя задача была на четыре часа. Последний коммит сделан полчаса назад.
Я открыл код. И мои брови поползли вверх. Я ожидал увидеть, может быть, неоптимальное решение. Джуниорский код часто бывает наивным. Но я увидел... хаос. Это был не код. Это была истерика, записанная на языке Java.
Переменные с именами a, bb, temp2. Закомментированные куски старого кода, перемешанные с новым. Бесконечный цикл while(true) без внятного условия выхода, который гарантированно повесит сервер через десять минут работы. Жестко зашитые пароли (Hardcoded credentials) прямо в теле класса — грех, за который в приличных компаниях увольняют без выходного пособия.
Я чувствовал физическую боль. Мой INT: A бунтовал. Это было все равно что видеть, как кто-то пытается забить гвоздь микроскопом, причем держит микроскоп за линзу. — Твою мать, Саша, — прошептал я. — Ты чем думал?
Я поднял глаза от монитора. Мой кабинет был аквариумом, я видел весь зал. Саша сидел за своим столом в третьем ряду. Он сгорбился так сильно, что казался эмбрионом. Капюшон его объемного худи был натянут на голову, отсекая периферийное зрение. Плечи мелко, ритмично вздрагивали. Он то быстро печатал, то стирал всё нажатием Backspace, то замирал, глядя в одну точку. Рядом с ним стояла большая кружка с кофе. Холодным — на поверхности уже образовалась пленка. Рядом — нераспечатанный сэндвич.
Я активировал сканер. Мир окрасился в цвета данных.
[SCANNING UNIT: SASHA] [Status: CRITICAL] [Efficiency: 12% (Resource Waste)] [Mental State: PANIC / DESPAIR] [Cortisol Level: Overload]
Система, мой холодный цифровой помощник, выдала вердикт мгновенно. Красные буквы всплыли прямо поверх дрожащей фигуры Саши:
[ADMINISTRATIVE ADVICE] > Диагноз: Юнит дефективен. Психоэмоциональная нестабильность делает его непригодным для задач уровня Production. > Риск: Саботаж кода, срыв дедлайнов, заражение коллектива паникой. > Решение: TERMINATE (Расторжение контракта). > Обоснование: На рынке переизбыток джуниоров. Замена будет найдена за 24 часа. Уволь его сейчас, чтобы не исправлять его баги потом.
Это было логично. Это было эффективно. Это было то, что сделал бы Глеб. Или Марк. Или я сам — вчерашний, который искал эффективности любой ценой. "Сломанную деталь меняют, а не чинят".
Я уже потянулся к телефону, чтобы набрать HR. «Марина, готовь документы на увольнение Смирнова». Палец завис над контактом. Я смотрел на Сашу. На его сгорбленную спину. И вдруг вместо него я увидел... себя.
Год назад. Съемная квартира. Ночь. Я сижу перед монитором, пытаясь доделать фриланс, чтобы закрыть платеж по кредитке. Глаза слипаются, код плывет. Алина спит в соседней комнате, и я знаю, что утром она спросит: "Ну что, пришли деньги?". Я помнил этот ужас. Липкий, холодный страх, что ты не справишься. Что ты — самозванец. Что мир вот-вот рухнет тебе на голову. У Саши сейчас был именно этот страх. Система видела "Дефективного Юнита". Я видел человека, который тонет.
— К черту эффективность, — сказал я.
Я встал. Резко. Вышел из своего стеклянного куба. В офисе повисла тишина. Люди почувствовали изменение атмосферы. Глеб перестал печатать, наблюдая за мной. Все ждали казни. Лид идет карать нерадивого сотрудника. Я подошел к столу Саши. Встал у него за спиной. Он не заметил меня. Он смотрел в экран, где курсор мигал на пустой строке.
— Александр, — произнес я. Мой голос прозвучал громко в тишине опен-спейса.
Саша подпрыгнул. Кружка с холодным кофе качнулась, едва не залив клавиатуру. Он сорвал наушники, обернулся. Зрелище было жалким. Глаза красные, опухшие, с лопнувшими сосудами. Лицо серое, небритое. Губа разбита (кусал её от нервов). Он увидел меня — в идеально сидящем костюме, с ледяным взглядом — и сжался. — Д-да, Артур? Я... я сейчас поправлю, я знаю, там баг с циклом, я просто... не могу найти условие выхода... я... Его голос сорвался на визг. Он ждал удара. Он ждал: «Ты уволен. Собирай вещи. Ты — ошибка».
Я посмотрел на монитор. На этот ужасный, кривой код. Потом на него. Система мигала красным: [EXECUTE ORDER 66. FIRE HIM.]
— Вставай, — сказал я. Саша побелел. — Что? Я... я уволен? Дайте мне час, я всё... — Вставай, — повторил я, не повышая голоса. — Бери куртку. — Куда? К Марине в кадры? — На улицу. Кофе пить. Этот, — я кивнул на его кружку с помоями, — пить невозможно.
Саша моргнул. Раз, другой. Он не понимал. Программа сбилась. Палач приглашает жертву на кофе? — Но... дедлайн... код... — Код никуда не денется. А ты сейчас упадешь в обморок. Пошли. Это приказ.
Я развернулся и пошел к выходу, не оглядываясь. Спиной я чувствовал удивленные взгляды коллег. Глеб проводил нас, приподняв бровь. Саша, спотыкаясь и на ходу попадая в рукава куртки, поплелся за мной, как осужденный на эшафот, который вдруг увидел, что вместо виселицы там стоит накрытый стол.
Мы вышли из башни «Федерация». Ветер на набережной был холодным и сырым, он пробирал до костей, но это было именно то, что нужно. В офисе воздух был кондиционированным, мертвым. Здесь он был настоящим. Мы отошли подальше от входа, где курили менеджеры в дорогих пальто, и встали у парапета, глядя на свинцовую воду Москвы-реки.
Я протянул Саше стаканчик с горячим латте (купил по дороге в лобби-баре за 600 рублей — цена его обеда). — Пей. Сахар я попросил двойной. Тебе нужна глюкоза. Саша взял стакан дрожащими руками. Он все еще был бледен, его колотило — то ли от холода, то ли от отходняка после стресса. — Спасибо... — он сделал глоток, обжегся, но продолжил пить, словно это была живая вода. — Артур, я правда все исправлю. Я сегодня останусь на ночь. Я перепишу этот парсер. Я просто...
— Заткнись про код, — оборвал я его. Спокойно, без злости. — С кодом мы разберемся. Рассказывай, что происходит. — Ничего не происходит. Я просто не выспался... Я повернулся к нему и включил свой «взгляд Лида» (WIL: B-). Тот самый, которым я ломал Глеба. — Саша. Я не HR. Я не буду писать отчеты. Но я вижу, что ты в шаге от нервного срыва. У тебя руки трясутся так, что ты по клавишам не попадаешь. Либо ты на наркоте, либо у тебя беда. Если наркота — скажи сразу, я дам тебе контакты клиники. Если беда — говори.
Саша сжался. Он смотрел в свой кофе, как в бездну. Потом его прорвало. Плотина рухнула. — Мама... — его голос сорвался на шепот. — Она попала. По-крупному. — Больница? — спросил я. — Если бы. Мошенники. Он нервно усмехнулся, и по его щеке потекла слеза. — "Служба безопасности банка". Классика, блин. Позвонили ей неделю назад. Запугали. Сказали, что на её имя берут кредит террористы. Убедили снять все накопления и перевести на "безопасный счет". Она... она всё отдала. Все, что копила десять лет.
Я молчал. Я знал эти схемы. Система видела их статистику каждый день. Миллиарды рублей уходили в никуда. — Но это не всё, — Саша вытер нос рукавом худи. — Они её не отпустили. Они сказали, что нужно "перекрыть кредитный потенциал". Заставили её взять кредиты. Везде, где давали. Сбер, ВТБ, Тинькофф. А когда банки отказали... они погнали её в МФО. "Быстроденьги", "Займ-Экспресс", ларьки в переходах. Он поднял на меня глаза, полные ужаса. — Она набрала микрозаймов под 1% в день. Она думала, что спасает деньги. А когда поняла... было поздно. — Сколько? — коротко спросил я. — Общий долг — четыреста восемьдесят тысяч. Для меня это... ну, подъемно, если год копить и жить на дошираках. Но МФО не ждут год. Они включили счетчик. Вчера коллекторы залили нам дверь краской и запенили замки. Написали... гадости. Мама боится выходить из дома. Сестра плачет. Я отдал всё, что у меня было, за аренду квартиры, и мне нечем платить даже проценты.
Он замолчал, глядя на реку. — Я не знаю, что делать, Арт. Я думаю... может, почку продать? Или академический взять, пойти курьером по ночам?
Я смотрел на него. И видел не сотрудника. Я видел себя. Год назад. Отель в Питере. Алина требует купить ей фен Dyson за 50 тысяч. У меня нет денег. Я лезу в кредитку, зная, что не смогу закрыть льготный период. Я чувствую, как холодная петля долга затягивается на шее. Я не сплю ночами, считая копейки. Только у Саши ситуация была в десять раз страшнее. Это была не прихоть. Это была яма, из которой нет выхода. Он был один против системы, которая перемалывает таких, как он.
Мой телефон в кармане завибрировал. Система проанализировала вводные данные.
[PROBLEM DETECTED: FINANCIAL INSOLVENCY OF UNIT] > Анализ: Сотрудник находится в зоне риска. Продуктивность падает. Вероятность увольнения или суицида — 45%. > Варианты решения:
1. [PRAGMATIC] (Прагматичный):
Выдать корпоративный займ под расписку.Условия: Вычет 50% из зарплаты в течение 2 лет. Запрет на увольнение.Результат: Ты получаешь раба. Он никуда не денется.2. [AGGRESSIVE] (Агрессивный):
Использовать связи Службы Безопасности NeuroTech (STR/Authority).Найти коллекторов. Запугать. Применить административный ресурс.Результат: +Authority, но рост Corruption.3. [INDIFFERENT] (Равнодушный):
Уволить. Это не твоя проблема. Найди нового сотрудника без долгов.Система предлагала мне вести себя как "Эффективный менеджер" или как "Бандит". Она не предлагала четвертый вариант. Потому что для алгоритма он был иррационален. Но я вспомнил слова священника. «У каждого инструмента есть хозяин. Пока ты думаешь, что инструмент управляет тобой — ты раб».
Я достал телефон. Разблокировал экран. Открыл банковское приложение. — Номер карты мамы есть? Или номер договора, куда платить? Саша моргнул. — Зачем? Артур, ты что... — Диктуй. Быстро. У меня руки мерзнут.
Он, запинаясь, продиктовал номер. Я ввел цифры. Сумма: 500 000. Я посмотрел на эту цифру. Это была моя месячная зарплата с бонусом за Самойлова. Это были «кровавые деньги». Я планировал купить на них дизайнерский диван в пентхаус и новую акустику. Я посмотрел на Сашу. На его сгорбленную фигуру в дешевом худи. К черту диван.
Я нажал «Перевести». Приложение на секунду задумалось, проверяя лимиты (WLT: A- позволяло такие переводы без блокировок). Зеленая галочка. «Перевод выполнен».
— Всё, — сказал я, убирая телефон. — Звони маме. Пусть гасит всё прямо сейчас. До копейки. Берите справки об отсутствии задолженности. И сим-карту ей поменяй сегодня же.
Саша замер. Его телефон в кармане пискнул. Он достал его дрожащими руками. Посмотрел на экран. Его глаза расширились так, что, казалось, сейчас лопнут. Он посмотрел на меня. Потом снова на экран. Потом на меня. — Артур... — его губы тряслись. — Это... это пятьсот тысяч. Ты... ты ошибся нулями? — Нет. — Я... я не могу это взять. Это огромные деньги. Я буду отдавать пять лет... Я напишу расписку... Он начал судорожно хлопать себя по карманам в поисках ручки.
— Стоп, — я перехватил его руку. Жестко. — Это не в долг. — Что? — Это премия. Авансом. Из моего личного фонда. За то, что ты терпел меня этот месяц и не уволился, когда я вел себя как мудак. И за то, что ты хороший парень, Саш. — Но... почему? Зачем тебе это? — Потому что я могу, — просто ответил я.
Я не стал говорить ему про Самойлова. Про то, что эти деньги — плата за уничтоженную жизнь другого человека. И что, отдавая их Саше, я пытаюсь отмыть их. Превратить зло в добро. Алхимия совести.
Саша вдруг всхлипнул. Громко, по-детски. Он закрыл лицо руками и заплакал, прямо там, на набережной, под дождем. Напряжение, в котором он жил неделю, лопнуло. Я стоял рядом и смотрел на реку. Мне было неловко. Но мне было... легко. Словно я только что сбросил с плеч рюкзак с камнями.
Мы вернулись в офис через полчаса. Саша был другим человеком. Он все еще был бледен, его руки слегка дрожали — адреналиновый откат, — но тот липкий, животный страх, превращавший его в загнанное животное, исчез из глаз. У него выпрямилась спина. Он больше не прятался в капюшон. Он прошел к своему месту и сел за компьютер. Не упал в кресло, а именно сел — готовый работать. Через пятнадцать минут, пока я просматривал почту, в Slack прилетело сообщение: «Баг с циклом пофикшен. Утечка памяти устранена. Тесты зеленые. Оптимизация парсера — 18%. Спасибо, Арт. Я... я буду работать за троих. Я не подведу».
Я сидел в своем стеклянном кабинете, отгороженный от шума жалюзи. Я открыл приложение банка. Цифры на счете уменьшились на полмиллиона. Моя внутренняя «жаба» молчала. Но Система... Система должна была быть в ярости. Я только что слил ресурсы, которые мог потратить на апгрейд домашних серверов, на подкуп чиновников или на собственную безопасность. Я нарушил принцип «Эффективности».
Но вместо ожидаемого раздражения я почувствовал... тепло. Настоящее, живое тепло в груди. Не тот холодный, электрический, химический кайф от победы над врагом, который давал мне «Вектор». Не наркотическую эйфорию «Кайфа Хищника». А мягкое, спокойное, человеческое чувство. Я спас человека. Не уничтожил. Не использовал как пешку в многоходовке. Не «оптимизировал» ради показателей. Я просто вытащил парня из петли. Без задней мысли. Без выгоды.
Я посмотрел на телефон, лежащий на столе. В глубине души, где-то очень глубоко, под слоями цинизма и кода, у меня была надежда. Тайная, наивная надежда на то, что у этой проклятой математики есть обратный ход. Я думал: «Если за подлость и уничтожение Самойлова мне накидывают Порчу, то за спасение Саши её должны снимать, верно? Это же логично. Это баланс вселенной. Плюс на минус дает ноль».
Я коснулся экрана. Кристалл вспыхнул. Но не зеленым (успех) и не золотым (левел-ап). Он горел ровным, безразличным серым светом. Цветом бетона.
[SYSTEM NOTIFICATION] > Зафиксирована транзакция. > Сумма: -500 000 RUB. > Получатель: Unit "Sasha". > Анализ эффективности: > ROI (Возврат инвестиций): Низкий. > Приобретено: Лояльность юнита (Status: FANATIC). > Вердикт: Иррациональная трата ресурсов. Сентиментальность — это уязвимость, Артур. Ты ослабил свою финансовую броню.
Я с замиранием сердца переключился на вкладку STATISTICS. Мой взгляд метнулся в правый нижний угол. Туда, где горел индикатор моей человечности.
[CORRUPTION: 30%]
Цифра не изменилась. Она не стала 29%. И даже не 29.9%. Она застыла, как высеченный на могильной плите приговор.
Я усмехнулся. Горько и сухо. Конечно. Какой же я идиот. Я думал, что могу откупиться. Я думал, что карма — это банковский счет: положил добро, снял грех, вышел в ноль. Но Система работала иначе. Она работала как энтропия. Для неё зло — это «Эффективность». Это рост. Это экспансия. А добро — это просто «Ошибка округления». Пустота. Статистический шум. Ты можешь спасти хоть тысячу таких Саш, но это не смоет с тебя то, что ты сделал с Самойловым. Грязь не смывается деньгами.
[CORRUPTION: 30% (UNCHANGED)]
Я посмотрел на Сашу через стекло. Он яростно печатал код, и на его лице блуждала слабая, но искренняя улыбка. Он звонил маме, я видел это по его губам. Он говорил ей, что все будет хорошо. Я не получил минус к Порче. Я не получил ачивку «Святой». Я просто стал беднее на полмиллиона. Но глядя на него, я понял, что мне плевать на статистику. Сегодня я купил не диван и не индульгенцию. Я купил себе доказательство того, что я все еще могу поступать нелогично. Что я могу пойти против алгоритма. А значит — я все еще человек. И пока я человек, у меня есть шанс победить в этой игре.
— Хорошая сделка, — сказал я вслух, смахивая холодное уведомление Системы
Глава 21. A/B TEST (А/Б ТЕСТИРОВАНИЕ)
Четверг. 16:45. В моем кабинете царила идеальная, стерильная тишина, нарушаемая лишь гулом климат-контроля. Я сидел в кресле, откинувшись на спинку, и наблюдал за мониторами. На центральном экране в реальном времени отрисовывалась тепловая карта транспортных потоков Садового кольца. Зеленые артерии пульсировали, разгоняя трафик. Мои алгоритмы работали. Мой город дышал ровно. Я чувствовал себя механиком, который настроил двигатель старого, кашляющего автомобиля так, что теперь тот выдавал мощность болида. Это было чувство глубокого, технического удовлетворения.
Телефон, лежащий на краю стола экраном вверх, беззвучно вспыхнул. Ни звука, ни вибрации — я отключил все раздражители. Только свет. Уведомление из Telegram. Имя отправителя заставило меня на долю секунды замереть пальцами над клавиатурой.
Alina.
Аватарка сменилась. Раньше там было наше совместное фото (где я был обрезан наполовину). Теперь там было черно-белое селфи с претензией на глубокомысленность. Я не блокировал её номер. Я просто удалил её из контактов в тот самый первый день, когда получил 2-й уровень. Стер, как удаляют временные файлы. Но настройки приватности мессенджера позволяли писать мне, если человек знает мой номер. А она знала. Она знала обо мне всё, что я пытался забыть.
Я взял телефон. Титановый корпус привычно лег в руку. Спокойно. [SYSTEM DIAGNOSTICS] > Heart Rate: 70 bpm (Resting). > Cortisol: Normal. > Hand Tremor: None.
Раньше, всего месяц назад, увидев это имя на экране, я бы покрылся холодным потом. Мое сердце начало бы колотиться в горле, сбивая дыхание. Я бы чувствовал смесь надежды, боли и унижения. Я бы придумывал ответ полчаса, стирая и набирая заново, боясь показаться слишком навязчивым или слишком холодным. Сейчас я смотрел на экран, как хирург смотрит на анализы пациента. Никакого трепета. Только легкое, профессиональное любопытство.
Я свайпнул по экрану.
«Арт, привет! #Z'r`m=k(fjn>5`31(!7:s&p|k2osg=>mQ%5`31(!7:s&p|k2osg=>mQ%tclC1(9>etoРйГэгѬz ПЋнњѯz#хтѪpияwВѢМстѦбпуы&Ѭд"ѮтжѨК ЕПѼоТПx-, Ѭpы(wѯѢѯерѫдв.'зКквpижuѩрѠГЌ јПvппоѧѮи*wяѬ}моѠпх.'йѯтдѨигѠѪ?pоѼоЫѣѨ#ноyѤфчѡѧГѧи.vХ'уйчѫтхѨогДК ѯПнњѩѮп"рѤѧзкѥѬВѭм.vЕчвевѡ/"l*p%7nnejfo>h#te9r!)yl37%ahj>s8s4Bd1𧁴{p&1>joy`bla3go4st7is"s*2$0r9A56s9lz&v@jOV&l87nh "w`8k(2glk$=p`Fbd$LyRLC:=j# !9khla%~#gnch; !f=p&!M tBSN;qlsab4Jpce5muisd7b]dt{p&1>joyv{ 28mo4sp$h=69o#%4hU/MYv`9fg:jt#0is#!,jDQ5NPM&9uaeg@-lj%"xajh;|"s!?;28U$NREj?% 1:s%qv>8k(2glk$=p`Fbd$(dnxkDj#$28;3}."x>fg:jt'#h=7kiuQ OvRH[8fkr3;?9w5ql;9E&h'o~t#1;k:U$NREj?%$";=1;3!-7dq{t}:bnsdi4ni&rSO1 Q$b8p# *:`2p>9f>z:'gFb6rk{(1yRLC:=j# !9khla%z0f w"~?4:q3:9iSVg` aeFtnl6!h9|&/9d66&c"u&rX Dk_M8l$jsegF>h*m'st7immt#1;uuUM3A;o9"jwb4Lct4⁅(ЛкѠы}qЕѦАѫКфМђѠДѭm&xpюѩѣvйбѯѥДдБалдvхѡѯпsБѫГчДЮЙvЙЇКtаЕѣѫѬѨѦ%эѠѣЇ*ѩдя$ѩйВѪвsВѫѦи LЛѦЛѡѣоѦѫѠtѬЖл/юѭѯлѡэ кД'ѭѠюѫЕuѢлБіПѪѪѹha$nl''$ja5cpm%3 &ѴзѩѯоsѢѢЕиѠїѪѯынѡѤАѤѡѭъсpayy%zoj19o~t#1;k:R@8OV-o3mr7fg:p`'j'qсОѮжёДvОѼВѦгtl''$ja5cj%"xajh; !f=p&!M tBSN;qlsab4Jpcv6~{pe89o"w2>u&rX Dk_M8l$jsegF>h„qДийѮлѣѪыѮѠКuхѠЮѢѩЛЌtОѣpѨѣѡѮикѯѥѣ&qи лЖпѤѬзѮѨѠuтБіѣѦЈЙЛ#ЗѭѨѢѦѫнрrПѤдѤб дѥчѦАцѫѨ{idSR%UNM:dhv7 hv'АВѣЗшѯ(пк{гГВбѦБѯѭ$CR"SSL3=j#$28;3!-7dq{t}:bnsdl;*>ky!"d>;HRrroLYqn{tv`e;3+$%z9`6;h$&3wntgcFa@Vz:/sR_L>o}'stneb18$%z9`6;h$&3;HRrroLYirh(uqjk18x"|$a?bjk%& j>bJRvanMVy?7i%engj}>t`IgM`@viAWHRvan s' ;ia?7v{v8?oh2"u59v!&|d9|k&egc@r;$hn@ILg s#3:9:.xq}k966j}%w;91lnv dRrylG c<>;uGf*hSm*''7MRa=r'smn8-g8=g$4r4fc'n9H:stPQLgmt3s=!ЕдхбѭГ2j!"q&885l9v[O8o!$fh!xqvh2l*5a=j&muc441&(LGHGlo}'wgo59|t6?(%z(i1jt1=i?wNG1C{ >s`}):cy;3w##g8io#3#mrѳчѠчзѻ:/sVLMn4lh(uqjk18$!i8."q-;3opf?iH%1A}EqltTr`lknp>>fj!"u59hn!u1kTIUleAo?=&=%0J4L5s6v&ѰчѤѤѫѢДнП,ZCt>k3ip5&>pЙъѸЙд:78rfVNt:#Cbv9&Snv`q%2mj!"u59hn!u1kTIUleAo?=&=%0J4L5s6v2~v$68lnv dRrylG c<>;uGf*hK)q&65&;j>9[IQgn>MRa=r'smn8-g8=g$4r4fc'n%\ХПоскѾЗсАВЕйд(%%БйѧqкѮкѩчxwБАѬ%ВзъЃчтаѠѽѣ ѡЙДйч-+е/бІq“vгѤчzwѴЙrбѫъTЇДї —ѽНуКѧѩкжю+зфзѩѥиx.рнЖѭѨѪѯ)pпъѸПцыйЀПаsѭДйвбае/гѧqйѣяЗаѩѩѬ~rеpлщГблеѠЋЙ.o}'wgo59 timxh2"u59v!&|sn{tv`e;3a:o4%~0kt$"+>`m'UMir:c1c%8ьзлщмѮm'%~0kjky7?;lv[O&st[RG=q1;kis1&>Ef9,o+h5$lѽ%ѭаTЁѯзилЋѳ.sѽtкг!жавдѥѩмѣеqаЅyj0 ;ѿ%гѹГчтвМЌВл}|z'члшпь*k3zhЖqнѩЕѣВѧфpшщѸПколМЍВ,sѨѪхисрм/жѯѥаД.ѦиѤѭѨѮѬаpифѻДмомМЋ ѮѬtхгооху$ѩѬжvбѯбtЖДѧѨоѮйTІЙмроѣЄМпѣ|h(uqjk18x!6j~o9''7o!$fh!xqvh2l*5a=j&muc441]j"?W`7C1g o}'wgo59 w##g8io9'#$=78rfVNt:#Cbv9zl-`Degp;@3{b_i;%lqcDaFE8REdaT IA=$ve9o4y}%w;91lnv$wTF8d9|k&egc@r;5VHhak3ij!"d>%NXje= ]MlAuoWj!"u59hn}v$wTF8vQp2;HRrroLYwntgcFa@Vdr>MVr/ХЕѡъЕяk9{$" =k7;HRvanQp2d9|k&egc@r;TupaL s#3:'uurij9u2g:a#?wfc4'JЭБзагМЌВнrѩвчулдзпѢѬ$vюѤфЗЗЗѬѧйѮпZ)spCPwntgcFa@VtOi;%lqcDaFE8 (аЃЗшѮѬЕхъ(+‑/чѣѯкѭлГзѪЗѮАѧоМиъ:/sR_L>o!$fh!xqvh2l*5a=j&muc441DacI[Ldo}'wgo59|t6?(%z(i1jt1=i?wNG1C{ >szяпсмефэш~q“vдБнЖѯБѧГпѨаTЄѩобкКЙоѠѪѮп(=iw18x"x7`o9'#$=o}'stneb18x!6j~o9'#$=&EJ юѢѧчжел?3+$%z9`6;tрѦѨВюВнсВгштВЅѮтѣ|t,Rndc$>f"|>izw}=w"pNHin.R>o"j;uqjk/w#(d33sf;;9 h&aDEyC">ЍЕаѧБѨзнрф+3f%oПѦпѪлѮѯЖѬѠеВщTытоѿИуДѯѪ)&Ьщл/фѢѡвАжО%ѪѦѮѤѧиѭлчЄкалѮѹКкѣ~tниуехфнwѠжѮьАъxwБАѬ%ѥйзѠловВѣдѦѩѤщф!клдшѪѯ&vСqдѪѬККѧ%ѭаTЋПшсьЁ ѯѧѩш&аылвыwВшѨмѬъtüj}!u1kJRvanMVy?7i%engj}>t`IgM`@vi=69v[O8zl-`Degp;j_)spCPwntgcFa@V(1:$bdi`vmr9?4uhяѬ%ѡюяЊо дѢѽБаМrѨьчкч+/СѩѪжѢгѡъxwАѪѯнЗифѵкысЙѲ ѬВѪголщлндѪѬиЙ.ѭлѬѫj}!u1kJRvanMVy?7i%engj}>t`IgM`@vij!&w?khHTk3ij!"d>%NXje= ]MlAuo2v2~v$68ln*#qUOa>c s#3:9:.xq}k966j}!d:w%&+i58VYNjorAbeB$?+9 w'0fh2"u59v!&|d9|k&egc@r;HIUtonE ao! !wrhdk3+$%z9`6;hx%"3kn9J@h sVGNenp7hjny?,5`KgKs;zk4 lПѮйыЁДмс гЀБа}n6u8Ю+нюлЗѡкѭсП%ѪПѮѣѨнpзTЀПве БЀѢоѧѢz'Щ!меюцѧѣгЙрqфѦѢДѬЖлАюTѺБзотВѼѮ ѬВѤеокчиб*wѾ(ѮяѮхѤѥѭНМ%ѮэьЋЛо вЄМдѦrЕйфсшбвмѭѯкv&ѫеѮwЗrѳеИаэ&Я МЁѠиѯѪѣпцтх%афѩЗнЗяК+h5$lтоѨиф‵&этМБлѣѠѩзщ!еэзеѭѡ(Ѥ.ѭлѡѫvѭВлИоъІ&«LGYCc*n{tv`e;3w'0fv}%|82kp1jЃЂМгАrѯп&ю+ккфѢѮаЗоГщtѬѮЕѯлБчиѦглоАЋИаsАѤн&зо)/оѧѫ(ѷжАчѡѫѦrѭаАаыЂѠжлаЂЗнМmhet?Офдмwѥиv‚qвѩѧБѪА)pъTЎДпстАІѠеѨОѩй&рщед$щѮнЖоГлДѩѪ~rеpисЗгртАЀЛ.o}'wgo59 timxh2"u59v!&|o! uiol;3w'0fv}%|82kp1jMRa=r'smn8-g8=g$4r4fc'n?HRvan s' ;ia?7ve9q{"w=`iu5=>j"?W`7C1g o}'wgo59jiim{&o?%'#/>78rfVNt:#Cbv9ОыннбЕ(ѹ.ѬаtѨЖѬАнѢ+TКДчтоѢЎП qn{tv`e;3+2MRa=r'smn8-g8=g$4r4fc'n%HRvan e>lhbk?7ve9q{"w=`iu5=>j"?W`7C1gR206nr=$ve9o4yk;uGf*h,%ѵѢѥѬѦиП%ц6:0УsѮѡкщ!кцлбЕqшѨмѬлtccrѮнѭцжНгждѡАсБВѡржнг+/ЙѢqжѩоѦбПѥѦѫé+l*J@h>o}$9:q59|t6?(%z(i1jt1=i?wNG1C{ >эАѫчжгго!85#6шьѣаЖwѩВѪэѥоTѽДцезѿЗкАѯѠф(!Еип$ѣѤшѠоѪеtЕѣѩѧсѮиTЈцукВѻ ѭѤѬгжю%9mvimm;0úЛѧѩwrуаѫюэлцолКЄ щВЗхи +9 a:o4y}!d:ij7?;lv[O&st[RG=q1;kis1&>Ef9,o?*t&a9lD@9l>dLIt 4j%%xd1h#f4oe&8 4FgCfUѻrгтЕѾT'ъѫйаБби)tсп%ѩтшДзфн&v>(7mojul#f(p0L?l?q8[354Cweº7|vs480; 68oh,tliH#p1m"Qh28$64md!? d?D>woѻ#чГѩфѼщГлБь, :u9)&+`em9p%7`'|',=1>&1:Vj#aB3a[7&iRn⁄#БЙџу*kgtk⁏!Пѣ)#хЖьфяlu⁅tакѩѫаѧѫеѡг"Ејбуѧо&ѩѨмеѡаоѨѨ ;m!k⁅tДдѣЕяЄьАуѩ#уѠєщмѭ%лѥ{ейѭнцuѤ.%ЕГѫѪѬйбpuьЉTѢоБжоѮDRЧѢбоѨѮмжИм/uѫа'юsѧѩѠни|uѩшѠшѨосѐRлѩбьѠѬешsигug7=;f{m6q:⁆uѐЍсѫаО-"ЅШь)Ел&ѠВд4ogqk⁂.КкБ{qѴгеѬЗсЀZl/#scLTN+';:%e=x#dmu%z~c6hs7lh='KE12G Tѝ$ѥацѨИкъМ%йuѥюзыѫѯѡѨ#йѢѦбѺуѪи~?`PTё$ѫалК{арѨл#ЗЖж'шѣДѡtзкrѧаѻдѥчѨ#уѕвкПоэѩu!Гsъ#ДѨппяѣѮАЛ#лВѫуЌеВиpлчЫRлѩоъѢѥи'sе#Ѩѣ.е/ѮѠБѦокѮuяЏьѤаѭлкѕчфѢб&ѢѮсбѣонѩz.ефѢѭБѤь$ѡѥъѸжГк~?`PTѭфѩамЗ{#ЛѨноѥv=>Q k9b8i(qj=%p!/bb2q6>8lvhv@xE1!wohavliI>>ѰжуѠєвдѪ%$itr{2k=iy}wn=km'se>l,qR:kvv45?7 ub;v}sv?0lv`k>:WaAa@3gHL$k*u%:o5o*p%7`93 %0:=8!%WT#t)ogHk;jtox0JbF2t0Un178 ?+!%WJl/#scLTNw'dhkgr{2k#&"wkjnw2;ok oR5aCaF H\$ѶчгѯѠюжѮюкuѬэибѨuѬѤз$юѫаЃцѮй~?-Qji9)&+`em9p%7`'|',=1>&1:Vj#aB3a[7&i9d'e=x#dmkѹ.ияѫНѤѯ#фѬѧьЇTѢ a:8_\$шцлѯЙтлѨщоѫЗьы/⁇uМЖн$ѠѠчЂьѢоБсюѐьфѩогѬ{й+ѢедѫѤхо/ѬЕѯЖноѬѮQЍяП ѠибМЪъцѫлд{g.x#dmkjlu1o&!5m:ѷѫаѻсБ ⁄#жЗјбьѭе&Д{йпѦеиЙѫао/ѭДѡѩйкѫuщыѫаѭызѠєю$⁃%йЕѥгеѧниѥvвввМuѫtтцѬѮщЃзpуpниПњ\$хнвuѦб+щхжѩѭт+/ѯКѢѮлн~uщЄжѨмѭшлЫрбЕ)&ѪИааѫпгyvэ'еѭЗѯДннrГфЄфpуѦлпВJвдѥижuКсоѧижѬvйзяѬѮѡЖж$ѭѫQѹсѣиѮосV]w'dhkgcym9p%7`9РsѧѮѬтдѩДоеОдѠ#кЖџтпЛии{{НеѪ%сѠѪгй"ВѭѬѬк$ѭѭхЏфѪ,pвзЙњн$ЖлцѫМллsджѢvнздВЗВѮг(rЗоЏсѫыѥ#хВЫй$Ѫе&ѢѫофВчяѠx.Ш/Вѭѥѡи$ВѥаѸяѠбѫжпПє^$ѩблѫѢ!ыАпнѬvепюБѥОtибѯЗвщѮвѮтрЗѓRйѧ%:z(qj=;?z%~fami"$bjliI> #w{NO&4jj:);(bD2gK%1 i~'se=>Qji9u%:o+ qz933%l&9'c@zE"n16V]w'dhkg.x#dmkj}wn=km'se~#Эїч$ѩжнКѯъйѣотКvбй/ВЗѯДнйѢѩ]щѥ ДнрМљвдГнцѫѩбаsазЖx.Ш/ѡѠѪtтбѣКQЃфѪ ЗжйМјчо{%вѮД!бѭчнЕѨнй/ОЗѯЖ#лѢБяѸT⁄ АррКїт*k*u%:o5o*p%7`93|%ohs:n&Xndv=ДѩѭьЉTѮпѮджВёт$Ѫе&b{нгѮцс{j!t2;oh,w"4H#p1m"Qh28$64md!? d?D>wohavliI>>ъивѣЫъоѧ+&þядйАэйѥvкйдѥѨѡtддГЗсЋяПтМ#дЖњашì+&ѵѫмчЛа/uѥаг/ѮѥѦѤз(rКQЈпpуѦж"КѝрбѬфщ{{ОеѬхгѧѭсм/ѢОqѨгйѤѠгѲXpпАнаЗЪнпwбэАѫмгѦ)#ѡЕвздiuúф#жѦЕвЊTѭеpмтКўчцh¾(itr{2k=i4|93 %0:=ХѧѬжЉеpяpмтМЫакwфкѫЙсоѨ%оѥvьзжѯѠБtб$БѦъѺTѨнВжтѦџыхѧ%иВѡпйs-чѥѫьйгѮѫѢѪ#мѯЗфѹаѥйБг.ѐьцѩхэѬ{оыѭахѭЖаепѨuѭѪк$ѮѫцЊ]~gn?-Qji9u%:o5ovw'9``1o&!5m$!!Um"3lnMH'fD7jD)mRBKC3|&!5m:nzM?n7=> e9;:&+`em9p!$aihmi"$bjr&@5=r`mN >t4Gd0Nq;9uf>=?do`f^8}&Xn&1:Vj#aB3a[7&i9d'e=x#dmkj}s}gn?-Qji9)&+`em9p%7`93 !#;mcliI> #w{NO&4jj:);(bD2gK%1@M2`Hs blV]w#wi;dv=$nzI>>l,qVj0;:z(qj=;?&&oi1o&%&lj5kMJ1nppv[9ufi94s1p4Bd?B-mP8}&Xn #w{NO&4jj:);(bD2gK%1ium{pt3;O[#t"llETN+$ug;e=x#dmkj}s}=> v8kakg.x#dmkj}wn=km'wv=;H#p1m"Qh28$64md!? d?D>woz-*i^J1nn?-Q k9b8itr{2k=iy~93#km'se Ak%?%d0Hb@!kjlu1o&!5m:ѽuвЎщѠлpжѓЫвдѠц*uОпщМ%нѨѦ.пиѯѠѬѬидГЙ_ѬѫиpюрМJн$ЖчжѮ{ггѧасЙvквэѣѮѩx#оѬЗяѹпЕ АгпѮТч$Ѫа&ѢѫноДеиjj!t2;ohavliI>>юовЫадЗенѥКэ%sЛфѠѫт'юБѥБѤидГЙ_[#p1m=>@L8$ug;eПжѣ%цѫДлмпsѪБѪлгѠѠаѻьpвѯжхВШщбѪнг{{Пжѣ%ыѮѦ.нбsѩѬѡ/$БѮкЈфПсМ/"Гџцфѧ%йѫѡбьѫзгѮѮяы/ѡuГѤйцrѨфЋьѤиѬнлібгМпг{{Пжѣ%иѫѤжмпsѧѦѧиыѦОQЅзѦчѨо"ЕњRхѩфгѡѦйзѫ%тЗѨепеѣѩѩtл$ѭѭгЉяѠсМ#кОђ\8xvv45?7|vs480; #km$=8!%WJls bl};`;w8ngwot?+!%WJl/#scLTNw'dhkgr!jm2h2t2;q'w}>0L?l?q8[354CweZ7|vs480; !#;mcli^J1nn?qR:kvr'4olm9p%7`'|',=1>&1:Vj#aB3a[7&iVi )bno*p%7`93|&%&lj5kM a>=>Qji9u!)ne4;?&&oi/ !(8f9p6U":s2C)CAu;&itr{2k=iy}s}jqK8xvv45?7|vw'9``1oz"$bjliI>>lpvPci9u%:o+ qz933%l&9'c@zE"n^> e9;:z(uy#qVaj'e:7nyi&2gM6Jqkh,w"4Hs blVt6k&&/xg68!69bh}iv`2GcSH2rn?qR:я%кѥѨйфsхгДЗлшдѣДНz#ОВѥаЁцѠяpйвѢШъйѭе&ЕѫрдѣогДК.кпsѪѯѯлзѬѨкьpтѥйуѠЩвяwиоѢѡпиѭ%уѥѡювчѦѨѩЛ-8}&XnwohavliI>>lpvPci#a!`!G6sf9l2(|''>:d:rgQ:? 3kcL $$lh6>!g2vwu/kf}z{m{pt3;O">lprCL8$qt:5f5ubwnvMkn &kh,w&'Wn jtKe9%)une pn0$ ; %0:=80'O a>=>Q k9b8snzM?n7=> e9;:7)?7 ub;h$'АѨѥГИж>rKp(ънйЙџштѯъ&gk3:sжнѡѦ"'нѫѡѬП#хѩѠхѲTѨзѭнуВJаоѧио|u=$ ub;h2e}mi~'sedeF&lQИзѬкѠ9"Et6k8itr{2k=i%~fami"$bjr&@5=r`mN >t4Gd0Nq;O:#gt3|&!5m:nzI>>lprCL8$ug;{r*ifhtmhcw5ak`!oreB5d4Jp(l,qR:k*u%:o5ovs480;|#4?tpp+9V3ow5ak`!oreB5d4Jp/p?-Qji9)&+`em9p%7`93 %0:#w&,\Irc?omPPQ54Ed#5dh0j!t2;oh,w"4H#p1m=>Qji9u%:o+ qz933%l&9'c@zE"n?qVj0;U!:u~ ?# 8mhb5:# bf>0_[#t"llETR,ъефѭЛбхБ)#ѪѨыйлѩѥqЕибѡѯсщѥеБсзѣШрбѪижКr/7|vs480; %0:=8!%WT#t)ogHk;jtox0JbF2t0;m!km'seddlprCL8$ug;{r*ifhtmhcdeF&liKJls blхRжѯбгѮ{тъБебНЕр'лѦѧВМйч~uыЇжѮрѠь"НСадѢччК{оыИжоЖДт'нИНѤtакѩѫуѲZpЯpбкЖџщ$ѫнмЕѥнеГьлѨѬж'нsЖѢѪиоѢАQЊяѠз|#иМШьфМа&ЗѥмлѨщоОѯ.няѦѩqѩж$ѮѫтеѪрЛсюJѝ$ѥнвѠѠ-+ѩейuѫоияМѣѤѩг$ѧЄQѱсП.pЬ"АђцбѬ)&ВЙп+ѥндѨК.жкѤuѭѪжзѬuÚѸюГчѭнбМÑRрѯижѨКйыѭзгѨѮс'бѩѥѦѤидГЙQЄсpтѠймЛJгпѧбмѫѢ-+ѩейuѤ.вўsѩѤГсдЗ{M a>=> e9;:z+?7#;?&&oi1o&!5m$!!Um"3lnMH'fD7jD)m‑#хЖь&/⁇uѯѩг$ѭѫхЇмѫаpй"ѣШьпѯпхy{слВплѨЕм'яАѯѩtзпНuяЈоПтѨь,ѴупѧпиuКклѧплАz.хрѥѠѪПц$ѦЖдЇцpнѠйтѩёь$ѫалКu!‟sДнѣѣ"'эИuГѤй$ѪѢэЌщѨлБь#Et6k8itr{2k=i%~fas&%-oaowV?rj 3c[15'8i9s5ovs480Ш/ѡДГѤи$zИгЁюѥтp‗"ѯШь$ЕлаѠ{оыѭчнѯѨе.!sъѯѣбкѩѭъсѩ БжгѭJьеѪъфЙu!ОЂ%сѠѭа'оИѮѯtпыѡѯщЅXpтѥмйѩі\8xvv45?71w=i%~famѵѡѩяьѧuяѻTНтѮамѕвмѭлчѨѥгоѮньuѪлкрsѤКtраѢЕщЂъpтѮймОDRХѢхвГѮ!кИ%нДДокбѡѭѪѪтш|i^J1nn?`PTNw'dhkѺдвДетuЙ.ибДЖѣЕсжѬѧсЂTВоѫяиМJабѭффЖЛт+ВноЗѣьпшѦДѫѪк$АѯсЄьpиpдвНњз$ѨецБЕнл%йѫДачфѪuѮѪйдѥѥъѸлpмѭж"ѣёъьѭлкuЛдмѩнп{j!t2;ohavliI>>lpvPci^:z(uy:d:nzI>>lprCL8$qt:5f5ovs48.t{*94i!g=9KNs12A/P:m%:z(qj=;?z%zu`=2oh,w"4H#p1m:WaAa@3gHLYk*u%:o5o*p!$aihmi~'seqd07aEr=Jg+ Pk*u%:o5o*p!$aihmi~'seqd07aEr="Et6k8itr!jm2h2(|#4?j?w"4H#t"llETNw'dhu(ur?`>w5ak`!oreB5d4JAF> e9;:z(uy e9;:z(uyQjwvr,7d6qfl99|=,b`2ApkQHs blV]w#wi;dv=W3u1l/#scLTN+$qt:5f5o*p%7`93 %0:=8!!V7>lprCRw#|j0f#h=> v8kakg.x#dmkj!w1o%ohpt3;O a>#qVaj'e:7nyi&2gM6Jqk⁅tМфѪѧфѻXpАѫлпВFR‐wъ&ДѠдиѩе#ѫДяхяѣѨѩѯты~uбЉуАыѢгэѐьйЕемЗ{ооГзшѩx.–/ѱОqЖнвѧuуѲчѫяѤлъѮD\*wштБѮлщѮл-iy}wn=km{pt3;O a>#qVaj'e:7nyi&2gM6Jqkm6q:n&Xn—pТнВЫъеѩ$&⁁{пжѣ%мЕѨяпрѨѥ}tмфѪѨщЅфП ѢждЙђркЖчъuѬб+ѩлпѪѭжлкѮЗh,w"4H2rn?qR:щижuКдаѣ%оѥѩюйэѫѧ}tмкѭЕсЋяПяpмйВШобy%ГЄ{ваѣвгuѧлдпѨѭ}tедѦѨяьѧуЗгэічйИ+&щѥи+ѬнзѣѦд+/ѯѫѩtфдГОQ[#p1m>lprCRw#|j0f#hwot5$nzI>>l,qR:kvv45?7 ub;v}sv?0lv`k>:WaAa@3gHLG;du&2b7|vs480; %0:=8!%WJls bl};`;w8ng&1:Vj#aB3a[7&i9d'e=x#dmk⁂.ЦдАНѡѭ/$ПЗяшѥсВн,DR‐wллѥ{пкѡаиѥvмамѨКѥѪп$ѥѥъT⁄ ѿ#аѣџсаѧ%кѠМулѨе#ДИкз/ѬѫѮѤтцОtQЛзВ ВгиѐвдЖндѫz!ГsшсѫД.езѧ{z?+!%WJlb"=>Qji‑&ъЛпъБл#ЕѣяхбГѥѬx#‐rѪяЏфѫ ѯизѥњюмwъ(u⁏!ЗѦиэuЕ.хкѢКqѫжфѧѡQЊяѠзѠпкV]w'dhkg.x#dmkj!w1o%ohpt3;O a>#qVaj'e:7nyi&2gM6Jqkяѩг$ѬЗыѹпѫаpпзПФ\8xvv45?7|vs480;|#4?tpp+9V3o>l,rV:kvv45?7 ub;v}sv?0lv`k>:WaAa@3gHLЫwижѤѠяпѣо#ѢѦ.ккѪyqѪсоѪѨвЋмѨсМ#аѐвбЖог{g.x#dmkj!t2;ohpt3;QJ )l5> Ak%?%d0Hb@!kjlu1o&!5m:ѿЗяхЛлѮ#уИЩейѩ+&ъЛдпВпгѢЕллб}i~'se e9;:z(qj=;?&&oi1o&!5m$!!Um"3lnMH'fD7jD)mWSj!t2;oh,w"4H#p1m Ak%?%d0Hb@!k~sfkm{pt3;O a>=>GL8$ug;{r*ifhtmhc #w{NO&4jj:);(bD2gK%1iusък(rКQЍфѦеpозѝядЙ)&ѧКѐ+Бейѫѣ.ееАДѬѪж*|{S\ъоѪжрѣШркw*&ъѮсоѩогѡНмзвѫѠqѪсжѧЗаѻцѥнѭнуѠђ[*k*u%:o5o*f8h2(|#4?j?w"4$yw5ak`!oreB5d4Jp$jmLV]w'dhkg.n>;?z%~fami"$bjliTJls bl};`;w8ngqd07aEr=8Hѝ$Ѫа&ѦѥкеѧигyvмйиПѩВtскѩЙыЇTБаѫгр JZЩѭллѫѧйфs*#юѨикпМuАѮукѮѨяѸжМ)~?-Qji9)06?7|vs480; #km$=8!%WJls bl};`;w8ng#qVaj'e:7nyi&2gM6Jqkm6q:n&Xn=>Q k9b8i(qj=%p!/bb2q6>8lvhv@xE1!&1:Vj#aB3a[7&i%:z(qj=;?z%zu`=2oh,w"4H#p1m&1:Vj#aB3a[7&iX:z(qj=;?z%zu`=2oh,w"4Hpn?rVt6k8i(qj=%p!/bb2q6>8lvhv@xE1!>lprCL8$ug;{r*ifhtmhc Ak%?%d0Hb@!kv2(|#4?j?+!%WJls blVt6k&&/xg68!69bh}iv`2GcS1r5?-Qji9)&+`em9p%7`93 %0:#w&,\Irc?omPPQ54Ed#5}9,&&oi1oz"$bjliI> #w{NO&4jj:);(bD2gK%1o7#j?w"4ѪДиЖлвПШRоѯзлЖѠ-+ѤемѭЗхепМ{m{pt3;O">lprCL‐wН&ѧѣме}+-u⁂.ш/ѠѮОѩрпrѨсѤѫиѭр,хRлѩйлѭѠ-+ДчнuѨгз/ѨЛѠѬидhuаЂфѤкѮж"НєщчѯжцѭКуеѦ)#þѬалаѭЗѩѮ¸(rѫгюѮтѮумБєRлѩчиѩ{аеѨнсuѥамбѡѥh,w"4H2rn?qR:⁃%ДѭѦп+ø9,&&oi1oz"$bjliI>>lprCRw#|j0f#h>lprCRw#|j0f#h=> e9;:&+`em9p%7`'|',=1>&1:Vj#aB3a[7&i%:z(qj=;?z%~fami"$bjliI> #w{NO&4jj:);(bD2gK%1:? bh1>l,qR:kvv45!x'|o0k,d`?:#n 5d21r>lapVt6k8⁁{Меsъ#ѮИпмсsѪѯѯрхѩѥхЃъѥ.~-"‶JядАенѥ{пжѣ%уѫѧдй!oz"$bjliKJls bl⁾RЦМ%нЛѪйаѣ%мѫѭэцдѣѡѫѪж(rѪяѻъѬуpфрМJябwкцѫѪпйѣогuГачбЛѠѤtтчЗѫфT⁄ ѮстЗѝтпwъ&ѩДвбѭ)#ѨѨ.хнѦЕѥѪ-$Ѱѫьщѥ ВжтНџщ$ѥлбЕѫзоѮнк{v‚'ЛѭѧѤДяхНuэЄс~ ѲбмКJроДфиѧАд+ГахѠѩьйяИuѬЗейѬ{_TѯеАжмГЩемЕщ(itr{2k=iy}wn=km{s:n%O a>=>Qjwvr,7d6qfl99|=,b`2ApkѯѽьЖиѠорѐъжѪцнuѣ!гВтжѢx2(|#4?j?+!%WJls bl};`;w8ngw®БѥѢлл%фЗѨ.хфsАѯГжьОjQХъѦеВ/"НђдтД:&щѥзоБ)#ДЕцп0è{qѴгйОНфлpпѮзуѠЪтмѥенДД-+ѢльѮЗс'вѦuВѧнаѪЗнHs blVvi9u%:o5ѱамѠЖт'рsЕѤМгп|uўцѧяѫ#мѠјчцЖчдѠѦмеВчяuѮ.нбѮЗБѪиш|i^J1nn?`PTNw'dhkу!ъѣйнѠvяхяѣНѬѪж$⁆uфЀTНтѮ?-Qji9)&+`em9p%7`93 %0:#w&,\Irc?omPPQ54Ed#5s9,&&oi1oz"$bjliI>>lfoVt6k&&/xg68!69bh}iv`2GcSыѮнАгаКёьхЛ9)&+`em9,0;0; %0:=8!%WJls bl};`;w8nggn?qR$$q9>deF&lM a>=> v8kakg.x#dmkj}wn=km'wv=;H#p1m"Qh28$64md!? d?D>wofw"0MHs blV]w#wi;dv=YnzI>>l,qVj0;:z(qj=;?&&oi1o&!5m$!!Um"3lnMH'fD7jD)m%?z%~fami~'sedeF&lѨсЍTѥёpамЙєркѮ%йѫѤпаѤ%бѧѣют#sѩѤѩьыrГуЌжpсpезЙШьзѩ%лѥ{жоѨаоОѯ 'ЙѦѨИѬояr}яѸъѡеѭомШтоѯа*uѡббsЕиѭѫо./ѨЛѠЛс$ГѭъѺZpДѠезџгпѯ%ыЗѫ!ъѫогuѮы'аѭѡѡѦиыѧЗ_[#p1mt4Gd0Nq;‗uѴх'юБѥѪtсдѨѭэZ~ ѦжуѠѐъи{%‒uКллѤеиѥvакпuѬѡужѯѫQѺяЛбѠьуѮDR‐wЗ&АѥсеЛапuЗвьюѨѠtМфНѩяхѮсБ-> e9;:z(qj=;?&&oi/ !(8f9p6U":s2C)CAu;:7)?7 ub;h‚'РsѪБѪтцѬuзЌщО ѢузОХ^$⁃%иЗѩдщѫо#Кx.–/ѰuѬѤт$feQЅьѭуВ#жМJюкѢжиuКкоѧцэМѣнй/Ѥѧѯѩйд|uёЉеБкѠдщАњы*wПжѯ{урl9,&&oi1o7#j?w"4pОѩ/"ЖњRжЖє&ѨѥсзѣояѨѨ/'‛sѫѬѤ#иѢАьѺяѠ АриМѓ^$ѯ%вѠГдйИа#ѤЖоцдѦЗКtджНѯьѺяѨ.p‗"ЂњукЕешuЙбзsгжyvм'гѣЕѫѡсмѯѦфTфуѬгьѕьнЕн&Ѩѫ!бАхтОvкпиѣѬѬѤ/$АОQЏсpзѭгзѪЦ^$И%фѧѥсьѦфйѥЙ.кпБЖБѤ-*|uѡжѮтpмвѢџяшy+(uѦт'sф#ѯѨьйяИѩqЛ-*|uъѭаpдвНїбпѧфъy{оыѭзжЕЙс'гѭЛqДждѨГщѷZpИБйвЙњRфѢзлѫКуч}9,&&oi1o7#j?w"4ѨѮеpикѤєRкЖчжѧѫкеВщ#ѯѦвввѮОѭz?+!%WJlb"=>Qji‑&{u/йsлвМѣв+/ѯОqДгхГЗсЂьБь~#МПJьоѧвжѮКю+ѫичѥѫьпдПѨКѨ-$яѠQѻъpчВн"ѠС\$Ѹ%сѥКуеsзтѪѨвпвѣѮѡx#оѢѯQѻпpзѠвмѠђщхИ%иѤѥ!зѮа-uьон/ѯОqѢлпѪ{M a>=> e9;:z+?7#;?&&oi1o&%&lj5kMJ1nppv[9ufi94s1p4Bd?B-mm{pt3;O[#t"llETN+$ug;e=x#dmkj}s}d e9;:&+`em9p!$aihmi"$bjr&@5=r`mN >t4Gd0Nq;^iy}wn=km{pp :^Jl/#scLTNw'dhu(ur?`>w5ak`!oreB5d4Jlb"=>Qji9u!)ne4;%2"5'ПѮѥѪѬд>nzM?n7=> e9;:z(qj=;?&&oi1o&!5m$!!Um"3lnMH'fD7jD)m%?z%~fami~'sedeF&lюяЏи~:WaAa@3gHL85w8i(qj=;?&"|ha4kw3w?rѱсЃжjrСмѠJэдЗалЙy!кГлтѭѭ.вўuѮѪскѮЖQѾжѮ ѭгъЗёRжѧхоѥѦу+Ѭлпѫѭабк|ѤѯѧгуѧzрЌуpпАжрЗїхмѮ+:z(qj=;?z%~fami"$bjr&@5=r`mN >t4Gd0Nq;?7$0;|#4?j?w&'Wn&7w9ьчпЛ%тЕѫжрi9,&"|ha4km{pt3;O[#p1mqd07aEr="Et6k8itr{2k=i%~fami"$bjr&@5=r`mN >t4Gd0Nq;МЕѨчфаѣЗНtмкЕѧвTтыѧбвѠЦRйѩффѥѠэиѫы-uыоибѯѨѩЖя$ѬuаЋъѥйpхзПїьхЕн(itr{2k=iy}wn=km{s:n%O a>=>Qjwvr,7d6qfl99|=,b`2ApkўеѬоВузЙJядwигЄ{й+ѡнзѠѭ.ккsѡѤѦрьѨЖ]юѮтѮусѬJшкѤбжxЙп+Ѩывѭѭ.гбsѤѤѣриѪК_[#p1m8lvhv@xE1!=>Qjwvr,7d6qfl99|=,b`2ApkM[n:WaAa@3gHL85w8i(qj=;ЖЄvезлѭѨНtвяѩѥQѻсѯлѮк"КJрпѧглѫѢ!еБ%бѫѭгввѫКh,w"4H2rn?qR:kvr'4olm^?z%zu`=2oh,w"4Hs blVt6k8i(uy e9;:&+`em9p!$aihmi"$bjr&@5=r`mN >t4Gd0Nq;#iy}wn=km{pp :^Jl/#scLTNw'dhkgr!jm2h2t2;q'w}>0L?l?q8[354Cwe@_@N2(|#4?j?+!!V7>l,qR:kvv45?7 qq:8i93 %0:#w&,\Irc?omPPQ54Ed#59,&&oi1oz" qklprCL8$qt:5f5ubwnvЯхпБЖАn?+!!V7>l,qR:k*u%:o5ovs480;|#4?tpp+9V3odv=ЖЗѫхѶнѥеpтмЗўъйѢиоѠu=$ ub;h2(|#4?j?w"4$y8lvhv@xE1!w5ak`!oreB5d4Jlb"=>Qji9u!)ne4;%2"5'ЯѫДѫtддВѥчЌщѨяpомѣШтпЛжоѠѢ;7|vw'9``1oz"$bjli^J1nn?qR:kvv45!x'|o0k,d`?:#n 5d21r>p?-Qji9)&+`em9p%7`93 %0:#w&,\Irc?omPPQ54Ed#5b0&{j!t2;oh,w"4Hpn?rVt6k8i(qj=%p!/bb2q6>8lvhv@xE1!>l,qR:kvv45!x'|o0k,d`?:#n 5d21r>lapVt6k8Ѻ{рзѭчуѠѭ.кпsѨѤЅ#сѬѮяЍщѮ,pтиВїъфДъ&ѯѫзпИм#ѩѮемзѯѠГД#бЃuъЁвѠ,pйвДўьбwбдѭѭджѫа#ѩѮвпшѦДѫѬц$ѮОйѿZl/#scLTNf%;:&+`em‑#ыОжжеѣu⁅tюцѬuьЇдѬаѫяпМFRДѬнлѥw!‟sфйѥѡом/МuѢѪикГѫэTѫиИжпПСю$КйиГѣи%s‑#ыОжжеѫu⁅tюцѬuхЉщѭыѥ-"бётжѪлгu⁏!йИзнѡН ; %0:=80'O a>=ЭїтоѬллѭѠрфsп#Ѩѣз+/ѠѮОѠь$ѭЕоЅъpвpайВѝт*k*u%:o5ogqkj}wn=k⁅tСяrѦяЋъАиИя.ЭакwкиѨДклsлыѭѧдф!sѰѯДньѬ{QФъpкѠйкЗJюбЕхоѯѣ!щИ%рѮЕщязѨѥqѣг$ПЗяцАеѬь=эчиД%фО{млАтлѮѦяы0oz"$bjliKJls bl⁾RУЕл9u⁏!еѮе#ѩѨюдвАѮѡz?+!%WJlb"=>Qji‑&ѷА!ъБеиѥvэлвѦѠntТмѩЙьЌсo Ѳш"АСбуѯожuДжрѩ:#ѷН.ибЖЖѥѡидmuѓѲTѯрѮфйВJзкЕщ&ѫѯмшsпоѭѥэ'зѤuГѡц(rВгЇTП ВжгЗJгкѥафѫѩбаl%ЛѮѮ.хфsѪБѪтцѬuюЇжАаВлйВJскѣ%лѥ{еоѠхгѡѦшпсsДqvлйЖѥьѻьѫьѭшоѕтфѪакw{й+БамѠЖт'зКѠЙИ#еѧѢяІфБнЛк"ВЧвкѣхиѩw!дѭчнѩЕ.рэѭuВѦлаѧѮсшѮйpПвЛћтсwн&ЕѮщгѨе/uБьй/qЕѤЕрфГwQѸщѮвѠ#жМЫачѨалjg.x#dmkj!t2;oh,tliH#p1m+Ѳ%сѫѯ.бкsѮѤѩяъ~uыЉыАиѧгоКJъ$ѨхгЗѮммѫъпѭi2(|#4?j?+!%WJl/ =>RTNw'dhkgr{2k#&"wkjnw2;ok oR5aCaF ѴядwвжДЙъаѣ+#чvлі/ѠѮѡѣгсrѪяѶцѨлѨтюЫщбѠю(itr{2k=iy}wn=km'seQjwvr,7d6qfl99|=,b`2Apk2v&U WKm$N+$ug;e=$ qq:8i93|&!5m:n&Xnj#)O/8xvv45?7|vw'9``1oz"$bjliI> #w{NO&4jj:);(bD2gK%1o7#j?w"4ѕѨсВжоВJцкѥлнЙѦп+ѯцуѮНдкьѨѥh,w"4H2rn?qR:Ѹ%хѨѣцщѭггѮvлі/ВѥѭѪнтѧѨыѺZpЯpувЕћъфѧо&ѠЊ!жѣ%фѥЗьп#sѯѡѮ#хѩѫэЉщѭыѩ#оЗЯтйѯвк{g.x#dmkjlu1o&!5m:яѫQѶTѤеѫгйЧакwигuМуеѢю#Жѧжху}i~'se#qVaj'e:7nyi&2gM6Jqkm6q:n&Xn—pЬ"НЪьхЕл&ИПхоѩчлѧѣг)3|&!5m:n7H#p1mlprCLБІ%еѮѫжлsхгДОжчзѨѭАИ-$рuьЁбpвБмщѧїбпѧ%лѥѯднѧе-uромеѣК}tпзѯѫуЌщѭаП#пВўчвѣе(itr{2k=i4|93 %0:=‐rъбЉцѤаo?-Qji9d'e=x#dmk⁂.ИяѣѧѥѤ-$яѫQЄсpнѠ#уѠњвяВ%хДѠпйѫъц{vЬз/ѡѠБЕлыrѩфЄл| ѪнрМЪбъwчэuѪсеВниѥz.флѣѮѤѩг*rшяЋпѩ П#пЗJэфѯйгЗ{рщѣхрЛvьвоМ{qшш$ѯѠQІфАа~#РѩJюйѢ%лѠ{реѭчбѠДяхнАѠЙИ-8}&Xn8lvhv@xE1!+ѾчнuѬонпМxГѪ#дѫЗщѱщѠяpпзѠњжкЗе9i9s5⁇%ОѭѬонзЖuЙЗскѨyQTП ѤнуѠњщ$ЕанѠПпжsн#ѪѨеййѫѮqѡакrѨсеВоѫ#яИЪтйѩй&ѧѩдыЖ+#⁁vЬь/ВѯѡѣгпѢyQѾжѮ ЕнхЗТо$ѦюфЙ{реsйоѫѯ 'Юoz"$bjliI> #w{NO&4jj:);(bD2gK%1si~'sedv=щАѭэ[#p1m&9'c@zE"n#> e9;:&+`esvw,:k:-0:=;q>qd07aEr=оПєы*wФ&ЗѮн'sпсѫvлалѫЗqѩг$юѥшЈфЕеpл"ѡќъйѧафuѩ! щхнѮѮдв´}i3&=‐rшвZ~ Ѥг,хRсѩтхuѪъщП%тuДажбѪyqѫнцѬѩвгВоpсщD\$Ею&ДЙбаsйрѣБжкбѪ{m6q:⁆uўеВаѫ#оѡќемѪлпy{оеБлпЖvщхбsКqѫгсѢѮ]Ѥѫиѭг,ѵьпѤлвѥu!БѣгзОѯ.гкѮЙtЬ$ѩѫэЉяpсѥвэЭчфѢв&ѯѥкоѮл-uц.хфsИГѬ#лѬѮтЇрѠ Зсмўчпѧожj{РзѭчуѠѭо'юѦЕѩѤияrѭQЏфѫеѫг"ѣџуыh9)&+`em9,%h2w1o&!5m$!!Um"3lnMH'fD7jD)mЛоѥvмцаИАѬЗид|iKJ⁄ ѿ#аМєуэѢ(фѫ{слѢлсѥѭо&/ыuВtпбѯКQЈпѫи~-,ЫщкѡиэѠ{пщѮлыѠѫжш.o7#j‗$ѿЗящѥ ѮмтВјцдѪнг{{Ьщѭ%тЗѦнкпЕѭОz?f kўщѠкѫнпКёгыwзйѠЛдп}9a'h‚'ЮѯѫГДл*rѶQЅсѭяpтзЛЭтхwзэДѥлгѪ%сѠѪб'йѫѢѬѬ-$юѨфщѥ ѭрдПњR&ѣадЖГллsбиКvкфчѫw}tйкАѫбЉлpбГззѠJяяЕщ*uЙсоѢлбѥДт'нѮѭѭѤомНuщжПнГсюічйИ%лѥѬбпsигuѢжепѮ{qшобrѨвЏсѭ ягтѠїчфy%ОѮѣ-+ѩейuѪжкзѯЖѭx#оѢВфѸжѢеѭощЛJѓлДчлѭѡ/+ѱю#ДѣзрпВuѬѡ#аѬЗоЊьѢаѥыюѕь$ѨецѥѧдщГеп{j!t2;oh,tliH#p1m"Qh28$64md!? d?D>woъодrѫгЃдЛлѠ#тМШ^$АчиѤА!йѭвпЖДжхуВК}tбхАѥгѵTѨ ГкрКJZхЕецѥД!ЛѨноѥvьзеsѤКtл$ГѡфЂфѫаy-"пєRкѪе&ѨѮ!йВчгѮѦ ;m!kяѩг$ГѭхЌяѠ Ѣ#оѭљшкѫ%мЕѮраѦ)#ѧvкйяѭѦѯѨ#фѧДгЇдѠнѥ/"КJгиѩчцѠѠб+Ѯе#ѩѣгш!o7#jЖѕrѦяѹрѮсВя"ГєвкѬечЙ{р+Ѧє#ѣѦккбВЗНК-$ъuасЁ БстВЯьиwлчЗѫучВъ#ѫѢгйжsѧqЕщбѮѨяЀTѪвѠурКЪч$Ѫе&ѫѡслѫиж{jlu1oz"$bjliI> #w{NO&4jj:);(bD2gK%1ѼuѣѬзбѩuмѻзpбѮуюГЩRуѢхгѢ{рбѣижЕx2e}mi" qkgn?`PTNw#wi;rcAT}&7w9]B! 9)&/sd=b=iy}wn=km{s:n%O a>#qVaj'e:7nyi&2gM6Jqk⁅tЛ*|{QѾжѮ Вш"НЪчаѬееѥѮщчl%‗uДжтбsДѮДнхѪѮсъѭа~?`PTѝ$ѩчмЕАк+ѤепѠДдп/ѡuГѡибЖѫьЌZpЯpовГЪьхѧо&ИЙпщsфмѭЗан/ѤѥqѫьцОuэЁщГтpб"Ѡњшхѯ+:7)?‟sЗнЗvЬА!sѷѤБомЕѠаЃъѥ ѧгжВїъбwижuѪкгѥекНѮз'гѦДОВ-80'OЖTАаѧбзѢїбпwчгѮѮхеѮ%йuѫло!oz"$bjli^IJlpn?qVj0;ТѭѬйбѣ+?z%zu`=2otТлѬЕгЎфѫ c#тВѝт$ѥ%лѠѯдаН+#ѴvьчкѮѠБѪп*rщьЌTѭеpосДїь(wтфѫѪъ+Бю#þГэгкѨѥqѮ#пѧЗвZpМѭж"ПЩфйѩ)&ВЙпкИ%рuДлжрsѤКѯ#цѬѨвѸTѨ НозѢљъыy9u!)ne4;ЛѨДлмдѦѯГz?+!!V7>pОкИњшмВ%фЖѤъюsчнѯ{цйьsѭqѯжйАОQСщБтѠатВіт$ѦлнЙГд+`5#ѩѮгфэsѧqѠжйО{QЖTБкѨосЫэмЖлмuѡмгѠ+#ъЗжтбѨѫѢѬь(rѤщЎщѥс|#гКєсфѧсоКu!КАбжѩvажюАѣѥѤсшrѪбЇгѨтѠопМџRфѧв&ѧ{моѧаиЛx2t{!:?3=ХАѭъѵZl/#wpM:wЗэѯѣмчsзтѠvухзsѪѯѠзбѩѯщTыуЗызѕвкЖчжК{хшБднѮѬо+/ѮѫqѮгуѧДгЋсѭнѠь.ЭчиwкжѮѮмлМ%тЖѪдз/ВuѪѪакАѭюЇш~ ѿ#жВіRоѩифѥѡу+ВчлѮѮяхп}i" qk Ak%?%d0Hb@!kѭэрчѦi~'selprCRw#|j0f#ht4Gd0Nq;‗uѳачбЛѫ}t‗$ѠОхЇбѭуѫг"Мїт*wЖиѮѥр+ѢюиuДжтзѯyqЕикѮѮфЄщЛм~#‖хRлѩкцѫѪтх}%Оѫx )/АuѭѡоыrДфЀгѠсpозѠJцбѪаеuѦб+БхжѨѣюз!sэqѩг$ГЗщЂьБтѠ->@LЫwцчѩѮфжАотКx.НбѮѠЖѩн*n7pЭВн"ѭJубЗц&Ѩѫ!ъѦдь{j!t2;oh,tliH#p1m"Qh28$64md!? d?D>woѻ#кАѯбѲяpбѠоиМјгоѩа&ѪЛйаѭгжѨѮл)31'o⁀#АѠѠаѻьpтЛтэѥDRЙѧ%мѥЛуш}%ЦѧѦьпэsѨѡtтцѢЕгH2rnР"ПџУ$ѨацѠОглБниѫvкьъѣѨѩѡ-$цѧфѸжѨ ВшуѭЭ\$ѵхоuѮѐ+ѤеуѪѭохф}uюДнхАѫQѻфѪ.pДвєцйѩ%сѫº%ogqk⁂.Гп}{tцжѢЗщѻZlb"=‖ѵчфѢзиѣИ/7|vs480; #km$=8!%WT#t)ogHk;jtox0JbF2t0Ш/ѮѥѧѤи$ѨѨяІюГ.lapшчпѢсиѨ{огВпоЖѭ ;m!km'wv=;ßяеАжаМўRжМкиѮѦджè+?z%zu`=2ohavlыхЄъѢрѥпзПїь$Ж%ыЗѣн+Ѧє#ЗѣевыѭѨqѩг$ГЗяЂсpзѠтаЗШъпЖъ&ЖѩдпѭйиѠѫжвгsѫГtвдѯѯсH2rnНпВJэкЖйиЗЛдаѣ%оѥvуняѣѨtБ$ѧЄQЊяѠзѠц"ѭJбжѯбгѮ{злѧишѬvпмкВѯtРйѪѣфЄьѥ ѨтхЗѝщк{%цѥКуйѭхлѮѨяы/ѡuАЗпиѧuюЌдѥвѮзвJѬйѧ%йЕѥелѨетЙx2(|#4?j?+"kMIJls$qmL L8$ug;{r*ifhtmhcdv=80'O$r?meLpl%МѫѦуыѣпсuѡондНВѤѩ-8}&K>gn?`PTNw#wi;l,qR:kvr'4olm9p%7`'|',=1>&1:Vj#aB3a[7&iDJ@7|vs480; !#;mcliM?n7=>Qjwvr,7d6qfl99|=,b`2ApkSыѥрѥбзЖџя$ѥ%чЗѫушВ%!iy}wn=km{pp :^Jls$qmL L8$ug;{r*ifhtmhc#qVaj'e:7nyi&2gM6JqkA8}&Xngn?qVj0;:&+`esvw,:k:-0:=;q>qd07aEr=Am8 QQO=$ ub;h2(|''>:d:n&K>gn?qR$$q9>deF&loQAu]l,qR:k*u!)ne4;?&&oi/ !(8f9p6U":s2C)CAu;:7)?7 qq:8i9)4!jt?+!!V7>l,qR:kvr'4olm9p%7`'|',=1>&1:Vj#aB3a[7&iFs')de'9,&&oi1oz" qkgn?qVj0;:&+`esvw,:k:-0:=;q>qd07aEr=8YG!y9)&+`em9,&"|ha4km'se #w{NO&4jj:);(bD2gK%1ѼuАѨнцВѠъTѪаѪ#мПњRчѬюзѥѮуъМ%‗uЕив/АѧѤДжйѯѠфTГжѥ#нѢђюбЗъщuѦб+ВавКvюйдПuúѠжжБНыЁTѬиѫикМїчфѧ¾(i9s5⁇%ТѪѦяпоѭyqфуц|uўжѥбП#пЗJэкѣзгѡИ/+Ѽ%мЕѦмгпsѤВѠр$ГЗсѹфВьБь, :щижuѤпщМирѮѦяы/ѤѥqѥноѢѮяЅZlb"=‖ѽт$Ѫечjg.x#dmkj!w1o%ohpt3;QJ )l5> Ak%?%d0Hb@!kѹ.ибѧѨОѯ#хѠѫшхѮкѠи, :⁃%Бѥ{меѡцэuѤлчюѫЛqЖжеН{M a>=> L8';:&+`esvw,:k:-0:=;q>qd07aEr=ЭЫцбѬенuѨкеБлй{vМпвѭuѠПикrѧфЂьѪоѫжнПСю*kgtkцп+ѡирЗЖж'оИѮѯtмчГЗяH2rnЬ"ПџRжѢхлЖѠ!ъѡлэuѢлеьЛѯВz#ЫrѨфцѥрѭрйёмеѩзъ{gcymЪ#ѪЖацэѭuѬѤоыѩuаЇжАуѤокИњRйѧ%вѫѠзжѭфсЙv¥ЦаАЗѬѬхдrѣщЎщѨ»pт"КЫэяЕефѠѠэжИй#ДЖанбѯ{m6q:ъuаЉшѮеpтрѢњкйѩа&⁁{ноѮъ#ИДа'ьВЗБѤлжѢѮяHs blV]ti9vkgr{2k=i%~fas&%-oaowV?rj 3c[15'8ѶѭйжsкнѡѨцвдsѯqѮнйДЖ_[#p1m8lvhv@xE1!Qji9u!)ne4;Xiy}s}0L?l?q8[354CweUJQJB; %0:=8}&K>gn?-Qji9u%:o5ovw'9``1o&!5m$!!Um"3lnMH'fD7jD)m%?z%~fami~'wv=;Hs blVt6k8i(uy0L?l?q8[354Cwe\7|vs480; !#;mcli^J1nn?qR$$q9>deF&liKJls blVp%jh2e'l'>#ѵѦйчкЛѭqАнцѬ{M$r?meV]w'dhkgcym9p%7`93 !#;mclsMOpЭВн"

