Читать книгу Рождённый Хаосом (Сергей Анисимов) онлайн бесплатно на Bookz (5-ая страница книги)
bannerbanner
Рождённый Хаосом
Рождённый Хаосом
Оценить:

0

Полная версия:

Рождённый Хаосом


– Ладно, любители помолчать, – улыбнулся тимлид. – Итак, готовимся к запуску. Антон, займись конфигурацией. Как только отдел безопасности даст добро, стартуем. Мы опережаем сроки!


После этих слов кто-то кивнул с одобрением, кто-то – из вежливости, но все, словно по команде, зааплодировали. Я тоже невольно присоединился к аплодисментам и вдруг заметил: на Оле была та же белая блузка, я уловил тот же тонкий аромат духов, что и тогда. Я тоже сидел напротив – и вот сейчас всё повторяется. Алексей Конюхов стоял точно так же! Да все в этой переговорке были одеты точно так же, как в тот самый день, когда я впервые вошёл в этот офис, не зная никого и дико волнуясь.


– Решение, скажу прямо, неординарное, но отличное, – произнёс он, кивнув, словно подводя итог. – Вы нам подходите, – добавил мой будущий руководитель Алексей.


Помню, как вышел из кабинета – соглашение уже было подписано. Меня встретила Нина.


– Я Нина, приятно познакомиться, – сказала она, пожимая мне руку. – Не переживай, все через это проходят, – улыбнулась и кивком пригласила меня следовать за ней.


Мы прошли по коридору, где пахло кофе и книгами, и остановились у моего будущего рабочего места. Нина быстро объяснила, что к чему, и тут же познакомила меня с Олей.


– Ну всё, Оль, теперь он твой, – подмигнула она, будто передавая эстафету.


Оля встретила меня лёгкой, едва уловимой улыбкой. Её рукопожатие было удивительно мягким, почти невесомым. В тот миг я уловил тот самый свежий аромат – он промелькнул и тут же исчез, оставив после себя чувство уюта и свободы.


– Давай расскажу, что из себя представляет наш проект, – улыбнулась она, и я вдруг заметил, с какой лёгкостью она говорит: будто речь идёт не о сложных технологиях, а о чём-то простом, почти домашнем.


– У нас сеть виртуальных помощников. Они умеют решать самые разные задачи. Стоит только дать команду – и они тут же находят проблему, а иной раз и сами причину вычисляют, не дожидаясь подсказки, и сразу принимаются за дело.


Я заметил, как она на секунду задержала взгляд, произнося: «находят проблему».


– А чем это отличается от обычных интеллектуальных ассистентов? – уточнил я, не скрывая любопытства.


– Отличный вопрос! – воскликнула она. – У нас работает динамическая команда на выделенных мощностях, напрямую от единого интеллектуального ядра. Они действуют сообща, в реальном времени, мгновенно реагируют и имеют доступ к самым свежим знаниям человечества, – добавила она с какой-то явной гордостью.


Спустя пару часов приятной беседы я многое узнал и примерно представлял, чем мне предстоит заняться.


– Спасибо! – поблагодарил я её наконец.


– Не за что, обращайся, – с улыбкой ответила она.


Я устроился поудобнее на своём новом рабочем месте, включил полупрозрачный экран, открыл папку с документацией и полностью растворился в изучении сложной архитектуры проекта.


Первый рабочий день пролетел так же незаметно, как и сегодняшний утренний созвон.


Я встряхнул головой, отгоняя навязчивые воспоминания.


Передо мной всё та же знакомая картина, только теперь я смотрю не на документацию, а на очередную закрытую задачу. Проект подходил к завершению.


Пришло уведомление – вопрос был не из тех, которые обычно мелькают в рабочем чате, но я всё же не стал медлить с ответом.


13:19.32 – Кирилл, ты не видел никого постороннего в офисе? – тегнул меня наш руководитель.


13:19:48 – Нет, а что? – написал я.


13:47:15 – Контур остановил! – написал сетевой администратор.


13:47:40 – Через полчаса важное собрание, всем быть! – добавил Алексей.


Всем ходом шла подготовка к запуску.


В голове, словно вихрь, проносились задачи – кажется, всё выполнил, ничего не упустил. Да и если бы что-то вдруг ускользнуло, тестировщики бы это вытащили на свет божий с таким энтузиазмом, что забыть не получилось бы даже при желании.


