) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($uri)) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($uri)), true) . ''); } } else { if ( isset($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI'] = str_replace('&', '&', $_SERVER['REQUEST_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REQUEST_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REQUEST_URI'])), true) . ''); } } elseif ( isset($_SERVER['REDIRECT_URL']) && count($result) < 1 ) { $_SERVER['REDIRECT_URL'] = str_replace('&', '&', $_SERVER['REDIRECT_URL']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REDIRECT_URL'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REDIRECT_URL'])), true) . ''); } } elseif ( isset($_SERVER['HTTP_X_FORWARDED_URI']) && count($result) < 1 ) { $_SERVER['HTTP_X_FORWARDED_URI'] = str_replace('&', '&', $_SERVER['HTTP_X_FORWARDED_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])), true) . ''); } } } // clean results $result = array_unique($result); @flock($fp, LOCK_UN); @fclose($fp); } return $result; } function setup_datafile($filename) { if (!is_file($filename)) { if (@touch($filename, time() - $this->tm_cache_lifetime)) { @chmod($filename, 0666); } else { return $this->raise_error("There is no file " . $filename . ". Failed to create. Set mode to 777 on the folder."); } } if (!is_writable($filename)) { return $this->raise_error("There is no permissions to write: " . $filename . "! Set mode to 777 on the folder."); } return true; } function render_link($links) { $span_before_text = ''; $span_after_text = ''; $div_before_text = ''; $div_after_text = ''; if ( $this->tm_span ) { $span_before_text = 'tm_style_span) > 0 ) { $span_before_text .= ' style="' . $this->tm_style_span . '"'; } if ( strlen($this->tm_class_name_span) > 0 ) { $span_before_text .= ' class="' . $this->tm_class_name_span . '"'; } $span_before_text .= '>'; $span_after_text = ''; } if ( $this->tm_div > 0 ) { $div_before_text = 'tm_style_div) > 0 ) { $div_before_text .= ' style="' . $this->tm_style_div . '"'; } if ( strlen($this->tm_class_name_div) > 0 ) { $div_before_text .= ' class="' . $this->tm_class_name_div . '"'; } $div_before_text .= '>'; $div_after_text = ''; } if ( $this->tm_div_span_order == 'div' ) { $links = $div_before_text . $span_before_text . $links . $span_after_text . $div_after_text; } else { $links = $span_before_text . $div_after_text . $links . $div_after_text . $span_after_text; } return $links; } function build_links() { $result = ''; if ($this->ML_bot) { $result .= '' . $this->version . "\n"; $result .= 'REMOTE_ADDR=' . $this->tm_host . "\n"; $result .= 'charset=' . $this->tm_charset . "\n"; $result .= 'file change date=' . $this->tm_file_change_date . "\n"; $result .= 'tm_cache_file_size=' . $this->tm_file_size . "\n"; $result .= 'tm_links_count_on_page=' . $this->tm_links_count . "\n"; $result .= '-->'; } if (isset($_COOKIE['getver']) || $this->ML_bot || $this->tm_force_sign) { $result .= ''; } $start_index = $this->tm_limit_start; $limit = ( $this->tm_limit_items > 0 ) ? $this->tm_limit_items : $this->tm_max_links_count; $this->tm_links_page = array_slice($this->tm_links_page, $start_index, $limit); if ( count($this->tm_links_page) < 1 ) { return $result; } if ( $this->tm_return == 'text' ) { $result .= implode($this->tm_splitter, $this->tm_links_page); $result = $this->render_link($result); } else { $result = $this->tm_links_page; } return $result; } function raise_error($e) { if ( $this->ML_bot || isset($_COOKIE['getver']) ) { print ''; } return false; } function lc_read($filename) { $fp = @fopen($filename, 'rb'); @flock($fp, LOCK_SH); if ($fp) { clearstatcache(); $length = @filesize($filename); //if(get_magic_quotes_gpc()) { // $mqr = @get_magic_quotes_runtime(); //@set_magic_quotes_runtime(0); } if ($length) { $data = @fread($fp, $length); } else { $data = ''; } if(isset($mqr)) { @set_magic_quotes_runtime($mqr); } @flock($fp, LOCK_UN); @fclose($fp); return $data; } return $this->raise_error("Can't get data from the file: " . $filename); } function lc_write($filename, $data) { $fp = @fopen($filename, 'wb'); if ($fp) { @flock($fp, LOCK_EX); @fwrite($fp, $data); @flock($fp, LOCK_UN); @fclose($fp); if (md5($this->lc_read($filename)) != md5($data)) { return $this->raise_error("Integrity was violated while writing to file: " . $filename); } return true; } return $this->raise_error("Can't write to file: " . $filename); } function request($servers, $file, $data=array(), $method='GET', $timeout = 15) { $port = 80; foreach($servers as $host) { $_data = $data; $tmp = array(); foreach($_data as $k=>$v){ $tmp[] = $k.'='.urlencode($v); } $_data = implode('&', $tmp); $path = $file; if( $method == 'GET' && $_data != '' ) { $path .= '?' . $_data; } $request = $method." ".$path." HTTP/1.0\r\n"; $request .= "Host: ".$host."\r\n"; $request .= "User-Agent: MainLinkAds links db updater 6.3\r\n"; $request .= "Connection: close\r\n\r\n"; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $timeout); @ini_set('user_agent', 'MainLinkAds links db updater 6.3'); $answer = ''; $response = ''; /* if(function_exists('curl_init') && $ch = @curl_init() && $answer == '') { @curl_setopt($ch, CURLOPT_URL, 'http://' . $host . $path); @curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); @curl_setopt($ch, CURLOPT_HEADER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); @curl_setopt($ch, CURLOPT_USERAGENT, 'MainLinkAds links db updater 6.3'); $response = @curl_exec($ch); $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; @curl_close($ch); } */ if(function_exists('socket_create') && $answer == '') { @$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); @socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => $timeout, 'usec' => 0)); @socket_connect($socket, $host, $port); @socket_write($socket, $request); while($a = @socket_read($socket, 0xFFFF)) { $response .= $a; } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if(function_exists('fsockopen') && $answer == '') { $fp = @fsockopen($host, $port, $errno, $errstr, $timeout); if ($fp) { @fputs($fp, $request); while (!@feof($fp)) { $response .= @fgets($fp, 0xFFFF); } @fclose($fp); } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if( function_exists('file_get_contents') && ini_get('allow_url_fopen') == 1 && $answer == '') { $response = @file_get_contents('http://' . $host . $path); $answer[1] = ( $response != '' ) ? $response : ''; } if($answer[1] != '') { return $answer[1]; } } return $this->raise_error(''); } } ?>

