Прем по скромности приписывал свою находку удаче, но я не так глупа, чтобы поверить. В его комнатушке царил разгром, как в спальне у трудного подростка: стол был завален папками, бумагами, всяческими мелочами и электронными игрушками, стены покрывали фотографии, плакаты и смешные картинки — вопреки всем правилам, — но парень был толковым, умелым и дисциплинированным сотрудником. Он изучил рабочие журналы Хью и Синглтона и клочки отзеркаленных кодов, над которыми те трудились, и скоро обнаружил в одном нечто любопытное: неполный вариант навигационного пакета, какие использовались для перенастройки извлеченных из Саргассов кораблей.
— Тут не столько интересно, что есть, сколько чего нет, — сказал Прем.
Он так и рвался познакомить меня с находкой, и я нехотя согласилась посмотреть. Коды обычно исследуют и обрабатывают через виртуальный симулятор с мультиплицированным по–диснеевски интерфейсом: ландшафт изображает маленькие коралловые рифы, в экзотической красе которых таятся акулы, мурены и опасные течения, способные поджарить синапсы или навсегда выжечь на зрительных нервах какие–нибудь странные образы. Программеры, проводящие в этих симуляциях по восемь–десять часов в сутки, обычно страдают разнообразными галлюцинациями и рискуют стать инвалидами: им грозят психозы, слепота, утрата контроля над моторными нервами и даже смерть. В то время как они, подобно ныряльщикам, погружались в грозные бездны моря, я больше походила на курортницу в маске, скользящую над цветными очертаниями рифа — над сложными фрактальными пакетами самопоглощающейся информации, ветвившимися, как деревья, или компактными, как человеческий мозг, или протягивающими щупальца в глубокие тени под переливчатым серебристым небом. Однако я не могла избавиться от ощущения, что нечто жуткое и невидимое таится на краю зрения, там, где склоны рифа обрываются в неведомое.
Прем направил меня к месту, из которого росли пики сложной формы, и спросил, вижу ли я.
— Я никудышный технарь, Прем.
— Там прошивка, скопированная с другой части кода, — сказал он, проворачивая поле зрения на 360 градусов. Вокруг нас потекли, сливаясь в многоцветный трехмерный ковер, пурпурные, зеленые и золотые фигурные шпили. — Сразу не заметишь, для того–то оно и делалось. Но когда знаешь, что искать, — бросается в глаза. Я написал маленький исполняемый… вот…
От серебристого неба отделился призрачный ландшафт схемы и косо надвинулся на окружавшие нас шпили.
— На вид вовсе не сходится, пока не выполнишь простенькое геометрическое преобразование, — сказал Прем.
Схема перевернулась, вытянулась и слилась с контурами шпилей, словно инеем покрыв их сложные очертания:
— Думается мне, кто–то тут что–то удалил и прикрыл дыру, — пояснил Прем. — К счастью для нас, он, хоть и знал дело, поленился. Вместо того чтобы создать заплату с нуля, он скопировал другой участок кода и вшил сюда. На поверхностный взгляд — безупречная иллюзия, даже прогоняет несколько циклов процессинга, хотя, конечно, впустую. Код уже никуда не годен — но это обычное дело для кодов.
Странные очертания и краски кодового рифа, бредово яркие и полные мелких подробностей, повторявшихся при каждом уровне увеличения, вызывали у меня головную боль. Я мало спала и держалась на кофе и куреве. Стянув с головы виртуализатор, я спросила Према, не догадывается ли он, что именно могли удалить; он сказал, что, как ни фрактален код, реконструировать удаленную часть практически нереально. Парень углубился во всяческие тонкости насчет экстраполяции от границ, перекрестной детекции, рандомного поиска и осесимметричных мутаторов. Ему, как всякому технарю, не так интересно было решить задачу, как поиграть с ней. Я его оборвала:
— В общем и целом тебе неизвестно, что это, и узнать невозможно.
— Боюсь, что так. Удалили слишком тщательно, не реконструируешь, а сравнение по каталогу не дало результата.
— Они что–то выкрали. Мы не знаем что, но определенно Синглтон и Хью что–то сперли. Отзеркалили код и удалили оригинал, затерли, как умели, следы и смылись с копией.
— Возможный сценарий, — сказал Прем. — Только один вопрос: как они с краденым кодом прошли систему охраны фермы?
Вопрос по делу. Коды хранятся в специфических квантовых состояниях электронов и прочих частиц, так что копировать и запасать их не сложнее, чем огромные бинарные последовательности обычных программ; чтобы их не искажал и не засорял квантовый шум, отзеркаленные коды помещают в ловушки, охлаждаемые жидким гелием. Ловушки–архивы большие — размером с грузовик. Маленькие переносные — чуть больше обычного домашнего термоса. А Мейер Лэнски, как все подобные фермеры, был просто одержим безопасностью. Программисты на входе и выходе шли через особые сканирующие рамки и постоянно находились под наблюдением камер, не говоря уж о выборочных обысках.
— Может, подкупили охрану или скрыли ловушку в каком–нибудь приборе, который подлежал выносу из помещения для ремонта, — предположила я. — Или тут сам Лэнски участвовал.