В чате началось оживление – сообщения посыпались одно за другим, но вскоре всё так же неожиданно стихло. Я наклонился к рюкзаку за наушниками и заметил Нину. Она выглядела растерянной и куда-то спешила, крепко прижимая к себе планшет. Она пронеслась мимо меня, будто за ней гнались.


Я окликнул её:


– Нин, куда так бежишь?


– Не до тебя сейчас, Кирилл! – бросила она через плечо, словно вся на взводе, и тут же юркнула в переговорную, захлопнув за собой дверь.


Впрочем, неважно – сама всё расскажет.


Я поднялся из-за стола. Стоило мне сделать первый шаг, как мир вокруг вдруг ускорился.


Я быстро огляделся. Один лихорадочно тыкал в планшет, другой бросал короткие, обрывистые реплики. Коллеги, с которыми я только что говорил, будто испарились – исчезли без следа. Вроде всё на своих местах, но будто даже воздух стал другим. Что-то изменилось – я чувствовал это всей кожей, но не мог уловить, что именно. Наверное, просто нервы, подумал я, волнение из-за предстоящего релиза.


За стеклом переговорной мелькали лица: кто-то кивал, кто-то размахивал руками. Но стены держали оборону: ни звука, ни слова не просачивалось наружу.


Пахнуло гарью.


– Кто забыл обед в микроволновке?


В голове вертелись мысли: не пропустил ли я чей-нибудь праздник, чей-нибудь день рождения? Вот почему все суетятся. Наверное, забыли купить торт или шампанское. Помню, как пару месяцев назад весь офис был на ушах из-за такой же ситуации.


Внезапный шум – что-то упало: опрокинулся ящик с инструментами. Дверь в серверную была распахнута настежь.


– Антон, давай быстрее! – поторапливал один из администраторов.


– Подожди немного!


Я заметил, как один из администраторов в спешке выдёргивал провода. Что там у них вообще происходит? – подумал я, но вслух ничего не сказал.


Ещё час назад в офисе всё шло своим чередом: размеренный стук клавиш, тихие бормотания – обычная жизнь разработчиков. В углу кто-то нехотя тянулся за очередной кружкой кофе, а где-то на фоне лениво урчал принтер. Теперь всё перевернулось. Офис захлестнул хаос. Работа встала. Люди вскочили с мест, кто-то чуть не опрокинул стул.


Я на всякий случай закинул вопрос в чат.


14:19 – Что-то случилось?


В ответ – тишина.


Раздался резкий звук уведомления. На экране тут же появилось письмо – пометка ASAP, как обычно, сигнализировала о срочности, а тег "P0" ясно указывал на серьёзный инцидент, требующий немедленного внимания. При инцидентах уровня "P0" работа всей компании останавливается.


Теперь понятно, откуда у этой внезапной суеты ноги растут.


По спине пробежали мурашки. Письмо требовало безотлагательно явиться к начальнику службы безопасности, Анатолию Георгиевичу.


Я перебирал в памяти недавние события, пытаясь понять, не случилось ли чего-то важного, что могло бы стать причиной вызова, но мысли ускользали, не давая ответа.


Паниковать не стоило: в подобных ситуациях меня уже не раз приглашали для подробной консультации или уточнения деталей. Хотелось как можно скорее разобраться, поэтому я сразу отправился к сотрудникам службы безопасности.


Глава 6. След в системе.

В кабинете начальника службы безопасности Анатолия Георгиевича царила напряжённость.


На столе беспорядочно разбросаны бумаги. Вместо стены – один большой экран, на котором мелькали строки логов, предупреждения, графики и прочая информация.


Анатолий посмотрел на меня внимательно и, не медля ни мгновения, задал вопрос, который сразу ввёл меня в замешательство.


– Объяснишь, как так вышло? – спросил он, взглянув поверх очков.

– Не тяни, отвечай сразу.


Я стоял посреди кабинета, засунув руку в карман. Чего он добивается? Почему не перейти сразу к делу?


– Что именно?


Анатолий скрестил руки на груди и откинулся в кресле. Он словно был готов к моему невозмутимому виду, но напряжённые мышцы под тонкой тканью рубашки выдавали внутреннее волнение.


– Спрошу иначе: чем ты был занят всё это время?