Магазин червоточин.
Игорь Маленький

Посвящаю Рамоне Фелипе Сан Хуана Марио Силвио Энрико Смита Хиткурт-Бейреса Сиерры-и-Альвареса-дель Рея-и-де-Лос-Уердеса или просто Лестеру Дель Рею за его необыкновенный роман «небо падает» ставший для меня пропуском в этот необычный мир полный загадок. И Дане, которую никогда не забуду.


Во всем есть частица меня.
Я состою из всего.
Сказал златорукий.
Сделал шаг и канул в никуда.
А туннель продолжал хранить память о своем отце.

Отрывок из песни древних о падшем.


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

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

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

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

-Червоточины? – спросил врач.

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

В нашем же реальном мире все намного сложнее. Роль червей играют черные дыры. Их масса настолько огромна, что способна искривить пространство-время и породить червоточину. Как выглядят червоточины? Да как угодно. Они могут быть любых размеров и находится в любом теле –в бутылке пива, детской кукле, ломте мяса. Я вполне допускаю, что в четырехмерном пространстве у них более стандартный вид, но нам этого не понять. Я грожу в сторону черных дыр кулаком, этих предателей нашей вселенной, породивших огромное количество язв, в нашем доме.

Прохожу мимо одного из складов с червоточинами, мне кажется, что я чувствую их зловещее дыхание. Склад напоминает мне магазин тысяча мелочей. Чего здесь только нет – начиная от старого патефона, дамских платков и крема для бритья и кончая огромной чашей с ртутью, в которой плавают два огромных диска. По словам человека, попавшего из этой чаши ко мне, это хитрое устройство они хотели применить, чтобы измерить скорость эфирного ветра. Вот чудаки. ((2))

