— Присаживайтесь, — представитель следственного управления указал на кресло напротив широкого письменного стола. — Мистер Игнатов, я обязан вас предупредить, что наш разговор будет записываться. Вы не возражаете?
— Я не против.
— Замечательно. Тогда я включаю запись.
Следователь щелкнул по сенсорному дисплею лежащего на столе планшета. Электронное устройство отозвалось протяжным писком, сигнализируя, что запись начата. Выждав несколько секунд, представитель управления глубоко вздохнул и произнес:
— Главным следственным управлением Объединенной Евразии проводится допрос свидетеля по делу о гибели Николая Акимова. Допрос проводит старший следователь Восточноевропейского отделения следственного управления Даг Шолленг. — Он несколько секунд помолчал, потом перевел взгляд с планшета на меня и кивнул. — Назовите ваше имя.
— Андрей Игнатов. Год рождения называть?
— Не стоит… Я спрошу об этом, если потребуется. Вы работаете в фирме «Тест-технолоджи», предоставляющей услуги тестирования виртуальных программ?
— Да.
— Какова ваша должность?
— Тестер, — я замялся, не зная, что добавить. — Просто тестер…
— Мистер Игнатов, расскажите об обстоятельствах гибели мистера Акимова, свидетелем которой вы стали.
— Нам поступил заказ, — начал я, — на тестирование программы для географического общества Объединенной Евразии. Программа была составлена больше трех лет назад, и ее создатели опасались, что за период внесения мелких доработок, то есть за эти три года, что-то в ней могло пойти не так. Программа представляла собой трехмерную карту планеты с функцией просмотра любой точки Земли в масштабе один к одному. Амбициозный проект. Его планировалось запустить во всех школах Объединенной Евразии в качестве пособия по географии. Наше тестирование было контрольным. Ну это когда осталось лишь побывать в шкуре стандартного пользователя и подписать акт сдачи программы в эксплуатацию. Нас с Николаем отправили в составе парной группы. Я должен был поработать два часа, а потом он сменил бы меня, но Коля заупрямился — не хотел два часа впустую шататься по тестовому комплексу и попросился быть первым. Мы вошли в тестовый зал, Акимова подключили к креслу, зафиксировали датчики. Ну вы знаете, как это обычно делают. Потом запустили программу. А я пошел в буфет перекусить, чтобы через два часа вернуться и сменить напарника. Когда спускался на первый этаж, меня нагнал Шон Браун… он работает там… Нагнал и говорит: «Андрюха, там Акимову плохо». Я обратно по лестнице вбежал, смотрю, а Колян… ну Николай… корчится в кресле. Потом он начал срывать с себя все эти датчики и заплакал. А еще через несколько секунд он перестал дергаться и замер. Мы сначала подумали, что ему просто плохо стало — такое бывает на старых программах… Но пульса совсем не было. Шон вызвал врача, правда, было уже поздно.
Пока я говорил, следователь молча кивал, а когда я закончил свой монолог, покопался в документах, сложенных на письменном столе, и выудил из общей хаотичной, как мне показалось, кипы листок бумаги.
— Комиссия установила, — указательным пальцем Шолленг провел по напечатанным на листке строкам, — что смерть Николая Валерьевича Акимова наступила в результате перегрузки центральной нервной системы путем одновременного воздействия на сознание пострадавшего ряда искусственных раздражителей.
Он закончил читать и вопросительно взглянул на меня.
— Резкие колебания звука и изображения, которые вызывают галлюцинации, расстройство нервной системы и даже смерть, — пояснил я. — Программа зависла, вот все звуки с изображениями и смешались воедино. Психика моего напарника этого не выдержала.
— И при каких обстоятельствах такое может произойти?
— Обычно случается при зависании программы или сбое, произошедшем в графическом движке. Еще каких-нибудь десять лет назад такое частенько случалось. Гибли люди.
— Но сейчас технологический уровень позволяет практически исключить подобные случаи. За последние полтора года в мире зарегистрированы всего две смерти тестеров. Если считать вчерашнюю гибель мистера Акимова, то три…
— Наша работа всегда была сопряжена с риском, — я пожал плечами. — Необязательно это риск летального исхода. У тестеров порой происходит потеря рассудка тоже, но такие случаи обычно не добираются до следственного управления. Вопросы компенсации семье тестера решаются в руководящих кругах фирмы-заказчика и тестовой организации.
— И много таких случаев на вашей памяти?
— Мне известен лишь один случай. Женщина-тестер по имени Ольга Субботина, работавшая в паре со старшим тестером Европейского отделения, проверяла программу для военных. Она сошла с ума прямо в трансляционном кресле. Просто в один момент сорвала с себя шлем с датчиками, принялась плакать, и… и все…
— Понятно, — кивнул следователь. — А программу, убившую вашего напарника, до вас тестировали?
— Убивает не программа. А человек, ее создавший или допустивший ошибку. Убивает умник, который вовремя не проверил систему охлаждения установки. Программный код — это лишь инструмент, посредством которого безалаберность одних приводит к смерти других.
Шолленг хмыкнул:
— Мне ясна ваша позиция, мистер Игнатов. Но я бы попросил отвечать на поставленный вопрос, а не философствовать. Пустопорожние разглагольствования не помогут нам выяснить, кто является виновником гибели вашего напарника.
— Так ведь я о том и толкую. Невозможно найти человека, который виновен. Напарник погиб из-за случайности, но прежде была совершена ошибка. Кем совершена, мы не узнаем никогда.
— Не будьте так пессимистично настроены, мистер Игнатов. Отвечайте на поставленный вопрос. Кто-нибудь тестировал программу до вас?
— Да, разумеется, — я провел пятерней по волосам. — Было две группы, но с участниками тех тестовых команд все в порядке. После трагедии я звонил в компании…
— Раньше программу тестировали не ваши люди? Не из одной с вами компании?
— Нет, что вы… Тогда нашей компании еще не существовало. Это ведь было три с лишним года назад. Тогда на рынке тестинга работали всего две фирмы — «Скаут» и «Технотест». Те группы, кто тестировал программу, были из «Скаута». Мне они сообщили, что единственной проблемой были вирусы.
— Вирусы? — Следователь насторожился. — Вот об этом поподробнее. Что за вирусы?
— Обычные компьютерные вирусы. Их в программный код продуктов частенько вносят конкуренты, чтобы запороть финальный продукт. Есть вирусы, которые блокируют выход из программы. Есть такие, которые размножаются и портят программный код. Некоторые распространяют рекламу. Например, если вы пользуетесь программой трехмерной карты Парижа, то на Эйфелевой башне может висеть баннер порносайта… ну и так далее. Это обычное дело. У тестеров есть специальное оборудование для выявления вирусов. Они подключают его к стенду и чистят программу от вредоносного кода.
— А в той программе, которую тестировали вы, вирусов было много?
— Когда работали наши предшественники — порядком. Как мне ребята из «Скаута» рассказали, кто-то очень не хотел, чтобы программа вышла на рынок мультимедиа-продуктов.
— Так не хотел, что пошел на убийство тестера?
— Да бросьте вы! — Я усмехнулся. — Кто мог хотеть смерти тестера? Да и не станет никто изощряться ради того, чтобы за программой пошла дурная слава. Хотя идея, надо признать, довольно оригинальная. К примеру, погиб тестер, и программу закрыли. Следовательно, правительство больше не будет иметь дел с фирмой, распространяющей опасный для жизни товар. А если речь идет о программах для школы, то фирму вообще могут прикрыть. И госзаказ не поможет…
— Вот-вот, — следователь в задумчивости барабанил пальцами по лакированной столешнице. — А вирусы могут спровоцировать зависание программы?
— Могут, но мы перед тестированием все проверили и вирусов не обнаружили. Я понимаю, к чему вы клоните. Думаете, кто-то загнал в программу вирус, чтобы потом убить тестеров. Огорчу вас, это маловероятно.
— Но ведь возможно!
— Да… — я замялся, — но гения, способного написать вирус, обходящий наши сканеры, я пока не встречал. Теоретически можно полностью перекроить программу, но еще ни у кого не получалось реализовать это на практике.
— Значит, глухо… — Шолленг покосился на матово поблескивающий дисплей планшета, с помощью которого до сих пор велась запись разговора, и тяжело вздохнул. — А кто-нибудь мог «точить зуб» на вас с напарником и умышленно устроить все это?
— Исключено, — я отрицательно мотнул головой. — Двойки тестеров на тестирование программы утверждаются за сутки до непосредственного начала работы, чтобы свести к минимуму вероятность подкупа их представителями разработчика программы. Даже если бы нас и ненавидели так, чтобы подстроить несчастный случай, вероятность, что именно я или Акимов окажемся в тестовой группе, была слишком мала.
— Понятно… — Шолленг еще быстрее, чем прежде, застучал пальцами по столешнице. — А что, по-вашему, вообще могло привести к зависанию программы?
— Например, дополнительные функции, которые накручивали разработчики. Чтобы оставаться конкурентоспособными, создатели программ как только не изощряются. Эти, например, добавили кучу разных функций вроде встроенного компаса и прочего хлама. Будто жители Объединенной Евразии будут учиться с помощью компаса определять расстояние и направление, север и юг… Да при нынешнем уровне развития систем GLONASS и GPS это и не нужно вовсе… Вот…
Я замолчал, переводя дух.
— И каким образом все эти мелочи могли повлиять на программу?
— Представьте дерево, — вновь начал я, — оно крепкое и целостное. Но если к нему пытаться привить ветвь другого растения, может получиться все что угодно. Например, ветвь не приживется и погубит дерево. Это случается нечасто, но, тем не менее, случается. Так и с программами. Если в итоговый код добавляют нечто совершенно новое, может произойти что угодно. Лет сорок назад, когда все программы были ориентированы на стандартные персональные компьютеры, все было проще, но теперь…
— Понятно. Значит, случилось то, чего заказчики больше всего боялись. Мало того, погиб человек. Теперь правительство может отказаться от дальнейшей работы с фирмой… — Следователь словно что-то вспомнил — вскинул голову: — А какие фирмы с ними конкурируют?
Я пожал плечами:
— Я думаю, таких наберется не меньше дюжины. Сейчас подобные программы разрабатывают все кому не лень…
Шолленг помрачнел. Он несколько секунд барабанил пальцами по столешнице, затем с тяжелым вздохом поднялся с кресла и прошелся по кабинету.
— Мистер Игнатов, я прошу вас не злиться и не обижаться на меня. Допросы свидетелей — моя работа, не более того. Дома меня ждут жена и маленькая дочурка, и я бы не хотел, чтобы вы, покинув эту комнату, считали меня бездушным дознавателем… Понимаете ли, я обязан проверить все версии…
Следователь замер посреди кабинета и виновато посмотрел на меня.
— Спрашивайте, чего уж там… У меня своя работа, у вас — своя. Наверное, работенка похлеще, чем у тестеров.
— Да уж, — Шолленг слабо улыбнулся. — Мистер Игнатов, скажите… вы с мистером Акимовым хорошо ладили? Не случалось ли у вас с ним конфликтов?
Я растерянно поглядел на собеседника. В холодных, серых глазах следователя блеснул нехороший огонек.
«Он что-то знает, — предательски зашептал внутренний голос. — Может даже, навел справки про Кетти, разузнал, что эта мерзавка спала с Акимовым».
Вспотевшими руками я с силой сжал подлокотники кресла. Все внутри похолодело. Да ведь этот хитрый следователь знает…
— Мистер Игнатов, вы слышали мой вопрос?
— Да, да… я все слышал. Мы с Колей были приятелями. Хорошо ладили.
Шолленг кивнул.
— А Кетти? — бесстрастно поинтересовался он. — Неужели, узнав, что эта мерзавка спала с Акимовым, вы не захотели его убить?
Я задохнулся от ярости. Вскочил со своего места и хотел было крикнуть: «Что вы себе позволяете!» — но следующая реплика Шолленга пригвоздила меня к креслу:
— В постели он называл ее котенком. Она ведь рассказала вам об этом, не так ли? А еще о том, что ей обычно нравится быть сверху…
Я безвольно опустился в кресло, хватая ртом воздух, а следователь тем временем продолжал. Что-то в нем неуловимо изменилось, словно робкого и тактичного Шолленга внезапно подменили. Взгляд сделался жестоким, черты лица заострились. Теперь он по-военному вышагивал по комнате, бросая колкие реплики:
— Вы с ней давно не ладили. Может, причиной тому была твоя работа. Нервная, как ты ей говорил, работа. Все не находил времени на жену. А вот Акимов находил время и на свою жену, и на твою… Когда вы с Кетти поссорились в очередной раз, она высказала тебе все, что накипело. Помнишь? Она кричала, что выходила замуж не за пустую, холодную кровать… Сказала, что у нее есть другой, и зовут его Николай. Каково было тебе в ту минуту? Помнишь? «Котенок, — сказала она. — Коля зовет меня так, когда мы занимаемся любовью…»
— Кто вы? — просипел я, совершенно не понимая, что происходит.
— Твое второе «Я», твой внутренний голос, ангел-хранитель. Зови меня как посчитаешь нужным, Андрюша. Ты мог спрятать свои мотивы глубоко, но я-то знаю, где искать, — губы Шолленга изогнулись в гадкой ухмылке. — Котенок… Ну надо же, как тебя это задело. Ты ведь ее так никогда не называл, зануда. Что она там еще сказала? Дай-ка вспомню… Ах да, она поведала, как твой друг целовал ее… И тогда ты решил его убить. План родился в тот момент, когда вас назначили работать в паре. Вас всегда отправляли в паре, гнусный лжец! Вот и теперь, тестируя географическую программу, вы должны были работать вместе. Так все было, Андрей?! Ну чего ты молчишь?
Я лишь безвольно кивнул. Нет, даже не кивнул — лишь опустил голову, коснувшись подбородком груди.
— Ты не проверил систему на вирусы, да еще и включил дополнительные модули для верности, чтобы программа точно зависла. Ты знал, что все получится, и все получилось! Так все было, Ан-н-н-ндрей?..
Ответить я не успел. Пространство вокруг меня рассыпалось мириадами осколков, сменившись непроглядным мраком. Потом откуда-то сверху послышалось:
— Андрюха! Дрюня, твою личность! Подымайся, приятель. Я думал, ты умер… Программный модуль висанул…
Тьма перед глазами рассеялась, уползла вверх вместе с дымчатым забралом тестового шлема. Передо мной был стенд фирмы-заказчика: множество мониторов, сотни поблескивающих лампочек.
— Что случилось? — произнес я, оглядывая помещение.
Это и впрямь был не кабинет Дага Шолленга, а всего-навсего тестовый зал.
— Ты зачем в прикладные модули полез? — Передо мной возникла заросшая щетиной физиономия напарника. И что Кетти в нем нашла?..
— В какие модули? — непонимающе замотал я головой, сняв тяжеленный шлем.
— В прикладные, — раздраженно зашипел Акимов, — вместо основной программы полез шарить в прикладных библиотеках. Не, ну надо было такое придумать! Интересно стало? Забавным тебе все это показалось? А представь, если бы зависла вся программа? Хочешь Кетти вдовой оставить?
— Не тарахти, — я примирительно выставил перед собой ладони, — все равно ни черта не понимаю. Куда я там забрался вместо программы? В дополнительные модули? По ошибке, наверное…
— Наверное, — сдался Николай. — Я уже перепугался, когда тебя трясти начало. Думал, умрешь сейчас в кресле… Освобождай стенд, я сам полезу. А ты на вирусы еще раз эту чудо-программу проверь и, пока я буду ее тестировать, умойся сходи. У тебя такая рожа сейчас…
— Сам в зеркало давно смотрелся? — огрызнулся я — Образина!
Но напарник, казалось, пропустил колкость мимо ушей.
— Легкая небритость — это сейчас модно, — весело объявил он, садясь в освободившееся кресло и водружая на голову шлем.
— Твоя небритость была легкой неделю назад.
— А бабам нравится, — опуская забрало шлема, подмигнул мне Акимов. — Так и липнут ко мне, такому небритому и неаккуратному… Запускай, приятель. Может, успеем домой к ленчу, если быстро разделаемся с этой программой.
Я молча кивнул. Значит, бабам нравится. Интересно, Кетти напарник тоже причисляет к «бабам», которым нравится его небритость? Котенком зовет… Тьфу, блин, герой-любовник! А эта дрянь тоже хороша…
Я подсоединил к стенду антивирусный сканер. Когда устройство выдало запрос на удаление вирусов, рука сама потянулась к кнопке «Отмена». Одно касание сенсорного дисплея — и на экране возникла надпись: «Проверка на вирусы отменена. Немедленно прекратите тестирование до проведения полной проверки А»
Вот так… Все как говорил придуманный моим воображением Даг Шолленг. Он-то знал, чем все закончится.
План был продуман идеально: стоит Акимову сесть в кресло тестера, программа зависнет, и напарник отправится в мир иной. Нужно было лишь сделать так, чтобы он вошел в программу первым. Все едва не рухнуло, когда жребий садиться в кресло выпал мне. Следующего случая прикончить мерзавца пришлось бы ждать месяцы, и я решился — вместо основной программы забрался в нагромождения дополнительных модулей и устроил там небольшой сбой. Коля наверняка решил, что я ошибся, но ему и невдомек, что все было рассчитано заранее. Он должен был сказать, какой я болван, раз полез в прикладные модули. Он это сказал. Должен был заявить, что теперь ему придется тестировать программу, пока я приду в себя. Так оно и получилось. И вот теперь цель близка.
— Как там вирусы, дружище? Всех извел? — весело поинтересовался Акимов.
— Да, приятель, все сделано, — ответил я и в последний раз коснулся дисплея, закрывая надоедливое сообщение о смертельной опасности.
«Тестовый стенд запущен, — зазвенел в динамиках надменно-металлический женский голос, — оператор установки Николай Акимов».
— Да, детка, это я! — прозвучал из-под шлема голос напарника. — Киса, я иду тебя тестировать…
Замигали бесчисленные лампочки на тестовом стенде, экраны запестрели разноцветными графиками. Было в их сверкании что-то магическое, пугающее.
— Дат Шолленг, — проговорил я и улыбнулся, глядя на мельтешение датчиков. Черт возьми, на что же способно иногда человеческое воображение! Я ведь и впрямь решил, что Акимов давно мертв, а мне предстоит держать ответ перед следователем. Но, как бы то ни было, рожденный в моем сознании персонаж оказался прав — я знаю, как можно убить, и убью. Нужно лишь подождать несколько мгновений, пока вирусы начнут разъедать программный код, а когда напарник будет биться в конвульсиях — подключить дополнительные модули.
— Впечатляет… — Пожилой афроамериканец откинулся на высокую спинку кресла. — Не жалко?
— Их? — К компьютеру приблизился второй — сухощавый, скуластый. — Мистер Карфакс, неужели вы думаете, что жизни двух русских тестеров чего-нибудь стоят?
На мониторе компьютера был отчетливо виден тестовый стенд, возле которого колдовал над клавиатурой Андрей Игнатов.
— Это ваши люди… — Карфакс пожал плечами.
— Мне их не жалко, — собеседник улыбнулся, — давно хотел уволить обоих за непрофессионализм. Зато вы можете видеть воочию, на что способно мое детище.
— Детище… Вы как доктор Франкенштейн…
— Это совершенное оружие, мистер Карфакс, — самодовольно заметил Браун, которому сравнение с гениальным ученым явно льстило. — Вирус внедряется в сознание человека, выуживает из него все, что необходимо для составления команд, и зомбирует. Например, вот этот бедолага уверен, что его жена спит с его напарником, поэтому сейчас он прикончит парня в тестовом кресле…
— А это не так? — удивился собеседник. — Ну что спит…
— Может, оно и так, но подопытный ничего не знал. Мы же вложили в его мозг эту мысль, заставили поверить в то, что он придумал план убийства. Так расшатали психику, что этот болван даже под гипнозом будет доказывать всем, что он убийца.
— И сколько времени вам потребовалось, мистер Браун?
— Ровно пять минут, мистер Карфакс. Пока вирус искал лазейку в его сознании, разговор с выдуманным персонажем погружал бедолагу в транс. Мой… электронный протеже, — Браун усмехнулся, — расспрашивал тестера о чем-то, а сам копался в его голове, анализировал импульсы мозга… Представьте, на что вы будете способны с таким вирусом. Если мы договоримся — а мы наверняка договоримся — я лично подпишу акт о завершении тестовых испытаний. Программа попадет в каждую школу Объединенной Евразии. Каждый ребенок в этой стране будет вашим послушным рабом. Вы сможете вложить в их молодые умы любые идеи, запрограммировать на любое действие… Заманчиво?
Карфакс кивнул, несколько минут молча смотрел на монитор, после чего спросил:
— А с тестерами что?
— Они исчезнут. Навсегда. Оба.
Директор фирмы «Тест-технолоджи» в очередной раз натянуто улыбнулся.
— Ваш интерес, — бросил Карфакс, неотрывно следя за транслируемыми на мониторы событиями.
— Роль вашего соратника меня вполне устроит. Как вы понимаете, без вас мне не провернуть это дельце, как и вам без меня. Мы нужны друг другу. Вся разница между нами лишь в том, что я готов быть вторым номером.
— Неожиданное решение для столь амбициозного человека… И что это вы все время смотрите на часы?
Браун хмыкнул:
— Пять минут вот-вот истекут, сэр… Ваши пять минут…