– Задачи выполнял, – начал я, пожав плечами. – В прошлую пятницу, к примеру, схему конфигуратора для автоматического перезапуска агентов доделал. Всё зафиксировано, если хотите – посмотрите сами, – сказал я, стараясь говорить спокойно.


Он глубоко выдохнул, снял очки и медленно провёл пальцами по переносицы.


– Кирилл… – произнёс он, понижая голос. – У нас критическая ситуация. Это не просто какой-то баг. Прошу тебя, отнесись к этому с должной серьёзностью.


– Я и так серьёзен, – ответил я, всё ещё не до конца понимая, чего он от меня добивается.


Он нервно барабанил пальцами по столу, и его взгляд задержался на мне чуть дольше обычного – будто он хотел удостовериться, что я понимаю всю важность происходящего. Не отрывая от меня глаз, он заговорил дальше:


– Ты совсем не догадываешься, зачем я тебя позвал?


– Нет, – слегка раздражённо ответил я. – Помощь нужна? Давайте к делу.


Он криво усмехнулся.


– Код ядра, наработки, базы данных: теперь это в открытом доступе. И знаешь, что самое интересное? Слив произошёл с твоего рабочего места.


Слова прозвучали, но смысл дошёл до меня не сразу.


А это точно про меня? Нет, это явно розыгрыш. А если не розыгрыш, то как такое вообще возможно?


Не дождавшись моего ответа, он добавил:


– В логах сети обнаружен след. Очень интересно, что ты делал с ядром пятнадцатого мая в 19:32?


– Стоп. Во-первых, я ни к чему не подключался и ничего не делал. Во-вторых, если это шутка, то она неудачная.


– Без веских доказательств, особенно с учётом всех этих скриптов, которые нашли у тебя… – Он покачал головой и, опершись на край стола, продолжил: – Кирилл, я хочу помочь.


– Так эти скрипты для работы. Вы же их смотрели?


– Весь код компании должен быть размещён во внутреннем репозитории и проверен службой информационной безопасности, включая код, который пишут сотрудники, – он указал пальцем на меня. – Ничего из того, что мы нашли у тебя, не зарегистрировано в системе. Ты ведь читал устав перед подписанием?


Сердце вдруг забилось чаще, и в груди проснулась тревога.


– Там нет ничего стоящего внимания. Я всё зарегистрирую, – ответил я, сохраняя спокойствие.


– Безусловно, ты это сделаешь, но этим не решишь главный вопрос. Скажи мне прямо: это был ты?


– Нет.


– Хорошо, – в его голосе прозвучала усталость. – Я тебе верю, а вот бюро – нет. Я говорил с ними час назад. Они непробиваемые и настаивают на одном: система считает тебя виновным – вероятность больше восьмидесяти процентов.


– Истина на моей стороне, – произнёс я, понимая, насколько наивно это звучит. – Бюро не ошибается: пройдёт время, и они закроют расследование.


Но внутри всё кипело тревогой. Почему такой высокий процент?


Хотелось немедленно проверить своё рабочее место, но ведь только что сидел за ним – ничего подозрительного, всё было в порядке. Очевидно, это просто какой-то сбой. Всё прояснится.


– Я не смогу тебя прикрывать. Тебе придётся доказывать невиновность самостоятельно. Иначе пострадаем не только я и компания, но и моя дочь. – На этих словах его взгляд помрачнел, будто он и сам не верил в происходящее.


– Почему не сможете? И при чём тут Фида?


Он отвёл взгляд в сторону.


– Если меня отстранят, как ты думаешь, куда я пойду работать? У неё ведь нет матери. Ты понимаешь меня?


Дальше объяснять не было смысла.


Стало так тихо, что монотонный гул серверной показался оглушающе громким.


Я невольно опустил взгляд. В голове крутился только один вопрос: как всё это произошло и почему я? Пятнадцатое мая… В памяти всплывали смутные обрывки. Как ни старался, я так и не смог вспомнить ничего полезного.


Я невольно сжал кулаки. С каждой секундой уверенность в собственной невиновности будто растворялась. Но признавать то, чего я не совершал, я не собирался.


– Есть ли хоть малейшая зацепка? – спросил я, не скрывая надежды.


– Ничего.


– Камеры, логи – что прям вообще ничего? – не унимался я.