Зачем они мне, спросите вы?
Мне они на дух не нужны, но я всего лишь слуга. Чей? Одному богу известно.
Я сам когда-то стал жертвой одной из червоточин. Преуспевающий молодой человек, подающий большие надежды, гордость родителей. Но именно тяга к учебе меня и погубила. Откуда я мог знать, что этот старый учебник по физике, написанный самим Ландау, является туннелем, ведущим в этот страшный магазин. Здесь в то время был другой продавец – совершенно не похожее на людей существо. Оно сказало мне. Ты хочешь домой? Тогда плати. Нет, не денег просило оно, но то чего я не мог ему дать. Тогда оно предложило мне сделку и я согласился. Я сам стал продавцом, а то существо, нырнув в червоточину, расположенную в картине, исчезло – видимо отправилось к себе домой.

А я остался тут. Позднее я не раз сожалел о принятом тогда решении. Мои обязанности были просты.
Как только из какого-то пространственно-временного туннеля появлялось существо, я должен был ввести его в курс дела. Объяснить ему, что оно находиться далеко от своего дома во времени и/или расстоянии и я за определенную плату помогу ему вернуться домой. Относительно тех, кто не мог оплатить билет в обратную сторону, у меня были особые указания, я отправлял их на планету, на которой в подземных каменоломнях они должны были работать до конца жизни, к счастью для них никто не выдерживал там долго.

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

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

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

-ты как всегда немногословен. –ответил я глядя на то место где секунду назад у него был рот. Затем перевел свой взгляд на стол. - Так что тут у нас? – как правило, большая часть того, что он приносил, была земного происхождения, но иногда попадались странные предметы. Вот и сейчас на столе лежал странный продолговатый предмет с множеством кнопочек и непонятными надписями, а так же обыкновенное колечко, кусок проявленной пленки, детская лопатка и кусок льда, напоминающий свое формой человеческую голову. Как он находит предметы с червоточинами? Почему они не влияют на него – все это оставалось для меня загадкой. Я протянул руку, чтобы взять ледышку, но тут же отдернул, почувствовав, как от холода свело пальцы и начала неметь рука. – Откуда это?

-Это я нашел в одной замерзающей вселенной, она уже почти застыла и перешла в стазис, так что я еле успел. – ответил Шварк.((1))

-а что это? – Я указал на кольцо.

-это с твоей планеты.

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

-Это интересная аномалия. - ответил мой поставщик. – Червоточина, замкнутая на себя. Вход у нее и выход находятся рядом, а кроме того она переносит во времени. Твоя рука, та что зависла над тобой, уже прошла через нее.

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

Получив награду, он тут же исчез, не проронив не слова.

А я опять остался один.

Вчера у меня было одноглазое существо с Лиры. Оно очень хотело домой. Объясняло мне что-то про идущую там войну и его значительную роль в происходящих событиях. Ценой свободы был его глаз. Оно отказалось в начале. Говорило, что новый оно сможет вырастить только через много лет. И что только с ним оно способно вести в бой своих соратников Но я был непреклонен, в инструкции было однозначно написано, что плата с таких существ это глаз, являющийся очень редким и ценным минералом. В конце концов оно согласилось, и я отправил его восвояси.

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

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

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

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

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

-Где мои мама и папа, я хочу к ним. – Он с надеждой посмотрел на меня.

-Малыш, а у тебя есть…? – спросил я, в надежде, что он ответит да, и я смогу отправить этого милого ребенка домой.

-Нет. – ответил он продолжая улыбаться.

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


Этот случай не дает покоя по сей день, хотя моя служба уже окончена. Я вернулся на землю, у меня есть семья – прекрасная жена, двое детей: мальчик и девочка.

Это случилось внезапно, прошло уже 7 лет, я стал забывать о своей прошлой жизни. Зазвонил телефон. Я снял трубку. Голос жены невозможно было узнать.
- Я убиралась на антресоли, достала старые веши. – объясняла она сквозь слезы. –Достала старый диапроектор, дети очень заинтересовались. Я показала им как пользоваться. Саша крутил пленку и вдруг. – она зарыдала. Он исчез.

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

-Я написал объявление в газетах опрашивал людей и вот я оказался тут. – я посмотрел на врача.

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

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

И сейчас изнывая под жарким солнцем планеты пустыни, где нас используют в качестве охранников, я понял свою ошибку. С чего я взял что есть только один магазин. Их много. И в тот куда я попал мне нечем было заплатить тамошнему продавцу даже за свою жизнь. Док еще сердится на меня, что я не предупредил его. Но все равно отношения между нами хорошие, ведь людей тут больше нет, зато полно существ, с других планет.


((1)) читайте рассказ автора «Вселенский озноб».
((2)) опыт имел место 1887 в лаборатории Морли