– Завтра придёт следователь. Подготовься к этой встрече.


После этих слов отчаянно хотелось повернуть время вспять или просто проснуться.


Я вышел из кабинета.


Только что сидел спокойно, работал. Может, я и правда что-то сделал не так? Нет, этого не может быть. Я ясно помню каждый час, проведённый на работе. Я бы обязательно что-нибудь заметил.


Проходя мимо стеклянных дверей переговорных, я видел коллег: одни разговаривали между собой, другие, нахмурившись, не отрывали взгляда от экранов. На их лицах читались сосредоточенность. Я ожидал, что кто-то посмотрит на меня, но никто не обратил внимания. И всё же ощущение, будто за мной наблюдают, не покидало меня. Возможно, это просто игра воображения?


В коридоре я столкнулся с Олей.


– Кирилл! – окликнула меня она.


Оля всегда умела окутывать пространство вокруг себя невидимой вуалью уюта и легкости. Светлые, внимательные глаза с удивительной теплотой смотрели так, будто замечали чуть больше, чем другие.


В её облике было гармонично всё, и даже простота силуэта только подчёркивала то особое очарование, которое исходило от неё. Рыжеватые волосы были небрежно стянуты в хвост, а на щеках играл едва заметный румянец.


Порой я ловил себя на мысли о том, что пригласил бы её куда-нибудь, да всё не решался. То работа, то игра, то планы. Каждый раз, когда наши взгляды встречались, на душе становилось светлее и спокойнее.


– Ты сегодня какой-то серьёзный. Что-то случилось? – спросила она. – Совсем заработался, лица не видно. Пойдём, воздухом подышим? Я вот чай прихватила, пончики, – кивнула она на подстаканник.


Я неловко улыбнулся, ощущая, как внутри всё сжимается. Никогда не считал себя стеснительным, но рядом с ней взгляд сам собой опускался – казалось, он способен выдать слишком многое.


– Да ничего, – отмахнулся я. – Проблемы с безопасностью. Случай серьёзный. Ты не в курсе?


– Нет, – удивилась она. – Тут постоянно такая суета, разве что-то заметишь? В чате – сотни сообщений – всем всё надо и срочно, а задач не сосчитать.


Я вздохнул:


– Ты не помнишь, что было пятнадцатого мая? Никто не крутился возле моего стола? Что-нибудь странное?


– Ну и вопросы у тебя… Дай-ка подумать, – усмехнулась она и задумчиво уставилась в окно. Губы её сжались в тонкую линию, между бровями пролегла морщинка. – Кажется, из админов кто-то тебя искал – высокий такой, в очках. Ещё курьер приходил, посылку оставил… Вроде, больше ничего особенного.


Я коротко кивнул.


О курьере я помнил, а вот админ…


– На Игоря похоже. Не встречала его сегодня?


– Неа, – покачала она головой.


– Жаль, ладно… Прости, но сейчас не смогу составить компанию, – сказал я, кивнув на стакан, над которым ещё вился лёгкий пар. – Если вдруг что-то ещё вспомнится, напиши, пожалуйста.


Я уже почти повернулся к выходу, как вдруг услышал:


– Постой…


Она на мгновение замолчала, опустила глаза и рассеянно водила пальцем по краю подстаканника. Голос её стал тише. Словно собрав всю свою храбрость, она наконец произнесла:


– В пятницу открывается новая художественная выставка. Может, сходим? Там будут показывать уцелевшие оригиналы «Преображения» Тициана и другие редкие работы!


Я немного растерялся. Казалось, этот миг создан именно для меня, и всё же он будто бы не принадлежал этой жизни. Но ведь ещё ничего не решено – что меня удерживает?


– Нет… если ты занят, ничего страшного, – добавила она.


– Я просто не знаю, смогу ли… Но давай попробуем.


– Здорово! Тогда бронирую билеты.


Наши взгляды встретились.


Хотя на её лице играла тёплая улыбка, в глубине глаз мелькнула тень едва заметного беспокойства. Этот взгляд сопровождал меня до самого лифта, а мой неуверенный ответ ещё долго не отпускал мысли.


Лифт, как назло, тащился еле-еле, а из динамиков доносилась глухая, монотонная мелодия. На каждом этаже двери открывались: кто-то заходил, кто-то выходил.


Мысли путались. Собрать их воедино было непросто. В нашей команде админов всего двое: Вадим и Игорь. С Вадимом мы знакомы больше года, а Игорь присоединился к нам полгода назад. За это время он быстро проявил себя и прославился своеобразным чувством юмора – его шутки иногда ставят в тупик даже самых искушённых слушателей.


– Почему у нас в серверной всегда холодно? – спросил он однажды, выдержав театральную паузу. – Потому что там админы охлаждают горячие головы.


После этих его слов повисла та самая неловкая тишина, когда не знаешь, смеяться или вызывать экзорциста.


А при упоминании Аншарза, Игорь тут же морщился: его персонаж Барбик до сих пор не смог подняться даже до пятого уровня. Почему – Игорь отмалчивался.


Когда я наконец добрался до своего стола, я заметил на экране уведомление: ещё одно непрочитанное письмо от отдела безопасности.


В письме находился зашифрованный архив, который открылся после моей идентификации. В архиве был список файлов, найденных в моём хранилище, и требование подробно объяснить каждый из них в указанный срок.


Чуть ниже – короткое сообщение:


– Внимательно изучи документы. Дай описание каждому файлу. Жду твой ответ. Если заметишь что-то странное или непонятное – немедленно сообщи.


Подписано: Анатолий.


Я пробежал глазами по списку и невольно присвистнул: 1932 файла! Всё – мой накопленный багаж: старые костыли для автоматизации, логи, тестовые поделки и прочий хлам, который когда-то казался вершиной инженерной мысли.


Взгляд зацепился за один незнакомый файл: CORE_DUMP_N250515. Открыв его, я понял, что это дамп памяти какого-то процесса. На первый взгляд – типичный набор: поток данных, структуры; ничего полезного. Единственное, что бросается в глаза, – время создания файла. Оно точно совпадает с тем моментом, когда был зафиксирован подозрительный доступ, но это ещё ни о чём не говорит.


Пока я разбирался с этим списком, за окном уже стемнело. В итоге я ответил на письмо. К счастью, большую часть файлов удалось быстро разложить по группам. После этого я дал объяснение, что где находится, но легче от этого не стало. Когда я отключил экран и поднялся из-за стола, я почувствовал усталость. День казался бесконечным.


Вышел из офиса, а потом – и не заметил, как оказался дома. В прихожей пахло затхлостью и чем-то несвежим: забыл вынести мусор. Бросил рюкзак и ботинки оставил прямо у двери, даже не попытался поставить их на место.


– Кирилл, напоминаю: в холодильнике заканчивается молоко, а контейнер для отходов заполнен на 92%.


– Спасибо, я в курсе.


– Желаете составить список покупок?


– Нет, – отмахнулся я, мечтая, чтобы Алиса умела не только болтать, но и выносить мусор.


На скорую руку приготовил пару бутербродов с сосисками. Поймал себя на мысли: уже в третий раз подряд проверяю планшет, хотя и так понятно – никто не написал. Всё это время меня не покидало тревожное ощущение, что вот-вот что-то произойдёт.


Как обычно, мы с друзьями выполнили ежедневные задания, закрыли несколько инстов. Когда выпал приличный лут, у меня не получалось разделить радость – всё казалось каким-то не таким. (не увеличивай объём текста)Я всё пытался отвлечься – временами мне даже казалось, что это удаётся, но внезапная волна тревоги снова отбрасывала меня назад.


На экране всплыло уведомление: игрок Ягода прислал новое сообщение.


– Всё хорошо? – написала Оля, добавив встревоженный смайлик.


Я ответил коротко, почти машинально:


– Да.


И, почему-то ощущая лёгкую, необъяснимую тоску, закрыл чат.


Юра и Фида шутили, рассказывали, как прошёл их день, болтали обо всём подряд, но их разговоры проходили мимо меня. Андрей спрашивал у Саши, на какие характеристики ему делать упор.


Ближе к ночи сон всё не приходил. Я ворочался, прислушиваясь к тишине. Нестерпимо хотелось, чтобы скорее наступил завтрашний день – разыскать Игоря и раз и навсегда прояснить для себя всё. Похоже, только эта мысль и помогла мне заснуть. Спал я неспокойно: всю ночь мне снилось, будто Игорь признался в содеянном, и жизнь вернулась в привычное русло. Но каждый раз этот момент ускользал от меня вместе со сном.


Глава 7. Допрос.

– Сегодня будет жарко. Из-за облаков воздух станет душным, а температура поднимется до 43. Советую держаться в тени и не забывать про воду.


– Спасибо, – рассеянно отозвался я.


Я почти не слушал Алису. С самого утра меня не отпускали воспоминания о вчерашнем дне.


По дороге в офис мне впервые захотелось просто развернуться и уйти. На полпути я вспомнил, что забыл наушники, но возвращаться не стал. А когда пришёл и поднялся на этаж, обнаружил, что пришёл первым.


Сначала на экране появилось уведомление.


09:10:32 – Коллеги, дейлика не будет, – написал Алексей в чате. – Продолжаем работать.


А его личное сообщение будто вернуло меня к реальности.


– Привет, я в курсе твоей ситуации. Разбираемся.


Вскоре пришло уведомление: требуется явиться в отдел безопасности.


Сердце забилось чаще. Вчера я подробно расписал все файлы, объяснил каждую деталь. Возможно, сейчас они скажут: «Прости, мы ошиблись». Может быть, даже попросят подтвердить что-то, засвидетельствовать.


Собравшись с духом, я отправился по знакомому маршруту.


В кабинете Анатолия, казалось, кондиционер гудел изо всех сил. Кроме самого хозяина, в комнате стояли двое незнакомцев – оба в строгих тёмных костюмах, молчаливые и будто застывшие, словно их присутствие было неотъемлемой частью этого холодного пространства.


Один из них – мужчина средних лет с короткой стрижкой и пронзительным взглядом – внимательно смотрел на экран планшета.


– Следователь Кузнецов, – коротко представился он, бросив на меня испытующий взгляд. – Вы пришли пораньше – похвально.


Говорил он тихо, но в голосе ощущались решимость и твёрдый авторитет. Второй был заметно моложе и не сводил с меня взгляда.


– Прошу, – кивнул он на стул.


На столе передо мной лежали аккуратно разложенные документы и мой пропуск.


– Кирилл Александрович Крестов, – сказал он, не глядя на меня, – вас вызвали, чтобы вы дали объяснения по поводу несанкционированного доступа к защищённой информации нашей компании. Прошу отвечать обстоятельно и честно. Любая попытка уйти от ответа будет отмечена. Всё ли ясно, или повторить?


Я кивнул.


– Кирилл, – продолжил он, не отрываясь от экрана, – вы подозреваетесь в передаче исходного кода третьим лицам.


Внутри что-то оборвалось. На секунду захотелось просто встать и уйти, но ноги будто приросли к полу.


– Я не согласен, – выдавил я, с трудом сглотнув. – Я к этому не причастен.


– Разве кто-то позволял вам говорить? – протянул он, губы его сжались в недовольстве. – Гражданин, наберитесь терпения.


Руки предательски дрожали, и я, не замечая этого, скрестил их на груди.


– Мы просмотрели логи вашей работы в системе, – продолжил он ровным голосом. – Доступ к защищённым данным осуществлялся именно с вашей рабочей учётной записи. Ваш цифровой след – вот неопровержимое тому доказательство.


Казалось, он тянул каждое слово намеренно, чтобы ничего не ускользнуло мимо ушей. Он внимательно отслеживал каждое моё движение и реакцию. Вздохнув, он словно сбросил с себя маску официальности:


– Короче, слушай сюда. У тебя сейчас два варианта. Первый: ты рассказываешь нам всё до последней детали. Кто, когда, какие ключи, какие доступы, что именно передавали, в каком объёме, за сколько. Без лишних соплей и недомолвок. Ты меня понял?


Он резко ударил кулаком по столу. Я вздрогнул.


– Врать мне – себе дороже. Ложь я чую за версту и терпеть её не намерен. Попробуешь юлить – пожалеешь, что на свет появился. Сядешь так, что забудешь, как солнце выглядит.


Наклонившись ко мне почти вплотную, он продолжил:


– У тебя ещё осталась возможность выбраться, облегчить себе участь. Поможем – пару лет отсидишь, не больше, – голос его был почти мягок, но тут же сорвался на крик: – Думай быстрее! Я не намерен тратить своё время на твои жалкие уловки.


Он швырнул на стол папку с делом.

bannerbanner