第18章

雨夜像在城里找回了旧日的分量。风裹挟着潮气穿过高架与楼宇的狭缝,吹得路边的霓虹招牌发出微微的金属颤音。下层街区的路面反射着冷蓝的广告屏光,像是一整条流动的玻璃河。凌峰举起手,五指收拢,队伍立刻压低身形沿着废弃有轨电车的轨槽前进。雨击打在他的战术面罩上,细细的声线像拉紧的弦。他的左肩旧伤仍在隐隐作痛,湿寒顺着防弹衣的缝隙爬进来,每一步都格外清醒。

“到点了。”韩明远在耳机里压低声音。他的掌心微微发汗,指尖在便携终端上迅速滑动,“三十秒后安防节点例行切换,我们有四十秒的窗口……通讯延迟两百毫秒左右,还可控。”

“听我口令。”凌峰目光扫过四周,确认交叉视野里没有巡逻无人机。他把一小片贴片放在耳廓后侧以增强监听,雨声、风声、远处电车线上残余电流的细碎噼啪都被清晰地分层。沈青禾略微向前,肩背上两条弹匣系带贴合得极紧,他的呼吸一深一浅,节律稳定;林妍的相机缩在胸前,镜头用一块油纸包着,只露出一截凹陷的瞳孔,静默地观察着这一切。

前方是第三区配送中心的侧门,漆面剥落的钢门下积着一洼水,水里漂着几根塑料带。门牌上的字被大半刮掉,只剩“配——心二号”。这座厂房白天是城市食物配给仓,夜里则是恒星科技私军的临时补给点。顾城从阴影里钻出,手里捏着一段电缆头,冲他们点头:“内部摄像已被假画面替换,但时间不多。”

“走。”凌峰一抬腕,手势比雨滴还快。

他们贴着墙,在破旧的自动售货机与堆叠的塑胶箱之间穿行。厂房内灯管频闪,白光和黑暗轮番上台,像不断倒带的日子。地面有机油味,混着消毒水的刺激。林妍从缝隙里拍到一排无人叉车停在墙边,叉臂上还挂着未卸完的箱子,箱侧印着城市标识和看起来很善良的口号,味道却冰冷得像铁。

“右侧走道有热源。”沈青禾伏低,肘部轻触地面滑行,手掌一撑便无声起身,像从雨里抽出一把刀。他用手势标示敌我可能接触位置,凌峰点一下,换位。他们用“交替掩护”的方式推进,每个人都对身后那个人负责。韩明远在队形的中后,背部束了绷带,透出一片淡淡的湿痕;他的眼睛总会不自觉瞄向厂房深处——在那里,关着的或许不仅仅是物资。

“左转通道有消防栓,可以做掩体。”林妍提醒。她的声音极短,像在胸腔里切了一刀,干净利落。

“收到。”凌峰招手,“两两一组,猫腰走,别踩玻璃。”

玻璃屑像撒在水里的盐,踩上去能发出循声所必至的脆响。韩明远抬脚绕过,喉咙里有一点干。他昨天晚上几乎没睡——他的脑海里循环出现一张旧照片:一个女人坐在研究室窗前,侧脸安静,一缕头发垂在耳后。那是他妻子。她的名字这几年被他很少喊出声来,因为不敢。他压住这些浮出来的影像,专注在屏幕跳动的参数上。

“再往前就是内仓,目标在C区。”顾城轻声提醒。他之前埋好的干扰器还在起作用,监控画面被替换成空无一人的走廊,然而每一秒都在烧掉他们的运气。

风从门缝里窜出来,像猫舔过。凌峰伸手推门,门后是积水更深的内仓通道。水面上漂着细碎的纸屑和面包屑,灯管的光像被撕开的白布在水面抖动。就在这时,一阵低沉的嗡鸣从头顶滑过,众人不由自主抬头:一架六旋翼巡逻无人机压低高度,从横梁下巡弋,一盏白光匀速扫动。

“停。”凌峰一握拳。所有人近乎同时贴靠到墙角。无人机的扫描光像一把按着节拍的刮刀,贴着墙皮搓过去,溅起一阵肉眼不可见的电子雪。他们屏住呼吸,听见自己的心跳像远处屋顶上的雨点。

白光扫过林妍的鞋尖,她微微后撤,背部贴在一台旧自动售货机上。售货机里残留的便携能量饮料颠颠簸簸,玻璃上有指纹和油污,像一块被遗忘的镜子。无人机滑过他们,上升一个高度,往别处去了。空气里的紧绷像被人掐断,裂缝里涌出一口喘息。

“窗口还剩二十秒。”韩明远低声说。

“C区。”凌峰决断。他挪动脚步,带着队形穿过一片堆垛。脚边一个塑料桶滚动,发出轻轻的一声,所有人的神经都绷在那一声上。沈青禾眼角余光捕捉到右侧机修间门下的光影,手腕一转,抬枪:“右侧有人。”

——枪声在下一秒响起。

不是他们开的,而是对方。子弹切开灯管,白光炸成一丛火星,像一把拔掉保护套的线束火花喷在空中,空气里焦糊味立起。凌峰一手把林妍按到消防栓后,另一只手抬枪压制。他没有急着瞄准,而是先判断对方火力点的交叉角度。沈青禾已经贴着墙,身形一闪,从堆垛与墙之间那条既窄又湿的缝隙掠出,抬手就打,三枪只开了两枪,第三枪他留住——弹药余量是他们这类人随时要做的心算。

“对方三人,采用‘火力三角’。”沈青禾报告,气息不乱。他压低身体,肩膀上被擦过的那一发留下一条火辣辣的痕,随手抽出绑带扣住。“有人在拉我们去走廊正中,别上当。”

“左侧机修间有监控盲区。”顾城在一旁补充,“进去就断他们视线。”

凌峰点头:“韩明远,你拖后。林妍,跟我。”

他们一前一后切进机修间。屋里堆着拆开的机器人手臂、破旧的扳手和一张破沙发,沙发上有经年累月留下的油渍。风从高高的天窗吹下来,带着铁与雨的一种混合气味。林妍蹲下,从沙发缝里找到一截布条,递给沈青禾:“扎紧,别让血流到手指。”

“谢了。”沈青禾嘴角微扬,系上布条,手指依旧灵活。他从工具架上拽下一块旧铁板,卡在门口做临时盾牌,铁的冷意透过掌心沁入血里。

对面的火力似乎在适应他们的节奏,子弹开始有意识地切割每一个可能的掩体边缘。凌峰立即改变策略:“声东击西。”他掀起一块零件盖板扔向走廊左端,伴随盖板落地的声响,一连串子弹朝那里倾泄过去。沈青禾利用短短的空当,整个人像被一根弹簧弹出,踏水滑行,仰角开火,把最靠左的敌人压回遮蔽。顾城则把一枚小型烟雾弹朝走廊中心滚去,烟雾立起,灰色的潮像一朵蔓延的蘑菇。

烟雾里传来急促的脚步与低语,凌峰听懂了那其中的一句命令:“交替掩护,收缩到二号位。”对方的训练水平不差,甚至有点熟悉——那是凯恩手下的安保私军的口号。他的背肌无声紧了一下,脑海里浮出那张面孔:鹰钩鼻,右颧骨一道浅浅的刀疤,耳后挂着一枚银色助听器。有传闻说凯恩的右耳受过爆震伤,于是装了个军规助听器,从此对高频噪音格外敏感。更麻烦的是,他喜欢“绞杀补给”,不是硬攻,而是慢慢勒住人的气管,逼你在选择里犯错。

“这地方肯定有反伏击。”凌峰压低声音。窗外,风像在拔高嗓门。雨点打在铁皮屋顶,噼噼啪啪,像一列驶过的旧车。

“我们不能拖太久。”韩明远盯着终端,“干扰器再过十秒就到极限了。”

“那就打快的。”凌峰做了决定。一句“打快的”,换来四个人几乎同步的动作。沈青禾先冲,踢翻走廊中线的一个塑料箱,整个人借势侧滑,避开对面照着他头脸来的点射,枪口稳稳挑中那抹移动的影。在对方第二次压枪前,他已经贴墙换了角度。顾城从右边冲出了半个身位,连续点射打碎一盏灯管,黑暗劈头盖脸坠下来。凌峰趁对方视线变得粗糙,带着林妍起身前切,两人连人影带水声压近,拉近距离,补上两枪。

短促的交锋里,他们抢到通往C区的走廊口。烟雾开始变稀,风带着雨的形状从屋顶缝里钻进来,上下气流乱成一锅。韩明远最后一个撤出机修间,他把干扰器留在了门背后——里头的高温指示已经亮到红线,快要报废。可就是这一点拖延,把对方的摄像刷新节奏再打乱了一遍。

“走!”凌峰低吼,脚下跨过一个倒地的敌人。那人的面罩裂开一道缝,眼白露在外面,恐惧像硬币一样薄又亮,在瞳孔里快速滚动。凌峰没有多看,继续往前。林妍侧身从他身后掠过,镜头盖已被她收起,雨点落在镜片上立起细细的纹理,她用手指背轻轻一抹,继续拍。

C区的仓门大得像船坞的门,防火涂层在灯光下泛着暗哑的红。门前横着一条金属防撞柱,柱上粘着“注意车距”的贴纸。顾城手指飞快在门边的操控台上敲击,听筒里传来他压抑着的喘息:“系统层被他们改了,常规开锁无效,我得走应急,可能触发内部警报。”

“时间不允许等你绕。”沈青禾抓起一根铁管,插入门缝,“一起抬。”凌峰点头。两人肩背同时发力,门板先固执地叫了一声,又跟着骨头一样发出一阵干涩的响。林妍找来一块废木板塞在底部,防止回落。雨滴顺着门边滑落,像是门在出汗。三秒、五秒、八秒——门被撬开了足够一个人钻过去的缝。

“我进去。”凌峰第一个伏身滑入,枪口先过去,他的眼睛在黑暗里迅速适应,第一时间分辨出错综其间的货架、箱体和电线。冷气扑面,像从地下室的喉管里吐出来的气,冰冷浑浊。沈青禾紧随其后,从内侧把门撑住。林妍俯身钻过,落地时膝盖擦过一块固化的树脂,生硬的触感让她咬了一下牙。韩明远压最后进去,回手把门拉回一点,尽可能不留下明显的闯入痕迹。

仓内的光线更差,只有检修通道上一步一盏的指示灯像埋在地里的星星。在这个被紧锁的空间里,每个人的呼吸都显得很大。凌峰做了一个环形手势,四人迅速分区检查。货架之间有潮气反上来,空气里弥散着营养糊的甜腻味与金属腥味混杂。林妍从一排货架下取出一只半空的纸箱,里面是“脑机培训套件”的宣传册,封面上印着一张微笑的脸,笑容白得刺眼。

“你看。”她抬起册子,低声说。凌峰只扫了一眼就继续前探,“先找主目标。”

他们来这的目的从一开始就清楚:截获恒星科技送往城东三个社区的“升级芯片”。据韩明远所掌握的数据,这批芯片不是普通的接口维护,而是能在Ω系统下一次大规模维护时将更多植入者的“服从阈值”悄悄下调,等到某个指令发出,社区会在一夜之间变得沉寂而有序——那是一种让人害怕的“有序”。他们必须在这批货装车前把它拿到手。

C3货格前,三只铝合金箱整齐码放,箱体表面的防拆封签还在。顾城摸出一把细小的撬棒,轻轻撬开一个角,把细线挂住封签内部微型传感片,顺着线将信号引到一旁的解码器里,模拟“正常开启”。这一串动作他做得像呼吸一样自然。封签从内部松开。他打开箱子,里面一层黑色防震泡棉,嵌着整齐排列的金属片,每一片小如拇指,表面有微刻的序列号。

韩明远就地搭起终端,把其中一片扣进读卡槽。他眼角耷着的疲惫在此刻往后退了半步,眼神变得锋利。他盯着屏幕滚动的代码,手指下意识抬起又落下:“这签名……被换过。它不是常规升级包。”

“具体。”凌峰压低嗓。

“他们加入了一个隐形子程序,名字做了混淆。”韩明远咽了咽口水,“触发条件不是按时维护,而是‘群体阈值波动达到预设曲线’——那意味着只要某一片区域出现大范围恐慌或高强度集会,它会主动上报后门,反向发送‘安抚’指令,把植入者状态迅速降为服从。凯恩……不,背后的人,就打算用群众情绪当开关。”

“可以回写吗?”顾城问。

“可以,但风险大。我得有时间。”

时间是不可能给他们太长的。仓门的另一侧,走廊里忽然传来一阵杂乱的脚步和无线电的嘟嘟声。凌峰马上侧头,用一个手势示意:“接触。”

“拖住他们。”他安排,“明远,三分钟,不行就拿样本撤。林妍,你看住后梯,任何动静先报再动。”

沈青禾“嗯”了一声,拉过两只空箱叠成挡体,自己在箱体后蹲下,枪口从两个箱间的缝隙伸出去。他把指节握得很紧,指尖发白;伤口的血已经在布条里凝住,贴着皮肉火辣辣地疼。他试着换个握法,疼痛立刻提醒他不要轻举妄动。他心里骂了自己一声,随即平静下来——这疼是“在”,不是“阻止”。

仓门从外面被用扳手敲了两下,像敲鼓。随后是门闩被强行拉动的金属摩擦声。顾城对着门口投掷器皱了一下眉:“他们有开门授权。”话音未落,防火门内侧的红灯闪了起来,提示门开启。门缝日渐变宽,像有人正掰开一张紧闭的嘴。

“撤!”凌峰迅速判断,“把箱子分两路带走,一箱留在这里做诱饵。”

“我来拖。”沈青禾一低头,肩背一沉,把两只箱子扣上,拖到左侧检修通道口,那里有一个出口直通楼梯。他顺手把一只空箱踹到门口,刚好挡住对面探进来的枪口。两边几乎在同时开火,子弹在仓内先是劈裂空气,随后击中金属架发出尖锐的回声。林妍按住心里的那口怕,侧身贴着货架边缘移动。她知道自己没有重火力、没有最强的反应速度,她能做的是把最适合自己体型与灵活度的路线记牢,尽量为队伍争取一条看不见的细缝。

“你,跟我。”凌峰把另一只箱子交给她,箱子不重,却把她腰侧的力点压得直冒酸。她咬住后槽牙,整个人像一只携着幼崽的动物那样,把重心往下放,用腿部的力量拖着箱子走。他们的鞋底在湿地面打滑,留下两道浅浅的波纹。

门完全开了,对面第一个冲进来的戴着安保面罩,肩部的夜视器在黑暗里冒着幽绿的光。他的枪抬得很稳,步幅也很稳。沈青禾看见他的脚背朝外一点,是专业训练里的“稳固支撑位”。他心里立刻给这个人标了等级——不是寻常守门者,是凯恩的“内环”。

“先撤。”凌峰提醒。他多看了一眼门外,脑中飞快地构建着敌方阵位图,发现对方没有大量压进,而是在门外形成人字形阵列,以争取交叉视角。——典型的“资源绞杀”。对方不急着拿人头,他们想让你在时间里丧失耐性。

“二十五秒。”韩明远声音更低,他的手指从未如此稳当过。他突然停了一下,又继续,“我看到一个奇怪标签……‘WEV-13’……不,该是掩码。我先记下——好了,回写开始。”

“十五秒。”顾城报数。他把一枚金属片抛给凌峰,“这个是干净的,没有后门。带走做对比。”

子弹从林妍右侧呼啸过去,击中她身后那台自动售货机,玻璃瞬间全碎,饮料瓶倾倒,一股甜腻味同时撞上来。塑料盖滚到她脚边,咯噔咯噔。这声音轻到几乎可以忽略,却也足够让门外的人发现她的位置。一个黑影从门边切过来,枪口一压,预判地开火——子弹劈过她头发,打在货架角上,铁皮凹进一块。

“下!”凌峰扑上去,一把把她按倒在铁箱边,自己的背脊穿过那道子弹的余风,火辣辣地一刺。林妍鼻腔里全是汽水的气,嗝上来的是甜味,她一时间几乎要笑,随即意识到那只是紧张的错觉。她翻身,握紧箱子边角,朝楼梯方向拖。

“十秒。”韩明远还在埋头。他的额头渗汗,汗沿着眉骨滑下来滴进眼里,他眨了一下,继续。

“明远!”凌峰低吼。

“马上!——好!”他拔出金属片,塞进标记好的防磁袋:“两个样本,一个干净,一个带后门。走!”

撤退路线选择了旁侧的旧式消防楼梯。楼梯间没有摄像头,只有两盏昏黄的壁灯在雨里忽明忽暗,楼梯扶手带着常年没保养的涩。林妍拖着箱子踏上楼梯,鞋底打滑,她抓住扶手才稳住,掌心被铁锈擦出一道浅浅的红。沈青禾倒着走,枪口朝下,掩护其余三人。凌峰把最后一颗烟雾弹掷向门口,白雾涨成一团,门外立刻乱了一瞬。顾城拉上防火门,把门闩从内扣上,借这一小段工夫争取出完全的遮蔽。

他们翻到二层通廊,风更大,雨被吹得成了雾,贴脸而来。通廊靠外的玻璃墙已经碎了半边,被雨糊住的城市像隔着纱布。下方街区闪着救护车和警车的红蓝灯,远处的全息屏还在放着“宵禁提示”,电子女声冷静而耐心。通廊另一端是一道防火门,门上标注“安全出口”,旁边有一块小小的指示图。一切都像无聊的日常,唯有他们每一个脚步都在催促生死。

就在他们准备冲向那扇门时,通廊另一头竟也开了一道缝。那缝里先伸出一只戴着手套的手,手套上印着安保标记,然后是一张面罩。对方来得太快,像是提前算好他们会选这条路。

“换向。”凌峰几乎是在心里骂出一句,随即改变前进方向。“右侧有维修天桥,走!”他记得这个建筑的标准布局——通廊侧边有一条用于吊装货物的天桥,桥下是仓间的长空;天桥外的雨更大,风速高,视线差,但没有摄像。对他们来说,那恰是机会。

他们踏上那条只容两人并行的旧天桥。桥面是粗糙的铁网,踩上去会发出咯吱声,但在雨声里不显。风从下面穿上来,直刮进衣服,像有人把手伸进背后掀了一把。林妍紧紧抱着箱子,手臂发麻,心跳扎在喉咙里,汗和雨连成一股凉。她用下巴抵住箱沿,借力往前,不敢看脚下深处的黑暗。

通廊那头的门被推开了更大,对方小队已经踏上通廊。他们不急着追,只是稳稳地推进,用扩音器喝令:“放下武器!你们被包围了!放下——”

“左侧!”沈青禾提枪,打断扩音器的声音。“他们有狙。”他说。通廊侧壁上,一个微不可察的光点像一只虫子,时隐时现。凌峰反手把一枚亮光干扰器抛向天桥的另一端,强光在雨幕里炸开,亮得像白昼。他们趁这一瞬间把距离拉开,门对面的人也立刻压低身体,掩护声紧凑——对手的训练确实一流。

“前方五十米,有屋顶应急门。”顾城看着示意图,“从那里可以上顶走冷却塔。”

“走顶。”凌峰咬住牙。他喜欢在屋顶打仗——风是他的朋友,噪音也是。对方的银色助听器在这种环境下容易失灵,凯恩若亲自来,屋顶是他们可以拉平一点点差距的地方。

他们冲进屋顶应急门,脚下的铁皮楼梯因雨而滑,踏上去像踏在湿了水的玻璃上。风彻彻底底地扑面而来,带着城市所有的气味:汽油、铁锈、污水、被雨打落的灰尘、远处餐馆的油烟……空气并不好闻,可是你一吸,就知道自己还活着。

屋顶空旷,冷却塔在雨里发出均匀的轰鸣。凌峰让大家低姿绕塔外侧,借着塔体遮挡,从边缘慢慢挪。他一边走一边通过耳机低声分配:“韩明远,检查芯片有没有防追踪标记。顾城,看能不能临时建立‘隔离壳’,别让他们远程自毁。林妍,拿稳,别走边缘。青禾,掩护。”

“芯片里藏的定位不难,难的是他们把定位做得像噪声。”韩明远抬起终端,屏幕上密密麻麻的数据像下雨。他紧盯着一处“波峰”,用指头一点,果然弹出一个被掩码过的定位子程序。“找到了,先屏蔽。”

风忽然更大了,像有什么巨物在另一个屋顶上腾起。林妍回头,看到两架无人武装直升机从远处楼与楼之间的缝隙里蹿起来,像两条发光的鱼。它们的灯光在雨幕里趟出两条白线,围绕冷却塔转了一圈,随后压低高度,朝他们这边直冲。

“趴下!”凌峰一把按住她。直升机的机枪像倾泻过来,击中屋面掀起一阵金属碎屑。冷却塔的巨大回声把枪声折射到每一个角落,难以判断方位。沈青禾扔出两枚烟雾弹,风将烟吹开了一把,又迅速打散。他咬住牙,直腰一瞬,用一个非常不舒服也非常有效的角度掀起枪口,对其中一架直升机的侧滑轨发出三连点。第一发擦过,第二发打偏,第三发却卡壳了——枪栓停在中途,像一口没咽下的气。

沈青禾的手指冷了一瞬,立即放弃继续开枪。他身体向右一闪,顺势把枪倒握,利用惯性把枪栓向后猛拉,又向前推上,动作干净到近乎残酷。枪机闭合的一刻,他已经再度抬起枪对准同一条侧滑轨,再点——这一次听见清晰的命中声,直升机猛地偏了一下,打在冷却塔金属护栏上,火星四溅。那声火星与雨声混在一处,像一匹被缰绳勒住的马嘶了一下。直升机随即调整姿态,向上升高。

“好!”凌峰叫。他身边的林妍却忽然一晃,踉跄一步。她的后臂被一块飞来的金属碎片擦破,血沿着袖口往下走,迅速被雨洗成淡粉色。她吸了一口气,扬起嘴角:“没事。”手却更紧地抱住箱子。她知道这东西比她的皮肉更重要。

风里有人声,低而稳,带着一个她已经在录像里反复听过的口音:“你们每一次都是这样——喜欢赌。赌你们的运气,赌市民的恐惧,赌我们不会在这里把你们全部做掉。”

林妍顺着声音看过去。冷却塔后暗影里,一个人影从防护栏后站起来。他穿着恒星科技安保的深色防水斗篷,肩部有一道浅浅的银色反光带。那张脸从斗篷下抬起,鹰钩鼻,右颧骨一道浅疤,雨顺着眉骨落下,汇到耳后那枚小小的银色助听器上。凯恩。

他没有带太多随从,屋顶上只有两个安保紧跟他。他像在屋檐下站着喝咖啡似的镇静,嘴角有一丝淡淡的笑:“我们又见面了。”

“你迟到了。”凌峰回他一句。他感觉到自己的心跳变得更重,像是从胸腔里砸出来的锤子。他知道凯恩不爱硬拼,他更擅长把猎物赶进某个他画好的圈。他们现在站的位置——屋顶、风、冷却塔、两架无人直升机——圈已经差不多画完。

“你知道我们要什么。”林妍声音冷静。“让出通道,我们带走这批货,市民可以少一场噩梦。”

“噩梦?”凯恩好像被逗笑了,“噩梦是你们给他们的。你们把他们拖到雨里,拖到警戒线外,告诉他们自由是什么,然后让他们在自由里发现没有饭吃。人是需要管理的,记者小姐。”他抬起一根手指,像是在课堂上点名,“而且,你们今天不该押送这批货——真正的货不在这里。”

凌峰瞳孔微微收缩。他知道这人爱用“信息优势”先掀开你的心理罩。他往前迈了一小步,脚底的雨把他的动作润滑得很轻:“不在这里,你还亲自来?”他故作随口一问,目光却已经开始打量凯恩站位、风向、直升机与护栏的相对位置。

凯恩耸肩:“来收网。”他说得像是在谈一件平静的小事,“你们的车队现在应该已经在市政高架上了——‘另一队’不是吗?你们以为我们看不懂你们的兵分两路?我把我的人都放在了那里。”他点了点耳后的助听器,“你们的司机那枚免费植入的小玩意儿,很好用。感谢你们把他推上了驾驶位。”

林妍感到后背发冷。她想起出发前那个看起来老实寡言的司机,始终低着头、不善言辞。她记得他接过车钥匙时轻声说了一句“放心”,那两个字里有穷人努力维持体面时特有的拧劲。她不想相信。可她也知道凯恩不太会空口说谎,他更喜欢“让人自己得出结论”。

“你什么意思。”凌峰声音压得更低,像一块石头压住火。“别玩嘴炮。”

“他会在两分钟后把车开到封锁的桥段,把所有证据送到我们手里。”凯恩像报天气,“你们可以去拦,但你们没有时间。你们也可以留在这里救你们自己。选择吧,军官。”

凌峰看着他,没答。风把凌峰的斗篷吹得鼓起又贴下,他的眼睛像把钩子,钩在凯恩那枚小小的银助听器上——风、雨、冷却塔的噪音、直升机,所有声音加在一起,就是一通刚好能让这个助听器“吃不消”的饱和。他把这个判断压回去,先把喉咙里的那口热气咽下。

“顾城,通系车队,”他沉声,“让二号组轮换司机。”

“线路在干扰,通讯延迟在拉长。”顾城皱眉,“我尽力——”

“我去拦车。”沈青禾说。他的眼睛亮得干净,“我最快。”

“你一个人撑不住。”凌峰硬生生拦下这个冲动,朝林妍使了个眼色。林妍会意,已经把另一只箱子塞进背包,整个人从箱子的限制中解放。她的眼里有一种很细而坚硬的光,像雨里某根细线拧紧了。

“你们聊完了吗?”凯恩笑。他并未急于动手。“你们每一个决定都很动人。我特别喜欢看你们在两个正确之间挑一个更痛的。”

话音刚落,直升机同时下降,子弹在屋顶开出一排密集的银孔。凌峰和沈青禾同时翻滚,滑到冷却塔另一侧。韩明远被一股气流掀了一下,单膝着地,终端险些滑落,他抓住边角才稳住,指节瞬间泛白。林妍猛吸一口风,利用直升机靠近的盲角,沿塔体外缘奔跑,鞋底在湿的铁皮上打滑一寸再抓住,她像一条贴着水皮掠过的鱼。

“他耳后!”她忽地喊了一声,“凌峰,他的耳后!”

凌峰听见了。他把背贴着冷却塔,伸手从战术包里摸出一枚超声波干扰小型发射器——这是他们从废弃实验室里拆改出来的玩意儿,专治“听觉增强”。他用牙齿退掉保险,把它从冷却塔的通风缝里掷出去,发射器落在凯恩不远的地面,亮起不可见的波纹。

凯恩的身体很轻微地一震,他脸上的从容微不可察地裂了一道。他的右手抬了抬,像是要去摸耳后的助听器,但又硬生生忍住。他的左手做了一个压低的手势,两名安保随从侧身外展,把自己的身体挡在他与他们之间,形成新的“火力三角”。凯恩抬起下巴:“不错,你们有长进。”

“你们的车队呢?”他紧接着又笑,“还剩一分钟五十七秒。我很期待你们的选择。”

凌峰没有看他。他看风。风在冷却塔与屋顶边缘之间形成了一个对流回环,雨在那里以一个奇怪的角度冲上又落下,形成短暂的“帘”。他看到了屋顶边缘那块“救生绳”标识牌,想到每一栋工业楼都会在角落留一段紧急滑降绳。他的目光快速扫过四角——在东南角。

“我们得扯开距离,抢到东南角。”他低声。

“我掩护。”沈青禾举枪,侧身抬胳膊,压着对方那个左侧安保的火力。他的手臂像被雨绑住,可他一使劲,雨就只能服软。顾城跟上,动手拉开冷却塔外的安全网。韩明远把终端塞进防水套,背上箱子,整个人向前倾。

“走!”凌峰一声。

他们贴着冷却塔与护栏之间的狭缝掠过。直升机调整角度追着打,子弹把雨切成一片一片的薄片,贴脸而过。林妍一边跑一边回身拍下凯恩在烟雨里微微晃动的侧脸——那枚银色助听器在雨里闪了一下,像一颗钉在他皮肤上的小星。

他们冲到东南角。“绳!”顾城一拉,卷筒掉下来,绳结硬得像骨头。凌峰一把抓住,用力甩向对面的一根灯杆,绳子在雨里画出一个弧,挂住。他先让林妍套上滑降带:“下去,别回头。”林妍摇头:“我不下,我拍。”她侧过脸,眼里是从战乱第一夜就烧起来的那团火。“你们先。”

“听命令!”凌峰声音压得更低也更狠,“你比这个东西更重要。”这句话砸在她心口,重得她几乎要把眼泪咽成血。

林妍抿了一下嘴角,点头,套上滑降带。以一种看起来笨拙其实稳当的方式从屋边滑下去。风在她耳边呼哧呼哧,她的相机紧贴胸口,沉得像一块心头的石头,她怕滑落,便用胳膊更用力把它护住。脚尖每隔一段就去找墙面上的凸起,卸力,再滑。她的眼里是一块块闪的城市,像无数个哑着声的窗口。

韩明远第二个下,身子不太灵活,他的膝盖在墙面上蹭了一下,裤面立刻破开一条,火辣辣。他咬着牙把那声闷哼吞回去。这一秒,他忽然想在滑到一半的时候回头看一眼屋顶——他看见沈青禾整个人侧着,像一把被绷紧的弓,枪口与雨在斗;看见凌峰背对着风,站在绳边,像山。

凯恩抬手,直升机同时下降,一左一右形成人字形。风压下来,雨竟然在他们头顶被压成了一个扭曲的穹。他们似乎不打算再给选择,而是要用火力直接把一切压成“确定”。

就在这时,顾城的耳机里忽然炸出一段杂音,随后是一个断断续续的声音:“二号车……换……换司机……控制……失……掉线……目标……偏离……”他眼睛一亮:“他们没完全控制住!”

凯恩显然也在同一时间收到了来自耳后的另一种讯息。他眉心起了一个非常轻微的褶皱。他的步子前移了一半,又稳住。他讨厌“不确定”。不确定不应该存在于他的账本。

“凌峰!”沈青禾一声,“该打就打!”

凌峰没有再犹豫。他抬手,有一刻风雨与枪声都像被接入了一个共同的节拍。他打不了凯恩——那人被两名保镖和直升机护着,他选了那枚助听器的反面:他对着地面那枚超声干扰器再度按下增强开关,干扰频率抬高了一个台阶。凯恩的右手终于收不住去摸耳后,那瞬间他的眼神里闪过极轻的空白。凌峰抓住这半息,“打左翼!”他与沈青禾同时对同一架直升机的左侧发动火力,子弹成束地把它硬生生压偏,直升机在雨里像被某种看不见的力拉了一把,刮在冷却塔的网罩上,发出刺耳的金属哀鸣。

“走!”凌峰一手抓住绳,从屋顶侧跃下,整个人像一块石头带起长长的水线。他的手一滑,手心火辣辣,绳子的麻擦在掌心的伤上扎出一串更细的火。他咬住腮帮子,稳住。他的靴子在墙上一蹬,卸掉一点下坠的力。“下去!快!”

他们一个个消失在屋檐下。风把雨从他们背上撕下来,一片片往远处甩。凌峰最后一个,他的脚刚离开屋檐,凯恩在楼顶依然冷冷看着,银助听器在雨里闪了一下。

“追。”凯恩淡淡地说,手指抬起,又放下。他不急。他已经把“选择”这个陷阱送到了对方脚边——让他们为了“车队”分去心力,让他们在两头奔命里自乱。他喜欢看人被时间收紧喉咙。

楼下,风更大,雨更密。凌峰落地的一瞬,膝盖一软又站稳。他抬头看了一眼屋顶,那里的人影已在雨帘后变得模糊。他什么也没说,只是转身:“走,去拦车。”

顾城举手臂,“高架入口在南边三条街,我们走巷内,绕开主干。”

雨夜里的四个人,带着两只沉甸甸的箱,沿巷内狂奔。风像从背后把他们一把把往前推。街灯的光打在积水里,像一片碎掉的屏幕。每个人都在自己的疼痛里跑着,把那疼当成还活着的证明。路过一扇防火门时,林妍余光瞥见门缝里有一抹人影——一个戴着兼职仓库工人袖章的男人,眼睛空空地看着外面。他的太阳穴下有一个像痣一样的小点,那是植入的接口。她忽然明白凯恩说的“司机”是什么样。他们把芯片做成“福利”,把人变成按钮。她咬紧牙关,收回目光。

高架入口在烟雨后方,像一个黑洞,吞进所有的光。他们刚冲过一段废弃自动售货机围成的巷口,巷内忽然有脚步声急促接近。凌峰摆手,众人靠墙。三个黑影无声无息翻过墙头,落地只溅起极小的水花——凯恩的“内卫”追来。

“拖住他们。”凌峰不回头。他知道时间不站在自己这边了。

沈青禾点头,把身体往前一步,挡在那条最狭的巷口中间。他把枪扣得更紧,伤口里那条被布条压住的血痕开始重新发热。

“走。”凌峰压低嗓,对另外两人。“明远,护着样本。林妍,拍紧要的信息,见证我们拦车。”

林妍点:“我在。”她的声音短。她的掌心还疼,疼说明她在动,用得上。

他们跃出巷口,雨又砸在眼睛上,像有人用砂纸在眼睑里擦。前方,警示灯光铺满了半条街道。高架的入口处,围栏被拉起来一个口子。远处,一辆白色封闭货车像一头迷路的鲸慢慢朝入口驶来。它的前挡玻璃被雨洗得模糊,雨刷不停地摆,像疲惫的手。驾驶座里坐着那位沉默的司机,头微微侧着,表情平静,像在等绿灯。

“拦车!”凌峰一声。他的腿肌一绷,整个人冲出去,贴着地面,用最快的方式切割距离。他知道开枪会让司机失控,他要在车完全进入封锁区之前用身体语言逼停这台车。他举起手,掌心向前,像警示牌。他的衣服在风里猎猎作响,像一面旗帜。

货车的灯光打在他身上,白得像一块冰。司机的眼睛在灯光后看不真切。韩明远从旁边朝驾驶侧奔过去,口中喊着:“刹车!刹车!”他的声音被雨和风咬碎,落在地上变成零散的音节。他在货车与护栏之间抢了一个身位,伸手去扣门把——门被锁着。他看见司机的脸——平静,甚至有一点温和。他的太阳穴下那颗小痣一样的点在雨里发亮,像一盏极小的信号灯。

林妍举起相机,镜头对准太阳穴,按下快门。画面里,雨和光织成一张网,把人的脸困在里面。她知道这张照片以后会成为证据的一部分——不是反派的恶,不是英雄的勇——而是“人”。她胸口那句话又冒出来,压在她喉头发热:“我们不放弃任何一个人。”

背后巷内,枪声响起,像有人用铁锤敲湿木头。沈青禾拖住了追兵三十秒,可能还会更多。他咬着牙,把卡壳的枪再拉一次,终于那恼人的卡顿像一块从喉咙里剜出的骨头,哐当落地。他把背贴着墙,把身形缩到最薄,用最小的面积换最稳的枪口。

货车的前轮终于停住,离封锁线只差半个车身。司机的手掌贴在方向盘上,手背上的血管浮起,在雨和灯的混光里像细细的溪。他的眼睛往左看了看,像在做一个极难的决定——一个被芯片半牵着的自由。凌峰看着他的眼睛,缓缓点头,嘴型很清楚地说出两个字:“拜托。”

司机的肩膀微微一颤。他的脚从油门上挪到刹车上,踩下去。车身前部向下一沉,雨在车顶上跳了一下。与此同时,远处一道刺耳的警报声突然响起,高架入口上方那块巨大的全息屏抖了一下,画面一闪,切出一个“系统维护”的提示。——Ω系统的“维护窗”开启了。那本该是他们计划里最该利用的窗,如今却成了反派用来收紧“网”的时刻。

“明远!”凌峰回头,“关掉!把它关掉!”

“我在!”韩明远把终端从防水套里抽出来,雨立刻把屏幕洗花。他手的骨节被冻得发硬,但他的脑子却突然清醒得可怕。他看见那个标签——WEV-13——像一条银针在代码海里闪了一下。他顺着它去追,像追一条鱼。他追上了,手指飞起来,像在弹一首只有他能听懂的曲。他把那条鱼从一张看不见的网里拽出来,扔进了另一个更小的盒子。

“——好了!”他说。这一个“好”,像把憋了很久的一口气从胸腔里推出去。“我把它隔离了十分钟!”

“够了!”凌峰回头,眼里是雨,也是那种只有在极限里才会出现的光。他转回来看司机,司机的眼里也有光,那光是求救,也有抗拒。他再度点头:“谢谢。”

巷内的枪声忽然停了半拍,紧接着又起。沈青禾的声音穿过雨和风,短短地传来:“快走!”

他们把箱子抬上货车后部,关上门,林妍一跃坐上副驾,凌峰绕过前方坐上驾驶位。司机看了他一眼,慢慢把手从方向盘上挪开。那一个瞬间,他像从一个远处的地方回来。他的唇动了一下,声音小得像贴在雨上:“我没想——对不起。”他像是被谁从梦里拉起来,人还没适应白天的眼光。

“不是你的错。”林妍简单地说。她抬起手,把相机放在膝上,“记住,记忆还在你的脑子里,不在他们的程序里。”

凌峰发动。引擎的声音勉强,像一个咳嗽的老人。车轮从积水里碾过,溅起的水在灯光里发亮。他们冲出高架入口,后视镜里,凯恩的直升机像两双冰冷的眼,在雨里追上来。风再一次吹进车里,把人的体温吹低一点,又在心里点了另一种火。

“青禾——”凌峰刚要问,却压住。他知道那个问题此刻无解。他只知道沈青禾的声音刚才还很稳。他把手攥得更紧,指节发白。这一次,凯恩没有出现他口中的“收网”的表情,因为这一次,网被人从中间撕开了一道不太漂亮但足够让鱼逃走的口子。

“我们有十分钟。”韩明远盯着屏幕,“十分钟后,这城市会再一次变得‘有序’。在那之前,我们必须把样本送到外城节点,上传。”

“就十分钟。”凌峰说。他的声音在这台旧货车里像一根钉,稳稳钉在地板上,“就够了。”

雨还在下,风还在刮。车子在湿的城市里穿过一条又一条巷。每个红灯都像一道要命的命题,每个绿灯都是命悬一线时的怜悯。凯恩的直升机拉低了高度,像两只鹰。他们的时间被切得很碎,但每一秒又被放得很长。每个人的呼吸都在对自己说:撑住。

前方,一堵临时路障忽然在雨里拔起来——钢刺一字排开。“他们想让我们撞上去。”顾城咬牙。

“别撞。”凌峰看了一眼右边的雨篷,“右拐,进市场。”他把方向盘往右一拧,车头挤进一条更窄的巷,雨篷下是一排排摊位被放弃下的空锅与保鲜柜。灯管在浓重的湿度里发出不甘心的嗡鸣,复读着这座城市的疲惫。货车擦过一个摊位,塑料布被风扯起像旗,啪地打在车侧。直升机在上空犹豫了一下,错过了最佳压制角度。

“继续!”凌峰一脚油门,车子像一条被雨养肥的鱼,甩开水尾,钻进更深的暗。

他们不知道凯恩是否会在某个转角端着手等。但他们知道这座城市的每一个阴影里都藏着和他们一样的人——那些在下雨天背着书包出门找工作的人,那些在风里拎着塑料袋去配给点的老人,那些因为芯片发热而头疼的人,那些今天本应早早睡下的小孩。雨夜让这些人都显得更真实。

车过一个拐角,林妍忽然把窗摇下一条缝,雨喷在她脸上,她吸一口气,再关上。她的手指又一次在镜头上抹了一下水。她想起那句口令:“我们不放弃任何一个人。”她在心里又说了一遍。这句短短的“话”像钉在她胸口,不让她忘了今天拦住的那辆车,也不让她忘了巷内沉着拖住追兵的那个人。

高架桥的灰色腹中,风像一匹马在奔。城市把它的每一寸湿处都交给了他们。十分钟还在沙漏里漏,漏得飞快。他们正朝外城节点去,去把那两片金属交出去,去对抗一个用“有序”作为借口的恶。凯恩在雨里跟着,像影子。影子永远在,但人在跑。

雨棚尽头是一条更窄的消防通道,地面全是被雨脚踏成的泥浆。顾城探身看一眼,手往后一摆:“右转,下沉式停车场,能藏。”

货车尾部扫过摊位残留的铁架,擦出刺耳的一声。凌峰眼角余光里,两道光点在高处划行,像两根钉子钉着他们的路线。他不抬头,只把方向盘压得更死,车身如同塞进瓶口的软木塞,硬是挤进消防通道。

通道尽头是一道防火门,门半掩着,门上贴着残破的“紧急疏散图”。门内是下沉式停车场的上层,灯管一半熄灭,一半闪烁,潮味混着机油味,地面大半浸水。凌峰打着近光,以免把自己当成靶。车刚压上坡道,头顶三层的通风格栅里传来直升机的低鸣,紧跟着是嗡的一记强光扫射——对方从屋顶换了红外模式。

“热成像来了。”顾城把一包融冰剂从背包里掏出,往车顶猛撒,“覆盖车顶,降温。”林妍一把拉开副驾顶棚里的小储物盒,摸出两瓶矿泉水,倒在车盖与风挡接缝,她的手因伤发抖,瓶口磕在铁上,溅出来的水在灯下抖出条条细线。

韩明远拎起货箱,声音干脆:“三号位停车,换车。”他记得这停车场曾是配送中心的配车点,最角落常年停着几台“临时报废”的冷藏小货。事实如他想,三号位停着一台白色冷藏车,贴纸褪色,但轮胎没漏气。

“钥匙?”林妍问。

“破锁。”顾城抓来一把撬棍,三个动作撬开驾驶侧,点火线捞出来。

“上车。”凌峰把原车停入角落,掀起前盖让蒸汽冒出来,看上去像故障。他跳下车时,腰背猛地一抽,那是屋顶滑降留下的后劲。他咬住一口气没作声,抬臂示意换装,“箱子分开,冗余。”

他们分工极快。两只样本箱分别进了冷藏车的保温舱与内衬。顾城把保温舱温度调到最低,白雾从门缝滚出来,在狭窄的空间里像一只躲不掉的动物。韩明远把终端接到车内电源,一边屏蔽定位,一边监控Ω系统的“维护窗”倒计时。屏幕上的数字像砂漏,每一秒都渗出一种冷。

停车场的混凝土梁上,电线被雨浸得滴水,水滴滴在地面的积水里,泛起一圈圈细密的波。高处的通风格栅忽然传来“哗”的一声,像有什么重物在上面滑过。直升机不能进来,但可以放侦察球。果然,两个拳头大的小型侦查球从格栅缝里放弃下来,橡胶外壳弹了两下,不偏不倚落在两排车的中央,镜面出瞳缩放,开始旋转侦测。

“处理它。”凌峰话没有多,脚步已经先过去。他抄起一块三角反光警示牌,抛向侦查球,警示牌撞在球上将其拍偏,球晃了一晃,镜面调整角度。沈青禾不在,他没有那样迅捷的身法和枪法,但他会把每一个动作做成结实的块。他借力翻上一辆轿车的引擎盖,身形一压,整个人像压在一块石头上,手里的撬棍向下一砸,正中第二颗侦查球的镜头。镜头碎裂,没有爆,像一个眼睛被人突然捂住。

第一颗侦查球迅速回传信号,停车场出口方向的卷帘门“叮”一声,电机启动,门缝缓缓落下,“咔哒”作响的刹车卡住卷轴——对方在封口。

“出不去了。”林妍吐出这四个字,自己先是冷了一下,又硬起来,“我们换出入口。”

“有维修坡道。”顾城打开疏散图,“负一层的南角有一条给垃圾车走的窄坡道,出口直通辅路。”

“走那条。”凌峰拉开冷藏车门,“开。”

冷藏车发动机一声闷响,二次点火才上力。韩明远背对背坐在后座,终端固定在箱子上方,电线像几条紧张的静脉。林妍坐副驾,镜头挂回胸前,右臂血把袖口染成淡色。她把伤口包扎得更紧,指尖有些麻,脚已经搭在车门上,随时准备下车应对。

冷藏车压过积水,轮胎搅出两个漩涡。就在他们转弯准备下坡时,停车场另一头“当”的一声,标识牌被打落,三个戴面罩的安保从阴影里掠出,动作干净,枪口贴着下颌。对方没有多言,子弹先来。枪声被混凝土吸了一半,余下的一半在梁间盘旋,直戳耳膜。

“压!”凌峰沉声。冷藏车猛地压低,几颗弹穿空,撞在后挡板上发出呲呲响。林妍探出半个身位,手肘抵住窗框稳住,朝对方的脚踝线连打两发——她不指望打倒,只求打散节奏。对方身形果然一顿,脚步回缩,火力角瞬间低了半寸。

“走坡道。”顾城指示,“别停。”

车头一沉,进入窄坡。坡道顶低,墙离车身不过两掌,雨水从墙缝里渗下来,沿石灰墙流成细细的线。风被切掉,只剩引擎喘和轮胎挤压水面的吸附声。后方脚步落在水里,溅起的水花小又密,说明对方在尽可能不滑倒的前提下加速追。坡道中段忽然向左折,折口处堆着两只铁垃圾桶,一只倒了,半桶水漫出来,漂着厚厚的菜叶与泡沫。

“顶过去!”凌峰咬牙,方向打正,车头顶在桶身上,“嘎吱”一声,铁皮凹陷,垃圾桶被推到一边,留下了一个刚够通过的口。铁桶倒地,水滚到路中间,正好在坡道中段变出一块湿滑。背后追来的脚步一串乱响,其中一人踩滑,整个人磕到墙上,呼气间爆出一声压低的痛——时间被他们偷走几秒。

坡道出口是一道半掩的防火门,门外风雨回归。门铰被锈锁住半边,留出一个斜斜的小口。顾城探身一把拉住门边,脚踹门角,“哐”的一声,门铰断了半截,门斜斜垂开。他肩头一崩,肌肉深处抽紧,脸色一白,但手没松。

冷藏车钻出坡道,冲上街角辅路。风正着脸打进来,雨成了有力的针。街口一家洗衣店的霓虹牌半熄半亮,紫光与青光交换着闪烁,玻璃门内排着无人取走的衣物,套在塑料罩里像一排沉默的人。路边一个消防栓红得扎眼。“撞开它。”凌峰说。顾城没明白,“撞消防栓干嘛?”“水幕,遮红外。”凌峰手一扭,车头偏一点,擦着消防栓划过去,接头断开,高压水柱“嘭”地冲天而起,落在车与追兵之间,打在地上溅出一片白芒,热像被水抢走,视线被瞬间冲乱。

“做得好。”韩明远低低道。他指尖在终端上飞,“Ω维护窗还有六分半——我们得在这之前接入‘外城节点’。”

“节点在哪?”林妍问。

“旧电信交换站,外环排水渠边。”顾城答,“这时候通电不稳,靠自备发电机。”

“凯恩会守在那里。”凌峰说。他的嘴角往下拉,像收口袋,“准备打进去。”

前方路面突然拔高——是半个月前未完工的隔离堤,新浇的水泥在雨里发灰,拉出一道浅浅的坡。坡顶横着一块临时钢板,钢板底边翘起,另一端压着两块水泥砖。凌峰目视估距,“压过去。”他不回缩油门,车头抬起,压在钢板之上,“嘣”地一声,钢板弹起又落下,后轮蹬过去。车身“咯吱”一声落下,底盘擦在钢边上,一股金属味混着焦气钻上来。仪表盘上发动机故障灯闪了一下又灭。

“尾部被刮,箱体没破。”韩明远把手伸到背后摸一把,指腹沾到冷气和凝露,心里落下一寸。

身后,直升机再次压低。它们不再盯着车,而是向前飞,开始“堵”。一架切向前方道路,尝试逼迫冷藏车进主干道。另一架在他们上空反复盘旋,借风压制造难以直行的气流。雨被拍得像一面鼓,鼓面每一下都敲在方向盘上。

“他们想逼我们向市政灯控区走。”顾城骂了句,“那边红绿灯会被他们接管。”

“走渠边。”凌峰判断,“水泥路,滑,但没灯控。”

渠边路狭,护栏外就是灰绿色的水,雨把水面打成细碎的点,像无数只小手在拍。路边堆着两排蓝色塑料桶,其中一桶倾倒,滚到路中间,桶身“咕噜咕噜”地转,冲着车头来。凌峰方向盘一拧,车身擦过桶,桶被带着撞向护栏,卡在栏底。直升机立刻降下高度,机枪对准冷藏车前轮,几发子弹成扇面摆过来。

“轮胎!”林妍惊叫。凌峰脚下迅速变招,方向盘回正同时倾斜一点,车头斜躲,子弹擦过轮罩,打在地面激起一串火星。他用车身故意靠近渠边,把自己置于更危险的位置,以此换直升机不敢贴太低的角度——一旦打偏,很可能会击中水面反弹自己的机腹。

“再两公里。”顾城盯表,“右侧会有一个掉头口,下面就是交换站的后门。”

韩明远忽然低骂:“他们动了后门程序。”终端上数据突刺,Ω系统的维护提示由“常规”跳成了“应急”,意味着对方在利用“维护窗”给自己的设备开更大权限。天空里,所有公共广播屏的亮度同时升高一个档,雨里透出冰冷的白,像一道统一的眼神。街边走避棚下两个无名的市政工人抬起头,看了一眼,眼神短短地迷离了一秒,又低头继续盖雨布。他们的太阳穴下,若隐若现的小点,在雨里闪了一下。

“不能再拖。”凌峰压下去,“到了就插,备电自己顶。”

冷藏车从掉头口滑下,进入一段更低的辅路,路尽头是一座旧电信交换站。院墙长满湿苔,墙角掉皮处露出灰色砖块。一扇防火门上“严禁烟火”的字斑驳,门口有个简易门禁箱,雨水把它浇得直冒泡。门禁箱旁边的玻璃窗内,一盏孤零零的小台灯还亮着,灯罩黄色,飞虫围着打转。

“顾城。”凌峰,一句话。

顾城早已经冲下车。他把备好的电磁卡贴在门禁箱上,电锁咔一声,门被他从下沿猛推。门轴发出一串尖锐的叫,像有东西在硬扭它的胳膊。门里黑,潮气很重,有旧线路的味。地面铺着防静电的拼块,拼块边缘卷起。左边是一间小配电房,右边是走道直通主机房,走道尽头有一扇厚重的防火门,门上方红灯常亮,表示“内机房降噪运行”。

“送电给主机房,自备电先带四十分之一负荷。”顾城简短分配。韩明远已经把样本箱抱到配电房门口,用肩顶门进去。“慎启动。”他提醒,“系统老,负载过大主开会跳。”

“我来,稳。”顾城指尖在开关间跳,像在弹一架看不见的琴。主机房天花板上“咔嗒咔嗒”一排排应急灯亮起,灯光白,落在一排排旧服务器柜上,柜体灰,风扇疲惫地转。风扇夹着雨声转出的音,像这座城市此刻的胸腔。

“插。”凌峰把门反扣,搬来两只废旧电池挡在门后,自己守在门内侧;外面的雨里,直升机低空盘旋,位置不远。

韩明远把样本片插进隔离读卡槽,深吸一次,手指落下。“开始。”

屏幕先是一片乱流,很快开始滚动安静的字节。那条被他命名为WEV-13的“鱼”在安全壳里安静,像被关在玻璃瓶里的昆虫。他从它身体里抽出一段“刺”,等于是剥掉对方的表皮,露出其底层逻辑。林妍站在他身后,不懂代码,但能看懂他肩背的姿态——紧,却稳。

“我在提取后门签名。”韩明远说,“拿到签名,我们可以广域广播‘疫苗’补丁,让这批植入暂时免疫这个指令。——我尽量。”

“快。”凌峰没看屏幕,他在门口换呼吸。他的大臂开始酸胀,肩旧伤在冷气里收成一团。他按一按肩,逼自己不要去想痛。他的耳朵里,雨、风、直升机的叶片声,以及远处巡逻车的“嘀哒”全都在。每一样都像一只不同重量的石子,重重轻轻压在耳膜上。

门外忽然传来脚步在水里“哗啦”一声,然后是一阵极短也极狠的静。凌峰眼里那根弦一紧。他回头只道:“注意。”

下一秒,防火门被从外一把撞,整个门框震了一下,门上红灯“滴”的一声。第二下,撞得更狠,门闩开始往外偏。“他们带了开门器。”顾城说,脸色冷,手加了两块金属块抵住门底。“拖。”

第三下来之前,林妍冲到门边,把一台旧UPS电池掀起来,卡在门与地之间的缝,肩膀顶住,牙根咬死。凌峰退半步,枪口抬起,瞄准门缝将要出现的位置。

“还有三分四十。”韩明远声音很低,“签名提取到百分之五十七。——他们确实把触发阈值做得很狡猾,和情绪曲线绑定。”

门外响起凯恩的声线,隔着雨,隔着金属门,听上去像从一口冷井里捞上来:“你们在做的事,会让今晚的城更乱。你们真想看见人群在雨里互相挤压,孩子被踩倒吗?”

“比起被你们一夜‘安抚’得像睡着更好。”林妍回他。她没吼,语调平平,可每一个字都像钉子打在门上。

第四下撞击带着液压的力量,门边的铰链“咔”地被拉出一个变形。凌峰枪先开,一发压门缝,他不求命中,只求把对方的“开门器”打偏,拖时间。顾城把第二块UPS电池塞上去,手背因为摩擦刮开一道皮,血立刻被雨冲淡。

“签名到七十二。”韩明远报。他的眼睛里忽然一亮,“青禾的设备上来信号了,短短一串——他在引开另一队,巷区三号,可能会折向这里。”

“别让他来。”凌峰的喉头动了一下,却还是出口,“回信——让他转向北侧排水渠,把人往外带。”

门外的液压撞这时停了一秒,转为“啧啧”细响,像有人在门缝处贴了什么。顾城立刻低喝:“切割!”他抓起一块金属板用最快的速度挡在门缝内侧,旋即一阵火花从门缝外挤入,沿着金属板蹿。金属板发热,淡淡的焦气钻进鼻腔。林妍肩膀顶着门,能感觉到那股热在她衣服上蔓延。她不动,只把呼吸换得更浅。

“给我二十秒。”韩明远压住嗓子,指尖在键上敲,像一个人用双手把崩散的东西重新握拢,“——好了!签名九十三,十秒内发广播。”

“发。”凌峰两指一并。

“广播出去需要节点对外链路。”顾城已经跑向机房侧墙的旧微波链路室,他把外罩掀开,里面一片灰,线路裸露,“这玩意儿恐怕不——”话没说完,天花板上应急灯闪了一下,整座楼像被人拿手轻轻晃了一下,Ω系统在“维护窗”里做了一次自检,电压波动。机房主开关“啪”的一声跳到半档。

“顶住!”顾城一声闷吼,手背猛推开关,另一只手单指把旁侧的辅助开关连按两下,输出稳住在一个可用的区间。微波链路室里指示灯亮了三颗,亮得虚虚的。

“走链路。”韩明远敲下最后一个键,“——发出!”

屏幕弹出一个很短的提示:“外城节点:接入成功。广域补丁:发送。”下一秒,屏幕上开始滚动“覆盖区域——东三区、东四区、北一片——成功;南二片——阻断;西一片——延时。”每滚过一个“成功”,仿佛有人在这城的某个屋檐下点起一盏不太亮但真实的灯。

门外液压撞再次发起,这一次力量比之前更狠,门边已经出现肉眼可见的裂缝。金属板被切割的火星溅进来,啪在地上,带一点烫。林妍肩膀顶着门,整条右臂都在抖,她把相机用挂带牢牢缠在手腕上,让相机压住她打颤的节拍。

凯恩在门外发出一声短促的嗤笑:“你们做了一件了不起的事。——但这也让我的下一步更容易。”

“他要断外链。”顾城脱口,他抬头看天花板,像能看穿混凝土看见天。“他准备拉闸——‘断网之夜’。”

“广播已发出。”韩明远抬头,眼里是累,也是一种久违的亮,“起码有一部分人今晚不会在一声令下里睡去。”

话音未落,整座交换站“咔”的一声,外侧馈电全灭,应急灯先是很亮,随后缓缓降到比黑夜略亮一点的水平。外城方向传来一串连锁的“呜——呜——”预警,像远处有人一口气吹了十支号。Ω系统的公共屏全部熄灭一瞬,再亮起来,显示“紧急维护,所有网络暂停”。

门外直升机的声音也低了,像被人敲掉一截叶片的音色。液压切割在门缝急促地“啧啧啧”。林妍的肩膀已经麻到不是她自己的,眼前因为吃力出现了一阵阵暗花。她咬住下唇,嘴里全是铁的味道。她抬头,看见韩明远的背影在昏红的应急灯下平稳移动,像某种机械,却是人。她想到出门前那句“我们不放弃任何一个人”,眼睛里冒出一层热。她没有哭,她只是更用力顶住门。

“撤。”凌峰判断。他们的任务已经达成那最关键的部分,剩下的是活着离开,把活着作为下一步的筹码。“两支箱子分开走,南门风大,北门暗。——我和顾城守后,明远、林妍先拿样本从北门磨出去,渠边走。”

“青禾怎么办?”林妍问。

凌峰喉结上下一下,“他知道路。”他眼睛里闪过一刹那的锋,“他若能来,我们接;他若被夹住,我们不让第二个人再进去送命。”

“收到。”韩明远合上终端,拔下样本,塞进两只防磁袋,分别护进两人胸前内袋。他肩头的绷带上又渗出两朵湿,但他没理,拉开北门侧的小防火门,门外是一条狭窄的后巷,巷口是一堆破沙发和半截离地的霓虹管,霓虹管嗡嗡响,给后巷抹一道浅浅的粉红。

“走。”凌峰替他们在门口放了一块砖,挡一挡雨。他没看他们的背,只说了三个字:“别回头。”

林妍回了一个“嗯”,轻得像一只纸船。她横过破沙发,脚尖点在沙发木骨上,避免踏在会响的弹簧上,闪身进巷。韩明远在她身后,手握住冷冷的墙面,借力。巷内回声很大,每一下呼吸都被放大又砸回来。

主门那边,“咔”的一声,铰链终于被掰断一半,一只带着切割臂的“开门器”从门缝里挤进来,像一只硬壳的甲虫。顾城一个前扑,手里工具一撬,卡住“甲虫”的关节,另一手插进它的进气口,塞入一块废布,机器“哒哒”两下,窒息了。门缝后面安保的枪口探进来,凌峰一发压在枪口上沿,火星一溅,对方收枪,门外响起凯恩短促的“退半步”口令。对手训练从容。

“走吧。”顾城吐出一口气。他把第三块电池也塞在门脚,知道拖不了多久。“老凌,咱们从南面上墙,渠边会合。”

“嗯。”凌峰眼睛最后一次扫过房内,确认没有遗漏。他的视线停在工作台上一盏小台灯上,那盏与门口一样的黄灯还亮着,光很弱,却不闪。他伸手把灯关了——不是迷信,只是不愿意留一盏没人应的灯。

两人从主机房的侧门摸出去。南侧风更狠,雨像钉,打在脸上生疼。交换站的墙不高,但上头带碎玻璃。顾城把外衣搭在玻璃上,压出一条窄窄的安全口,手臂先过去,身子翻一半,另一半被风压回来,他用腿勾住墙上的防雨檐,一推,翻过去了。凌峰紧随其后,落地一膝,立即起身。他们沿墙影奔跑,鞋底在泥里吱吱。渠边水暴涨,水色发绿,偶尔有泡沫翻,像某种睡不好的巨兽在翻身。

一阵短促的轮胎摩擦声从暗处掠来。两人同时侧身,枪口抬起。灯光一照,是一辆蓝色的快递电三轮,车头挂着破布蓬,驾驶的人脸上淋一半雨一半汗,鼻翼张着,目光亮,右臂绑着布条——是沈青禾。他把车子一甩,停在渠边,用尽可能镇定的口吻说:“上车。”

“你怎么出的来。”凌峰问。

“从肉铺后巷钻出来的。”沈青禾简单,“子弹不多了,时间更少。——上。”

三人把冷藏箱重新塞到车尾,车尾弹簧被压得几乎贴底。电三轮的电量表只剩一格,红灯一直闪。风把破布蓬吹得翻卷,雨在布蓬里打出一片飞白。沈青禾握住把手,指节发白:“抓稳。”

电三轮的速度谈不上快,但在这种巷内,比任何大车都灵活。它穿过堆满破沙发的狭巷,从两架倾倒的自行车之间擦身而过,跨过踉跄木板桥,桥下的水拍打着垃圾,发出粘稠的声。直升机在头顶一圈一圈找不到有效压制角度,只能用探照灯追,光柱在雨里拉出一条白布。凯恩没追来,他大概选择了“断网”与“围堵”的组合,等着这城在他设定的静默里自己“安静”。

“北边会合点到了。”韩明远声音带气,他的终端显示外城节点广播成功率停在了“七十五”这个奇怪的数字上——意味着四分之一的人今晚仍会被“安抚”,四分之三不会。这不漂亮,却是真实。他没时间遗憾,把这个数字记在脑里。

前方是一座低矮的混凝土桥,桥下就是他们要走的渠边临时路,路尽头是一块开裂的混凝土板,板下有一个能钻人的洞。洞里伸出几根细细的树根,像一只草蛇的须。他们要从那洞钻出城界再翻上一段保养道,到外廓的微波塔旁接应。

“我先下。”沈青禾一脚刹停,身子一滑,下到洞口,手把冷藏箱接住,下一秒就把箱子往洞内低处送。他的手在抖,仍稳。他回头看了一眼——风把雨吹成一道雾墙,背后追兵的脚步在雾里,像几把刀刚刚出鞘。

“走。”凌峰把第二只箱子也从洞口送下,自己随即滑入洞中。洞内泥滑,墙面有水珠。一股潮湿的土腥味扑脸而来,混着渠水气与老旧电线的霉。他双手撑住洞壁借力向下,鞋底在泥里找落点,膝盖擦到土石,火辣辣。他落地,抬手接下林妍。林妍身体轻,但她的相机加在胸前,把重心往前拖,她压住,把自己的落地重心放在脚后跟,稳住,才松手。

韩明远最后一个下。他身体比他们笨重一些,落地时扯到了肩上绷带,灯下一黑一亮,他吸了一口冷气,没坑声。沈青禾在洞口往下看了一眼,眼里有东西在跳——他看见上方的白光在雨里抹了一抹,像手在抹一块玻璃。他笑了一下,不是轻狂,是用笑锁住心跳。他喊:“我随后。”

沈青禾把洞口的一块破木板拉过来,随手搭在洞沿的外侧,木板上早年的油漆已经剥落,只剩一层灰白。他把木板压着一个角,那样外面的人一脚踩上来会踩空,能卡半秒。他拽了一截钢丝绳,勾在桥洞下的钢筋上,拉了一个简易的“绊”。做完这些,他才把自己从洞口滑下去。滑到半截时,外面一道探照灯刚好斜照在他背上,背影在墙上扩大一倍。他咬牙,不喘,落地,翻身,躲进墙影。

他们四个人背上样本,弯腰在低矮的保养道里快走。道内壁贴着一些旧的警示标贴,写着“注意低头”“地面湿滑”。头顶偶尔传来车子从桥上过的轰隆,跟着是水滴通过裂缝滴下,在地面砸出一串串小黑点。风在洞里小,但水声大,像雨把这城市所有的缝都找到了。

“前面就是外廓微波塔。”顾城简短。他指向前方一个圆形的黑影,那是塔座。塔座旁有一间小小的控制箱,上锁,锁锈,门缝里有一线光。控制箱对着外界的一条备用链路,能直接把数据送出城。

“最后一段。”凌峰说。他没有给任何豪言,他知道每一个字都会耗掉一口气。他们冲向塔座,韩明远已经先一步把防磁袋里那片签名数据片插入适配,手绕过一团老鼠咬过的细线,避开短路点。他的嘴里默念数,好像在祈祷。他不信任何神,但他相信手的记忆。

塔座这边刚亮起一串绿色的小灯,城的另一头传来一声干冷的“啪”——像有人拉了一个巨大的闸。所有远处的光同时暗下去了一层。微波塔的链路指示灯也跟着一闪,差点灭,又自己弹回到微弱发亮的状态。链路没有完全失去,只是变弱了。数据串开始从指示屏上缓慢滚出城界。

“出去。”韩明远吐出一个字,“出去了。”

“走。”凌峰把人往外推,“全撤。”

背后一阵脚步泼水的声音迫近,探照灯再一次从头顶扫过去。凯恩没有出现,但他像个站在高处的人,打开了夜和网。他选的“终极手段”把这座城市的连接抽掉,让每个人的呼喊在屋子里打旋。可是刚才的广播已经钻出一道缝,这道缝不大,却能通风。

保养道最后一段是一段斜坡,坡尽头是一道铁栅门,门外就是郊外的排水草坡。栅门被铁链锁着,铁链上挂一把老式铜锁。顾城不再多说,掏出钢丝,三下两下挑开。门“吱呀”地张开一道缝。风从缝里灌进来,把他们身上的潮气一把掀走,又在骨头里留下夜的冷。外面是草,是泥,是雨,更是远处再亮起来的一点、两点、三点零碎的灯,那是周边村镇的柴油发电灯,黄而稳。

他们跨出门槛,脚踩在湿草上,草皮“嚓嚓”作响。冷藏箱从狭道里挤出,滑在泥上,滑出一条浅浅的痕。凌峰回头,只看了一眼那道黑洞一样的保养道口。那里没有声,只有雨。他在心里又念了一遍:“我们不放弃任何一个人。”

他们拖着沉重的箱子,沿草坡向北,去外环的另一座塔会合。身后城市的蜂鸣声还在,但被雨切得很碎。远处警笛拉成长音,被风一扯,又断。

沈青禾走在最后,拖着那台快递三轮的空车架。他回头看了一眼,抬手抹掉脸上的雨。他张开五指,握紧,像握住一条看不见的绳。他心里想:下一次,他要把凯恩逼到没有风可借的角落里。

几个人不再说话。每个人的心跳各自轰鸣,又在风里合成一条稳的脉络。草坡尽头,泥里埋着一块小路标,字迹被泥盖住一半,只剩两个字:“外——”。

雨夜继续,城在另一个声场里慢慢暗下。外环的微波塔顶上,绿色的小灯一闪一闪,像有人在遥远处对他们点头。

草坡尽头是一条碎石路,碎石被雨埋了半寸,脚踩上去“嗞嗞”作响。北面两百米外的微波塔像一根黑针插在天里,塔身上有三处红灯在雨雾中一闪一闪,像随时要被风吹灭。塔下有一座低矮的机柜,铁皮外壳被雨洗得发白,角上生锈。更远处是货运编组场,柴油味顶着风钻来,牵引机的低鸣像一头困兽在忍耐。

“先不上塔,先摸过去看门。”凌峰压低声。几人分散成两列,借草坡的起伏推进。鞋底不断陷入泥,拔出时带起草根。林妍的右臂已经麻到像隔着一层布,她用胸背夹住相机,空出左手握枪,呼吸一口一口短而稳。韩明远肩膀的绷带再次被雨渗透,汗和雨混成一股咸味,他干脆把外衣拉链开到胸口,任凉风灌进来,逼自己清醒。

塔基周围有一道一米二高的铁栅栏,栅栏外侧卸了一块,像早被人记下当逃生口。顾城先过去,掌心贴铁,感受震动。“里头有机器在跑。”他说,“低负荷,能用。”他把破口撑大一指宽,让箱子能斜着挤进去。四人一鼓作气穿栅栏,落进塔基阴影,雨声立刻被塔身挡去一半,耳朵里多出风擦铁件的低嘶。

机柜前锁着一把方形锁,锁座新,手感冷硬。顾城摸出钢丝,刚要下手,远处风声里忽然掺了一阵细碎的螺旋桨噪。不是直升机。是更小、更低、更难听见的东西。凌峰抬头,望见数个细小暗影从编组场方向掠来,贴着地形像溜边的水,光学伪装把它们伪成雨中的塑料袋。它们不是侦察球,是小型投掷无人机,腹部带圆形束缚网和电击棍,用来活捉。

“贴塔。”凌峰压手。四人背贴铁皮,几乎与塔基融为一体。雨水沿塔身流下,在他们肩膀上打出两道冷流。第一只无人机滑到塔基上方,几乎贴在铁皮上,圆形镜面掠过。它没立刻发网,而是先做了两次轻微的起伏,像在校验风阻。第二只从另一侧绕来,与第一只形成交叉视野。空中沉了一秒,正是两台交换数据的空白。

“现在。”凌峰从腰后拽出一支工地留存的标线管,像掷矛一样抛出去。标线管在空中划了半弧,撞在第一只无人机的镜面上,标线油“噗”的一声喷开,白漆糊住镜头。无人机立刻失衡,腹部网枪却被误触发,束缚网向下抖开,兜头罩住机柜半面,与铁皮缠成一团。第二只无人机反应,电击棍闪烁,朝塔基探来。一只手从铁皮下方伸出——沈青禾。他把一根从栅栏拆下的铁丝兜住电击棍,猛地一扯,电击棍偏向一侧,打在铁皮上,“兹”的一声,电光沿潮湿的铁皮窜开,反倒让无人机自吃回波,机身一抖,飞姿乱了。

“破锁。”顾城不再犹豫,钢丝下口,三秒。锁扣一松,门翘开一条指缝。凌峰把门掀至可以通人的宽度,韩明远抱着箱子挤进去,湿气扑面而来。机柜里是陈年的灰与刚刚升温的铁的混合味,几根跳线裸露在外,灯号一排排亮着,映得人脸苍白。

“只开外链,别动主控,否则会被反弹。”顾城钻入柜底,手伸到最里,把备用链路与他们自带的便携端并在一起。他的指尖又裂开一条口子,血溢出来,被雨一冲,不见了。林妍守在门口,枪与相机一前一后,眼睛在雨幕里挑动,任何光影都能让她指节一紧。

空中又有两只无人机靠近,这回它们学乖了,拉高一米,避开塔身的导电面,腹部网枪上下试探。凌峰一手抓住刚才那团缠住塔身的束缚网边缘,脚蹬铁条,整个身体向上一跃,像一只被拉起的锚。他把网猛地抛向第二只无人机,网在半空展开,撞上去,缠住螺旋桨。机器发出一声刺耳的尖叫,旋即坠地。第三只趁机发网,网边缀着铅粒,砸在凌峰肩背。他侧身一滚,让网挂在塔基角,铅粒打在铁上敲出一串短促的响。他刚要起身,背后一酸——旧伤被网沿抽了一下,疼得他眼前一白。他没叫,手撑地,继续起身。

“接上了。”韩明远的声音从机柜内传出,声音因为金属腔体而带出一点回响。“链路质量一般但可用。我要把签名扩散到北侧镇区,再扩到周边电子告示栏——让人知道别信‘安抚’提示,给他们一点点判断的空间。”

“发。发完就撤。”凌峰盯着雨中的方向。探照灯还没到,但地面上的光斑正沿渠边逼近。编组场那头,一串车轮碾过铁轨的“嘟嘟”声压过来,一列货车正缓慢推进,车轮压在轨距上迸出细弱的火星。风一下子变大,雨被风斜着打,眼睛被针扎一样疼。

草坡边,一个戴银色助听器的男人走到光外。他挡在风里,披着灰色的防风披肩,披肩内衬黑,外层防水,雨打上去立刻滑落。他左手带着半截义肢,金属外壳被做成哑光,在闪电的残光里有一层暗沉的亮。他不急不躁,朝后挥一下手,两名安保从他身侧散开,身体贴地形推进。他站着,像在收摊,眼睛的方向正好卡在塔基与编组场之间那条窄线——这正是他们的出路。凯恩没来,但他派了这人来堵。方法是老套的:先看你往哪走,再把路变成自觉得选的唯一路。

“别让他近身。”凌峰道。他把剩下的一管标线油递给林妍,“你遮光,我换位。”林妍点头,标线油拧开半圈,喷嘴对准凯恩所在方向的地面。她不指望糊住他,只求在泥面制造一片反光,打乱对方夜视的曝光。她一压喷嘴,白色油线随着雨扩散,泥面反出一层亮。那人停了一秒,略抬头,像是在用耳背的助听器抓风声中的不协调。

“你们已经发出去一部分了。”他隔着雨开口,声音不大,却清楚,“做得漂亮。可你们留下的轨迹也很漂亮。——编组场的道岔在我手里。”

话音甫落,远处货车的灯一闪,车头像被一只巨手轻轻推了一下,方向从直行变成斜行,正朝他们这侧的侧线挪。侧线尽头是塔基外侧的一段防护墙——如果货车顶上来,他们会被压在墙与车之间,失去走道。他的“地形优势”到位了。

“换路线。”凌峰几乎不加思索,“沿塔圈绕到另一侧,借车身当掩体,硬插回编组场里。把它当移动盾。”他用手势打节奏,身体先动,脚步像弹簧一样弹起又落下。沈青禾一手拎箱,一手拉起那团已经被雨泡软的束缚网,把它攒成一团,像要打一个球。

凯恩显然也预判到他们会贴车身走。他向右微移半步,把身体放在货车与塔基之间的夹角线上。雨在他披肩上拍出一层层水幕,他的眼睛在水幕后面,静。两名安保开始逼近塔基死角,试图以斜角火力把他们挤到那条夹缝里。

林妍先动。她从塔基阴影里杀出半步,枪口朝凯恩的膝线压了两发。对方不是第一时间抬枪,而是往后一撤,义肢的脚掌稳稳踩住泥,像钉子。两发擦着他裤脚过去,泥花溅起。他这才抬臂,网枪顺势一抖,一张网向林妍罩来。林妍肩一沉,脚底一点,整个人从塔基与网之间的缝滑回铁皮后,网边挂在塔角,不够力,顺着雨滑下。她用左手一把抄起网边,往回一拽,借力,硬把网拉向另一边那个安保的脚踝。安保立刻抬脚,晚了一寸,被网边缠住,身体一翻,枪口抬高,子弹打在塔身,火星四散。

“漂亮。”沈青禾低声。他把攒好的网团朝凯恩放弃去,对方没有躲,而是义肢横抬,金属外壳一顶,网团被弹开。他的眼睛才动了一丝,像在打量扔球的人。

顾城从机柜另一面猫身冲出,把一个灭火器拎到手,扳掉保险,对着凯恩和另一名安保之间喷干粉。干粉在雨里遇水立刻结成团,刹那间把那片泥地变成一片细腻的泥浆,人脚踩上去就像踩在未凝固的胶上。那名安保一个趔趄,膝盖一软,半跪。凯恩却只是脚尖一滑,义肢提前发力,重心稳住,嘴角勾出一点看不清的弧。他像在享受别人出牌。

“再退两步。”凌峰低声。几人同步往塔基另一侧退,借塔基把自己从对方的交叉线里抽出。货车这时已进侧线,巨大的车身在雨里压出冷硬的存在感。风被车身切割,贴地的一股逆风忽然抬头,吹得雨往上飞。凌峰眼睛里掠过一丝东西——赢面不大,但不是没有。

“贴车。”他一把把林妍拉到自己左侧,身体探出塔基半尺,向货车方向冲出两步。风与雨交替拍在脸上,他在两股力量之间找到一个最不耗力的节奏。货车车厢上贴着“易燃品”的残旧标识,铁皮被雨打出暗亮。沈青禾紧跟,箱子贴腹,小腿肌肉紧,脚底像踩着鼓点。他们把货车当墙,把风当盾,把对方的火力角切成不稳定的扇形。

凯恩终于动了真格。他抬起义肢,往地面狠狠一顿,泥溅起一圈。他并不是泄愤,而是在校准地面的软硬,判断他们下一步的落点。他左手抬起,食指微动,背后另一名安保从另一侧绕出,试图在货车另一侧截住他们。道岔咔咔作响,一节空罐车被拉向另一条轨。两边的夹角正在被关死。

“把电三轮推上来!”顾城猛地想起那架快递车还靠在草坡下。他冲出两步,滑回塔基,从栅栏缝里一把把车拽进来。电三轮只有一格电,但车架是金属,是个可移动的障碍。他把车横在凯恩的必经线,车头一别,挡了一臂宽。凯恩看了车一眼,没急着绕,也没像普通人一样抬脚踢开,而是微微偏头,让助听器接收器把雨声中的频率收干净。他在计算他们剩下的力气。

凌峰说把枪沉了一寸,枪口略低,不对准人,瞄准凯恩身后那节空罐车的连挂器。扳机扣下,枪声在风里被撕薄,子弹打在连挂器上,“当”的一声金属激响。连挂器轻轻震动,空罐车与后车之间的缝隙扩大半指。第二发随上,子弹顺着雨线打进去,卡在某个铁件边上。第三发——他没有第三发。弹匣空了。他手指一顿,眼里没有惊慌,反而更冷。他把空匣抛开,蛇一样把身体从货车边挤过那半指变宽的缝。

“现在。”沈青禾几乎与他同时挤过。他把箱子先抛过去,自己落地时右脚在铁轨上打滑,膝盖一沉,整个人差点跪下。他用箱子边角撑住地,勉强稳住。林妍后手,一只脚跨进缝里,空出的手猛地按在车身边,指尖被铁皮蹭掉一层皮,她却没看,借势把身体送过去。顾城最后,他把电三轮车架一推,卡在凯恩与他们之间,他自己顺着缝低头穿过。电三轮被人一脚踹倒,金属骨架“哐啷”一声,落在铁轨上。

凯恩抬起网枪,朝缝内发射。网在铁路线间被风一扯,偏了,挂在货车梯子上。他头也不抬,向后一个手势,安保开始向编组场的深处追。凌峰四人沿着车体另一侧贴墙行,目标是编组场尽头那座信号楼。信号楼的玻璃窗里有红光,红光不是温暖,是备用电源的警示。那里有人工转换开关,也许能把道岔打回去,至少能让追兵绕远。

信号楼有两层高,楼梯外露,台阶被雨打得发亮。楼梯上的防滑条已经破损,露出下头的金属牙口。凌峰冲在前,脚掌切着台阶边缘上去,手掌贴在冰冷的扶手上借力。楼内有一股消毒水混柴油的味,嗓子被呛得发干。楼顶的风更大,几乎把雨吹成雾。信号室的门虚掩,门后有一台老式的道岔控制台,面板上布满按钮与灯。窗外红灯闪,闪得让人心里也跟着一紧一松。

“给我三十秒。”韩明远一把把样本箱搁在角落,冲到控制台前,双手按住面板边缘,逼自己的手不抖。他抬眼扫一遍按钮布局,快速判断哪几个是机械与电的切换,哪几个是被人远程接管的线。他的嘴里念着号,但声音很低,只够让自己听清。他猛地把一个黑色转换扭掰到“手动”,同时把旁边的保险片一拽,插入一个备用插口,“咔”的一声,灯一黑一亮。外面的道岔“咯”地回了半齿。又一个扭。又一声“咔”。第二处道岔也回了一齿。

“回不完。”他喘气。“需要力。——顾城!”

顾城不用问,手已经塞进道岔手动转换杆的槽里,肩膀硬顶,像在和一头看不见的牛较劲。他肩伤被撑开,汗和雨混成墨色的线,从下颌滴到衣领。他闷哼一声,没停。“再来!”韩明远一声,两个男人一起用力。外面铁轨“当”的一声,最后一齿扣上。货车的方向被硬生生掰回直线。凯恩那边的安保被迫重新计算路线,追击线拉长了二十秒。

二十秒就是命。凌峰拉开窗,瞄准信号楼下方那条通往编组场外的小道:“走这条!”他回头,对每个人都看了一眼,目光平稳,不拖泥带水——不是目送,是计算相互之间该留的距离。

“我背箱。”沈青禾抢过一只,把带子绕肩,身形往前一沉,像把这重量安在自己中轴上。林妍握紧枪,手心已经酸到不像自己的,她把手指换了个角度,让关节能多撑几分钟。她半转头,冲韩明远笑了一下,笑里没有轻松,只有一条很细的光:我们能撑过去。

他们从信号楼另一侧下楼,沿着一条被杂草咬住边缘的辅道往外冲。身后风声里,凯恩没再说话。他调了两次耳机档位,仿佛在拿风替自己算路。然后,他举手,挥下。远处直升机的探照灯终于压低,白光从雨幕里压成一条钝刀,横切编组场。安保的脚步被光裹着逼近。凯恩这次不再用网,而是把左臂上的金属护板向前一推,露出里侧嵌着的一条窄槽。那不是武器,是一块专门的电磁干扰片。他要切他们的便携链路,让样本箱在出城的最后一刻断信。

“他要绞你们的通讯。”韩明远边跑边看终端,显示信号像潮水一样上来又退下。他把终端抱在胸口,用身体挡住风雨,“再坚持两百米!出这个场,坡顶就有第二塔的被动收,能兜住!”

“掩护他。”凌峰短促。顾城与林妍立刻调整位置,把韩明远夹在中间,身体像两个移动的墙。沈青禾则略微后退半步,负责回身压制。他回头看了一眼凯恩——那个男人站在货车与塔基之间,雨把他的披肩拍得贴在身上,义肢在风里稳得像根柱。他没有追那二十米,他只是把手抬起一寸,像是在给某个远方的人一个信号。

沈青禾心里掠过一丝不快。他宁愿对方冲过来打一场明刀明枪,也不喜欢这种“托运式”的压迫。可他知道,这是看得更远的打法——用城市的骨架关人。只有把这骨架的一两处齿扳断,才能让人多出呼吸。

辅道尽头是一段破碎的挡土墙,墙外就是坡顶。坡顶那里,远远亮着一缕黄光,不是城的屏,是某个农户的窗。那黄让人心里定一点。风却更急,像要把人从背后推下去。林妍的脚步开始发虚,她知道自己正被凯恩那句“再三步”分析了出来。她不肯认输,干脆把相机往后背一甩,减少前方阻力,牙齿在口腔里咬到青冷。顾城目光一撇,伸手一拉,把她往前多送了半步。

身后一道白光猛地压近,探照灯像一柄巨斧砍过来。沈青禾回身,毫不犹豫地抬枪朝灯柱的根打了一发。枪声被雨吃掉一半,灯柱晃了一下,角度偏了五度。这五度让光从他们头顶掠过去,在前方坡面上斩开一条白。“走!”他一声吼,自己也往前扑。他的脚刚踏上坡顶的硬土,脚腕一抽——刚才滑下洞口拉扯的伤发作,像有人在骨头间塞了一把钝刀。他闷哼一声,没停,腿从另一条补上。

坡顶草比下面高,雨把穗压塌,贴在鞋面。远处那盏小灯在风中稳着,像给他们画了一条细线。韩明远的终端屏幕上,“外环二号被动收”那行终于亮起绿灯,信号强度虽然只有两格,却不再忽暗忽明。他喘了一声,笑了一下,笑里有一丝疲惫后的倔。

“兜住了。”他说。

“撤。”凌峰没有回头看追兵。他知道凯恩会追,也知道对方追不到坡顶这段——不是追不上,而是不值得。他们把样本送出了这道线,对方今晚的账已经需要重写。他们每走一步,城市就多一条可以回头的路。

风从背后推他们上坡,雨在脸上留下一道道冰冷。没有人再说话。泥在鞋底越压越实,心跳在胸腔里敲出一致的节奏。坡顶终究到了。他们跨过草坡边那块被雨水冲出钢筋的混凝土,脚掌踏在另一片更粗糙的地上,像从水里爬到岸。

凌峰回头,隔着雨看了一眼编组场。凯恩还在原处,披肩被风从一边卷起,露出里面更简洁的装备。那人似乎也在看他们。他没有任何愤怒的动作,只是抬起手,摸了一下耳后的银色助听器,像在记住风的方向。下一秒,他转身,消失在货车和塔基之间的缝里,带走他那种把一切计算到让人发冷的平静。

“走吧。”凌峰把视线收回。

他们沿坡顶向北,去第二塔与更远的外环会合点。身后城市在雨里暗着,——一盏、两盏、三盏零碎的灯在不同的窗后亮起,像有人在屋里摸到一根蜡,又点着,也像有人在脱掉一层蒙在眼上的布。风继续,雨也继续。

韩明远把终端贴在胸口,像抱着一只还在颤的鸟;林妍把相机重新拉到胸前,镜头上全是水,她用手背抹了一把,镜片后是她自己冷静的眼;顾城握紧拳头又松开,指节发白,血从上一次裂开的口子里再涌一点。他们的脚步比刚才慢了一线,却更稳。沈青禾走在最后,偶尔回望一次。他不再对风皱眉。他知道风也在学——学他们怎样在风里坚持直线。

雨夜长,路未尽。他们往北,往更多的人还在的地方,往需要把手伸出去的地方。

坡顶过去是一段碎石混着泥的维修路,路肩被雨掏掉了半边,露出斜着的石骨。风从北面压下来,把雨打成一束一束的线,像有人拿着根看不见的扫帚在地上拂。远处第二座微波塔的轮廓被风切成两截,塔身的红灯忽明忽暗,像一颗心在极度寒冷里勉强维持节奏。

“靠树线走,不走路面。”凌峰贴近草坡,压低声音。他的呼吸很稳,但说话时喉结轻轻一动,像把疼硬压回去。顾城把电三轮的空架放弃在坡脚,卸了重量,整个人轻了半分。他换到队伍左侧,替韩明远挡风。林妍把相机带子重新缠在手腕,镜头口朝下,以免雨再糊住玻璃。沈青禾在最后,步伐略慢半拍,腾出一点空间随时回头压制。

路尽头是一道旧收费站改成的临时仓库,檐下挂着一块坏掉的霓虹牌,剩两个字,不成句。金属卷帘门降了一半,门缝里渗出橘黄色的灯光,像里面有人刚刚动过手。风把门缝的水雾吹成一股细白烟,从下往上钻。再过去二百米,是第二塔的小院,墙不高,砖缝里长着条细细的苔。墙角有个监控头,雨把镜片打成一朵朵散开的花。

“停车棚里有人。”林妍抿紧嘴唇,手指敲了敲镜头边缘,“两个人影,一个站,一个在车窝里。站的那个人动作太稳——像训练过的。”

“先过收费站,再绕塔。”凌峰判断,“不打硬面,打角。”

他们贴着停车棚外沿移动。雨声盖住了脚步,但风把衣角吹得“啪啪”作响。卷帘门忽然被从里抬高半尺,一只擦了黑油的靴子探出,紧接着是一截网枪的口。那人不看,朝外就是一网,网边的铅粒在地上打出一串轻脆的响。凌峰几步前,身体已经靠在一截废旧立柱后,网从柱子边擦过,卡在柱后的一堆废轮胎上,铅粒被胶皮粘住,抖了两下不动。林妍探出半个肩,朝门缝里压了一枪,打在卷帘门内侧的滑轨上,滑轨一震,门下落又卡住。里面的人骂了一句,迅速撤门后。

“别纠缠。”“从后面。”凌峰指西侧,“那边有个通道,给货车绕行用的,进塔墙后角。”

鬼使神差般,风在这一刻停了半拍,耳朵里只剩雨线细密的嘶嘶。也正是这半拍,让林妍听见了跟在雨声后面的一点点“嗡”。她下意识抬头,看见三只更小的投掷无人机沿着收费棚的雨槽滑行,腹部的网枪缩在壳里,像三只待命的昆虫。她一吸气,声音压得很低:“上面。”

凌峰抬手。沈青禾把袖口里的细绳抽出来,一端缠在手腕,另一端扣住收费棚的一根排水管,往下一蹬,管子被他硬生生拉断半截,水瞬间倒灌,像一条蛇把雨槽冲乱。三只无人机中两只被水流冲出轨迹,撞在棚梁上,网枪误触,网糊在棚下的自动售货机上。那机器挨这一网,灯管“啪”的一声全灭,饮料瓶在里面碰撞,发出一串滚珠落地般的叮当。第三只躲开了,贴着雨幕鞋底线富有耐心地探,像一只挑剔的猎狗。

“给我灭火器。”顾城手在身后伸了一下。沈青禾递到他掌心。顾城猛按喷阀,把干粉对着第三只无人机上方喷。干粉与雨混在一起,成了细细的灰雾,视觉上是屏障,物理上是微微的砾。小无人机的高度传感器在灰雾中短路了一下,骤然下坠半尺。凌峰等的就是这个半尺,撬棍抬手一挑,击打在无人机腹部,机器翻滚两下跌地,扑腾两下,没再动。

收费棚后通道窄得离谱,两边是拆掉半截的防撞墩和倒在地上的破沙发。破沙发的弹簧露在外头,像旧伤把肉割开。林妍先跨过去,脚只踩沙发木骨,避开会弹响的弹簧。她眼里平静,嘴角却绷出一条直直的线。顾城紧跟,他的掌心已经被刚才的绳子磨出水泡,雨水泡得皮更软,他没看,手指仍是精准地勾住每一处借力点。

塔墙边上的盲区像一道窄窄的黑。如果不是雨,夜里这黑会是他们的盟友。可雨让黑显得潮,里头像藏着什么动的东西。凌峰没给这感觉留空间,他先把身体插进阴影,用刺刀把一根松垮的铁丝拨开,另一只手把塔墙上残留的防爬刺压平。铁皮咯咯作响。手背又被割开一条口子,血被雨冲得发白。

塔院里有警笛的余音,说明刚有人操作过。小院角落安着一扇防火门,门槛高,门把低,标准的旧设计。门把上挂着一串对讲机,对讲机的绿灯在闪,说明它在监听。凌峰目光一落,指尖微抬,顾城便把防磁袋递到他手里。凌峰把袋口贴在对讲机上,隔绝它的耳。韩明远把样本箱靠着墙放下,肩膀贴墙,换了个呼吸。他抬眼,透着雨雾回看城市方向,那里一整片屏幕黑着,零零碎碎的窗灯还在。那七十五的数字像一根钉,钉在他脑子里。

“我们进去三分钟,能再把北侧的补丁一推。”他说,“但三分钟之后对方会带干扰片贴过来,全部切断。”

“就三分钟。”凌峰说。他看顾城一眼。顾城把门把一扭,门锁“咔哒”一声,声音干净,像一把脆骨被捏断。门里风小,湿气却更重。走廊灯管时亮时灭,白蛾在灯下乱撞,翅膀被热烤得卷起。主机房门上贴着一张新的“维护”标贴,边缘还带着胶粘手味。

“闻到没有?”林妍压低嗓子,“消毒水味不对,像刚刷过。”她拍了拍自己的腮,让自己不被味道牵走。“进。”

主机房里,风扇的声音像硬塞在喉咙里的气。比起前一座交换站,这里更新,但电力更不稳,电压显示不断在两个档位之间抖。顾城扒开后面一块可拆面板,找到备用链路接口,把便携端插上。他下意识舔了舔嘴角,尝到一点咸——雨水与血的混。他不去理,只把手往机柜深处探,用指尖仿佛盲读点字那样摸索每一根线。

韩明远已经在终端上跑。他先把前一站没来得及推的告示栏文本打包缓冲,再把签名的“针脚”掰成能被这一片老旧系统吞下的形状。他的手法一向偏软,这会儿却像拿了两把小锤,敲敲打打,把一个不服管的东西凑合起来。他的唇色很白,眼睛却在灯下有一点坚硬的亮。

外面,雨忽然被一声短促的“叭”切了一刀。那是电磁干扰片开启的声音,像有人把一块冰冷的金属贴在空气上。紧接着,走廊另一头传来轻轻的脚步声,没有刻意轻,也没有刻意重,像一个习惯了让声音为自己服务的人。那脚步停在门外,像在看门上的“维护”标贴。然后,门把一转,门开了一指宽。一只金属义肢的指节伸进来,食指轻轻敲了敲门板。

“我以为你们会沿北侧小路偷过来。”那人的声音平静,助听器的微小高频把他的尾音抬出一点点金属味,“没想到你们还舍得冒一次险。”

凌峰没有回话。他站在机柜侧,一只手扣着门内侧把手,另一只手把枪的保险轻轻一推。他知道这人喜欢把主动权放在语言上。他就不给。

“好。那我就省几句。”对方说。他没有立刻闯入,而是把一支圆筒物对着门缝歪了一歪,像给里面的人看。圆筒头上有三枚细针一样的触点,灯在雨里暗闪。“低频干扰,先断你们的键,再断你们的心。”他说。

顾城把肩膀顶在机柜上,给自己一个支点。“明远。”他很轻,“还有多久?”

“二十秒。”韩明远盯着屏,“外侧区段打开了一个不可预期的缓冲——可能是有人忘了关,也可能是系统刚才自检留下的缝。我们正好从它腹部钻过去。”

“那就二十秒。”凌峰低低地说。他把枪口一沉,瞄准门缝下沿,并不是瞄人,是瞄“干扰片”的杆。那杆如果被打歪,干扰效果会剐蹭出去,干扰片自身也会被回波噪声咬一口。门外那人像是察觉他的意图,轻轻笑了一声,手却没有把干扰片收走,只是微微抬高了几毫米,让射角变得刁钻。

林妍忽然蹲下,手里摸出从收费棚扒来的硬币,在地上一掷。硬币滚向门缝,在地面上发出一连串“哒哒哒”的轻响。那一瞬,门外的人耳背助听器的自动增益拉了一下,去抓这串异常的短频。凌峰扣扳机,子弹压在干扰片杆的下缘,金属一响,干扰片抖了一下,回波在狭窄的门缝里乱撞。走廊灯“噗”的一声全灭了一秒又亮。那人的手顿了顿,门把上的力度却更稳了一分。

“不错。”他像是夸奖,又像是在把对手的节奏记下来,“你们的动作很简洁。”

“我们也喜欢你少说话。”顾城回了一句。他手里的线终于扣上。他用力过猛,指关节吱了一声,但线稳在槽里。他对韩明远点了点头。

“发。”韩明远敲下最后一个键,屏幕上绿色的“出去”闪了一下,扩散。这一次,扩散的覆盖比上一站更远,因为塔位高,视野广。外环二号镇区那几个电子告示牌上出现了短短的字:“今晚如遇‘安抚’提示,不要顺从。保护身边的人。等待明早的声音。”短得不能再短,却能让凌晨门口等面包的人再多想一秒钟,能让夜里抱着孩子的母亲在屏幕前停一下。

“撤。”凌峰说。他往后一步,门把一提,把门整个拉开。他没有往门外顶,而是把门当盾,微微侧一寸,卡住门与墙之间的角。门外那人终于整个人出现在门缝。他没有披肩,防水外套换成了更贴身的款式。银色助听器紧贴耳廓,金属义肢的表面被雨水擦得亮。

他抬手,指尖向上,像是在示意什么。走廊尽头两名安保同时迈出,角度分明,一左一右,火力线要把屋内的四人夹成一个十字。凌峰不等他站稳,门一顶一放,再顶再放,像用门拍他的节拍。他是逼他出手。

对方终于抬腕,网枪轻弹。凌峰把门再一顶,网挂在门角边,铅粒敲在金属上,声音短而密。顾城顺势把灭火器往走廊中间一喷,干粉在狭窄空间里腾起,看不见的墙瞬间出现。他不指望遮住那两名安保的眼,他是要让助听器吃进去这一片“脏”。干扰片在这种颗粒里会冒出细小的干哑,像老收音机吞了沙子。

“走!”凌峰一声。四人不恋战,沿另一侧副走道撤。林妍在回身的时候抬手压了两发,不瞄人,打在走廊灯旁的金属护罩上,金属反光一炸,把对方夜视再压低一档。她右臂酸痛如火烫,指尖快要失去敏感,她强迫自己换握,用中指食指“错位”控制扳机,像换了支笔。

他们从塔院北角的排气道口钻出去,雨再次拍上脸。墙外是一片低矮的田埂,稻茬被雨压得伏倒,泥里有柴油味与肥料味混在一起。远处有一排低屋的窗户亮着,像有人醒着。身后走廊里传出网枪钩在门上的“滋啦”,像一条鱼在铁网上蹦。凯恩没有追出门。他很清楚在户外他不占绝对优势。他用了更稳的手段——伸手一按,对讲机发出一串短频口令,绕过他们刚刚遮掉的监听频段,直接打给编组场外的一辆巡逻车。

“他们要合围。”韩明远看了一眼终端,通讯延迟忽然上升。他收住焦虑,低声说,“往北田埂再跑一百米,就有排水涵洞。”

“走涵洞。”凌峰不犹豫。田埂边的水沟已经满,水面贴着沟沿,漂着几片塑料袋,雨打在袋上,发出比水更高的响。涵洞口半堵着一块破木板,木板上钉着两个弯钉,像简易的网。顾城一脚把木板掀开,木板拍在泥上,溅一脸泥点。涵洞里闷,空气潮,混着陈年霉味。他们猫腰进洞,泥水没过鞋面,冰冷直升进腿骨。

车灯光在他们进入洞的下一秒掠过田埂,照在雨中,像一根光柱掉了皮。巡逻车的轮胎压在稻茬上,发出“嘎吱嘎吱”的毁坏声。司机没仔细看,他们在雨里看一切都像影。他匆匆扫一圈,车就过去了。凯恩那边传来一句轻轻的“错过”,不怒不喜,像记账。他转头,对另一条线下命令,去截他们的出洞口。

涵洞不长,出去是另一片湿草和一条窄路,窄路的尽头是一座断桥,桥墩还在,桥面只剩一半。断口下是泄洪渠,水声在夜里像更大的雨。断桥的另一头竖着一块“危险,止步”的牌,牌子被风刮得摇,铁链“当啷”轻响。

“下渠。”凌峰眼睛眯了一下,“水急,走边。”

渠边有一条极窄的检修步道,宽不过一脚半,边缘长着一层滑藻。沈青禾把箱子带子再扣紧,手掌摸着墙走。他眼角余光里,雨把渠水打出一朵一朵乱花,泡沫被水塞到拐角,挤开又挤合。他的脚在一处藻上滑了一下,他没有惊慌,膝盖一屈,重心贴墙,稳住。他背后的箱子因为惯性往外拉,他用肩臂把它抵回身体,肌肉抖了一阵才停。

身后传来两声很短的金属敲击,节奏相同。那是凯恩的信号。他的安保快速跳下断桥的另一边,试图在检修步道的出口截击。他们带着钩绳,想从上往下吊,像把鱼提离水面。

“打灯。”顾城忽然说。他拉开一扇被风挡住的小铁门,里面露出一枚应急照明灯,灯泡外有防护罩。他把灯泡扭亮,再用手猛地敲了一下,灯泡闪了两下,光比刚才更凶。他把灯泡向水面推,让光折到雨幕中,反射进对方的夜视镜。上方两个人影同时顿了一顿,脚在水泥沿上滑了一下,吊绳拉紧,身体在半空里摆。凌峰趁机带人一冲,擦他们脚下一过,冲进下一段更深的涵洞。

涵洞的顶低得几乎要让人弯到腰贴膝。空气潮到让人觉得每一次呼吸都在喝水。林妍的右臂已经完全麻掉,她把枪交给左手,左手食指与中指换着顶扳机,像用笨拙的笔勾一个字。她知道此刻自己任何犹豫都是拖累。她在心里用一条很短的话把自己拽住:“我跟上。”这句话落地,脚下的每一步都像钉在泥里,不再飘。

涵洞尽头是一道锈蚀的防护门,门锁已经断了半截,门缝能让人侧身过。外头风更冷,雨更大,稻田在风里低低地伏着,像一整片布贴地。远处村屋的那盏灯仍亮着,光不大,像一只静止的萤火。更远处,第三座微波塔的影又在雨后露了半截,像一根比夜更黑的针。

“还有追兵。”韩明远回头,终端上显示的延迟忽然低了一格,意味着干扰片的角度被某个因素挡住了一瞬。“趁这会,走坡上,再借第三塔打一个补——就最后一个补,我们就彻底撤。”

“同意。”凌峰短声。顾城抹了一把脸上的水,把嘴角的血味吞回去,握拳又松开,让手指不在此刻卡住。沈青禾调整背带,让重量分得更均匀一点。林妍把相机塞进衣服里,镜头对着胸口,用身体护住。

他们沿着田埂向第三塔逼近。风把稻叶拍得“沙沙”响,像有人在黑暗里悄悄走。凯恩没有亲自追到这段,但他的安排沿着每一棵树、每一条沟延展。巡逻车一辆从远处来了,车灯被雨糊成白块,沿着田埂缓缓摇。另一边,两只无人机沿渠面贴水飞,水花在它们肚皮下方被切成刀片。它们不急,像知道猎物不可能飞起来。

“别上硬面。”顾城提醒。他的眼睛在雨里眯着,像是把每一处阴影先存到脑子。凌峰的回复是一个短短的手势。他带队从一处菜地旁绕过,菜地里有几排没来得及收完的青菜,叶子厚实,被雨拍出一个个深窝。林妍抬手,把其中一把青菜拎起,叶子在她手里滴水。她忽然想到城里那些电子屏在这会儿黑着,街边那家洗衣店里没取走的衣服,想到那个被广播叫醒的一两个人会不会把窗拉开看一眼夜的气色。她把青菜扔回地里,脚步又快了一线。

第三塔的院墙更低,墙角下有一截被人撬过的砖,露出一个能塞手的缝。顾城把手塞进去,握住里头的铁柱,往上一撬,砖动了半寸。他再撬,砖终于松了。他抬眼看凌峰,凌峰点头。院子里空空荡荡的,只有风把一块防火门牌打得在柱上不停“哐哐”。主机房比前两座更小,门边有一台自动售货机,机器里还剩几瓶水饮料,瓶身上全是水珠。林妍抽出一瓶,拧不开,顾城抬手把瓶盖拧开,递过去。“冲一下。”他说。林妍把水朝脸上一泼,视线清亮了一秒,迷蒙被冲走一些。

“明远。”凌峰,“快。”

韩明远站到机柜前,手指按上去的一刻,胸口像被捶了一下。疲惫和寒冷像两只平板石头压在肺上。他没给自己任何借口,只是把手指收紧,按下第一个键。他知道这一次再拖,后面的每一秒都可能变成别人身上的重量。他在心里说了一句“再撑一会”,就像他们出门前那句“我们不放弃任何一个人”的回声。

门外风声忽然被一个短促的口令切开。凯恩没有进来,他站在门外风雨里,轻声说了一句:“封北口。”两侧的安保同时动作,一人朝巡逻车挥手,一人把无人机的飞行高度调高两米,让它们适应第三塔墙顶的气流。风在这两米里变化巨大,但它们被训练过,扛得住。

“干扰片又上来了。”韩明远盯着屏幕,指尖在键上找那条最窄的缝。他忽然笑了一下,很淡,“不过——现在有个好消息。第一站的广播开始反向回流了,说明有人在那边自发把我们的话传给邻镇。不是全靠我们了。”

“这就够。”凌峰说。他抬起枪口,瞄准门外那一块最白的雨。他不再期待打中人的身体,他要打中对方的节奏。子弹出膛,打在门外地面的一块小铁片上,铁片原本是某个标牌的角,被他打飞了,连带激起的水花正好洒在无人机的摄像头上。无人机镜头抖了一下,角度偏了,风把它推向墙外。两秒的空白,韩明远就把“发”键按下去,绿色的条走过屏幕,像有人在黑里拉出一条细线。

“出。”他吐出一口气,整个人几乎是软下来一寸。他把终端扣上,抽下数据,塞进防磁袋。他转身,要喊“撤”。这一瞬,门外的凯恩抬手,不是指挥,是对风做了一个轻微的“请”的动作。两边的安保遵命,没再硬上。他们像放一群鱼过堰一样,在风雨最闷的一刻让开半条路。

“他不想在这儿缠斗。”顾城低声,“他算过了。——我们走。”

他们没问为什么。他们冲出第三塔的门,钻过墙角的破口,回到雨里。风更冷了些,但有人在远处的窗边点起了第二盏灯,灯影在雨里颤。巡逻车转了个圈,不再按直线追,而是去堵另一头。凯恩站在第三塔的门檐下,看着他们的背影在雨里分散成四条线。他把助听器摘下擦了擦,又戴回去,像一个对工作认真的人调整工具。他的眼里没有怨,没有笑,只有一层极浅的遗憾——不是遗憾没抓住,而是遗憾这夜太多风,让他的公式里多了一个难以量化的变量。

几人沿着田埂再一次向北。他们的鞋底已经透水,脚趾头麻,膝盖像被绑了铅,却每一步都踩得很实。林妍把相机拉回胸前,镜头上还是水,她用袖口擦一擦,镜片后是她清醒的眼。韩明远把终端抱紧,像抱着一只刚刚被救下的幼兽。顾城握拳再松开,指关节发白,皮下的血在寒里缓慢流。他们彼此不看对方的伤口,只看前面的暗线。

风沿着渠面吹,雨沿着风倾。城在身后,但不是背弃。它像一个被人强行关上了窗的房间,被迫黑着,但有人在屋里摸到火,点起来。今夜还长,账还没算清。但他们已经把几个齿扳回了一格,哪怕只是一格,列车也会从另一条轨走。

他们往北,去接下来的会合点,去下一处能把话送出去的地方。

泵站在河湾里,像一只扁平的铁盒扣在水面上。外墙是斑驳的防火涂层,雨打上去,顺着旧缝往下淌。屋脊两端各立着一根红白相间的避雷针,风把避雷针顶端吹得微微颤。近岸的护栏歪了一截,护栏下的混凝土被水长期拍打,露出粗糙的骨料。泵站门口有一只消防栓,漆面起皮,喷口被人用胶带缠过,胶带被雨泡开,边缘翘起。

他们越过栅栏,鞋底在潮湿的铁板上“咔哒”一声脆响。门厅的灯半明半暗,灯罩里积着虫尸,雨水沿屋檐倒灌,滴在地上汇成一湾浅水。柴油味混着陈年潮气,呛得人微微皱鼻。主机房朝河的一侧全是巨大的轴流泵,泵壳像躺倒的铁鼓,表面有一层薄薄的油光。每一台泵前都横着一座金属栈桥,栈桥上铺防滑格栅,缝隙里塞着黑泥和烟头。

“有机器在跑,噪音够大,掩护我们。”顾城贴墙而行,指尖触到冷硬的墙砖,粗糙感一寸寸传上来。

“控制室在二层。”韩明远抬头,目光掠过玻璃窗里的控制台与红色紧急停机按钮,“到那儿我能把一号泵降速十分钟,水面会平,再过桥。”

“抢十分钟。”凌峰回,“林妍,青禾守一层,顾城跟我上。”

楼梯陡,踏步边缘磨出了亮口,雨水从鞋底带上来,踩在金属面上发出湿润的吱声。灯管在头顶闪,光一亮一灭,像在数拍。二层控制室的门没锁,门把手上有新留下的手印,指肚纹理清晰,说明刚有人动过。韩明远没有犹豫,推门进去,直奔主控台,迅速扫过工艺流程与阀门布局,左手压住急停旁的护罩,右手在触控屏上飞快地切换工况。他的唇色发白,眼神却稳。

“降速需要过载确认,我给它一条假曲线,让它以为水位已足。”他说,“这会儿我们是用泵给自己争路。”

“快。”凌峰在玻璃窗边观察。雨把玻璃打成一张灰白的幕,窗外河面被风压成一条条斜波,水花归边,护坡石被浪头一遍遍舔。对岸陡坡上有一盏路灯,灯光在雨中是浑的黄。

一层那边,沈青禾和林妍守在第一台泵的栈桥尽头。泵壳热气在湿冷的空气里蒸腾,贴着人脸烫。低频的嗡嗡声把人的耳膜震得发麻,说话要贴近了才不被吞。林妍换左手握枪,右臂彻底木了,她把麻当作固定的疼,像一块死铁绑在身上。她把相机收在衣襟里,镜头对着胸口,身体护着。沈青禾把样本箱挂在身前,背带扣在腋下,手里拿着一根从工具间抄来的铁撬棍,撬棍头被他磨了一下,能卡住栅格缝。

门外传来轮胎压水的声音,短促、克制。紧接着,门影一暗——两名安保贴墙进来,网枪口低低探着,借门后的阴影掩护。他们不贸然发网,而是先观察栈桥上空,有没有吊物、有没有可借的缝。更远一点的风里,凯恩的金属高频一闪而过,像是给了一个“慢”的手势。

“打他脚。”沈青禾低声。林妍点一点,左手稳住。第一名安保挪到栈桥边缘,脚掌刚要踏上格栅,林妍压了两发,目标是脚踝所在的格栅边——子弹打在金属边缘,火星抖开,水雾中看不真,他本能抬脚,脚下一滑,网枪抬高。沈青禾猛地出手,撬棍从栅格缝里探出去一寸半,准确地顶在网枪侧护上,侧护一歪,网就着力方向朝另一边弹开,正好罩在门口第二名安保身上。那人一挣,网边的电极贴皮,“嗞嗞”两声,他身子僵了一下,膝盖一软,靠墙坐下。

“很好。”上方凯恩的声音不大,却清楚,在噪音里像唯一完整的线条,“把窗都打开。”

一层侧窗同时被人拉开三扇,风从侧面灌进来,把泵机前的热气切碎。雨直直打进栈桥,金属面被水打亮,变得更滑。对方在用天气帮自己。林妍调整脚位,把脚尖卡进格栅里两道横筋之间,让鞋底不至于完全漂。她抿嘴,鼻息加重。

“二号阀门半开,三号降速确认。”韩明远的声音从对讲里传下来,“水位在落,你们准备过桥。”

“顾城!”凌峰一声,顾城已经把二层外走台门打开。外走台迎风,雨像一层小针直扎。他的手背被刺得发麻,但没退。他一把掀起外走台的防护链,把它钩在另一侧柱上,腾出通道。凌峰把枪背到身后,两手抓住栏杆,身体贴着外墙,向第二台泵的栈桥跨过去。他的鞋底找着每一根横条,脚心一层一层传来湿滑与冷硬。

“上二层的人别停。”下面的凯恩抬头看过来。银色助听器贴着耳廓,雨在它边缘凝成一粒一粒的水珠。他举起手,手掌向下轻轻一压,像是在告诉楼下的人——不急,逼他们自己犯错。

他换了打法。两名安保不再硬上,而是把手伸进工具柜,拖出两卷消防水带。一个把水带快速布到栈桥正上方的梁上,另一人正对着电源箱,准备接到泵站的喷淋泵。水带一旦开,栈桥就会变成一条极难站稳的冰面。他要的不是抓人,而是拖住,给巡逻车封死对岸时间。

“别让他接水。”顾城抓住楼梯扶手,向下跃两级,膝盖钝痛一沉。他冲到电源箱旁,手腕一拧,拉下总闸。电源箱啪地黑了。安保反应快,立刻去另一侧找备用电插头。林妍用左手打掉他手里罩的插头,子弹擦着插座边打在铁箱上,飞起一串轻薄的铁屑。她右臂没感觉,左手在反冲里发酸,但她握紧牙关,不让枪口飘。

“再三十秒。”韩明远盯着屏幕,手汗把屏幕弄得湿滑,他用衣袖一擦,继续盯。“一号泵降到百分之四十,再一档就够。”

“青禾,准备护送。”凌峰在外走台回身招呼。沈青禾点头,把箱子带更紧地收了一格。他的脚踝在之前的涵洞绷到,此刻隐隐抽,像插了根冷钉。他没看那份疼,用另一条腿主力走位。栈桥末端有一道窄门,门外是一条跨河的检修桥,桥面全是钢格栅,桥两侧的扶手被人用链条缠了几圈。风更大,雨直冲着脸打,眼睛眨一下都是水。

“现在。”韩明远的声音里带着一口放下的气,“水位已最稳的一刻,走。”

凌峰率先踏上检修桥,身体微微前倾,抵风。顾城紧跟,左手扶栏,右手伸后准备抓任何滑倒的人。沈青禾把箱子贴胸,脚掌找着每一条横筋,像踩着一串看得见的节拍。林妍最后,她的左手枪口朝后,防止对方在最后一刻贴上来。风从河面上反冲上来,把雨打成雾。桥面在风里轻微颤,抖到脚心。河水减缓了一些,但仍然急,水面上的漂浮物快速掠过,像一条条黑影。

他们走到桥中段时,门厅那边传来一个更尖的蜂鸣。凯恩开了电磁干扰片的高档位,频率压低,像一块看不见的板子压在空气上。韩明远胸前的终端屏幕一暗,信号掉成一格,延迟红到尽头。他咬牙,把终端向身体更深地贴紧一点,用自己做屏蔽。

“别停。”凌峰回头,声音被风切得碎,但意思稳,“过了这段就出他干扰圈。”

凯恩站在门口不动,他一动,会放弃掉对室内的控制。他只是抬手,朝对岸的巡逻车压了一下。“封坡。”他轻声。巡逻车掉头,沿着对岸的土路直奔桥尽头。他的眼神仍旧冷静,像在看表——他更愿意用算的赢,而不是用赌。

巡逻车的灯越来越近,照出桥尽头的每一滴雨。凌峰一眼判断——时间不够。对岸的坡下有一截旧护栏,护栏上挂着“内河管理”的牌子,牌角已经绣,下面有一根断掉的钢缆搭在石头上。他把身上的攀爬绳掏出来,飞快把一端打了个活结,套上那根钢缆。顾城会意,抓住另一端,身体一沉,往回一拽,让钢缆从石头底下滑出一点,把那侧的离地高度降了一寸。

“抬箱。”凌峰转身,沈青禾把箱子往上送,凌峰一手托住,另一手抓住栏杆,把箱子从扶手上方递到坡上的草面。顾城接住,膝盖一沉,稳住。

巡逻车已经冲到十米之内,轮胎压水发出刺耳的声响。林妍把枪口抬起,瞄准不是人,是巡逻车的右前灯。她左手稳不住长时间的瞄,她不拖,短压一枪。灯爆,玻璃渣在雨中炸开,灯柱侧偏。驾驶员下意识打方向,车身往左一抖,车速降了一线。这一线,就是四个人同时跨出桥面的差距。

他们半滚半爬上对岸陡坡,草根被鞋钉扯断,泥在手心抹开。顾城把箱子往上拖,肩膀缝线被撑开一针,热痛一阵,他没停,牙咬紧,眼里只剩坡顶那一截黑。韩明远的终端在这一刻重新亮了两格,他的呼吸放稳,脚一蹬,手抓住一根露出的钢筋,把自己拉上去。林妍最后,她把枪塞回腰间,双手抓住草根,脚在泥里找踏点,身体向上,腰部一用力,整个人出坡顶边。她趴在草上大口喘,脸上全是泥和雨,眼睛却很亮。

巡逻车在坡下停住。司机看着坡面,犹豫是否硬撞上草坡。凯恩没有催促。他在对讲里淡淡说:“不要追坡。收网。北面的路口已经封了。”

外面风声一变。不是风变,是有东西切风。两只更大的无人机在公交棚上空绕圈,腹部挂着照明灯,灯不亮,只空载巡航。它们的位置时不时在棚顶投出一个个轻飘的影,像浮在水面的叶子。凯恩没有跟过来,他派了机器与路口封控做下一步收口。信息优势、地形优势之后,开始试着用兵力优势压。可这片废弃的公交场有它自己的盲区——棚顶中间那条松动的排水槽,能让人走梁过棚。

“换路。”凌峰抬头,眼光落在排水槽,“走梁。翻到另一片厂房的围墙上,从监控盲区出去。”

顾城先上去,双手撑住梁,试探性地压一压,梁轻微下沉,但能承。雨从槽里往他手上灌,冰冷。他不说话,手臂一下一下发力,身形平贴梁腹向前爬。梁上覆盖着薄薄的锈粉,手心一抓,锈粉糊成泥。林妍在后,右臂没感觉,左手轮换着抓梁,指节被冻得发白。她咬着牙,给自己一个节奏:两臂一换、一推、一停。韩明远把终端塞在衣服最里,胸前一贴,跟上去。他的呼吸在狭窄空间里有回声,他调低频率,让每一次吸气不至于太急。沈青禾把箱子先推上梁,用布带另打一道安全结,拖着走。

他们刚过棚中线,院门方向传来脚步。两名安保入场,脚步不重,却有规律。无人机从棚顶掠过一圈,腹部照明灯忽然亮起,冷白光扫过梁下空地。光没有照到梁上,那条排水槽成了天然的影带。凌峰压低身体,手背贴梁边,心跳向下压。他能听见自己的血在耳里走,但没让它改变节奏。

“再五米。”顾城低声,“到了围墙。”

一声几乎听不见的“喀”。是布带划过金属边缘的一点点声响。安保的头抬起,光束抬高一寸,扫到槽边。凌峰的手已经握住了梁末端的螺栓,他不再爬,而是直接把身体翻过去,落到墙内的横梁上,伸手去够沈青禾推来的箱子。光束再抬。林妍在光接近前一秒松手,身体顺着梁边滑,落在横梁上,脸颊与金属擦出一条浅浅的红线。她没有发声,只用手背一抹,眼睛仍稳。

“出去。”凌峰把窗棂撬开一条缝,外面是另一片厂房的围墙,墙外是杂树与一条没铺完的便道。风从这边吹进来,把屋里的柴油味稀释。四人依次滑下墙,脚掌踏在泥上,泥里有碎砖,硌得脚底生疼。无人机的光扫过墙头时,他们已经压在墙根的阴影里,借树影藏住身形。

“向东。”凌峰判断,“东边没有路灯,便道没铺完,车开不进,适合脱离。”

韩明远看了一眼终端,延迟回到可接受区间,他把背更直了一线,哪怕身体在抖。“再拐一处,我们今晚就不再打塔。先把人和物带到点。”

他们沿着便道走,泥在鞋底积厚,雨继续,风继续。背后的城不再是纯黑,一块一块暗黄散开,像无数个小小的脉搏在夜里维持节律。前面还有追,还有堵,还有下一场仗。可此刻他们的肩背虽酸,脚踝虽痛,手掌虽破,心里却拎着同一件事:这几块冷硬的铁与一台台嗡嗡的泵,今晚都被他们稳了一下。

便道往东弯进一处临建工地,围挡被风掀开半截,蓝色铁皮像鱼鳞一样反复打颤。场内荒着,吊塔停在半空,红色警示灯忽明忽暗,钢筋绑扎区像黑亮的树林,竖着湿滑的尖梢。两台搅拌车靠在雨棚下,柴油味被雨打散,混着湿水泥的生腥。地面有一层泥浆,靴底一踩会“咯吱”冒泡,鞋跟拔起时拉出细线。棚角堆着几包破了口的水泥,雨水浇进去,灰坨像病肉一样膨胀。

风声一折,空中的螺旋桨声从高处俯冲下来。两只新的无人机没挂照明,腹部装的是窄幅声呐与网枪,贴着吊塔钢梁绕圈,角度卡得极狠。紧接着,东侧围挡外传来两次短促的车门合页响,巡逻车到位。凯恩没有露面,却把场内所有灵魂都串成了线——灯光、电、风、钢梁、车位,像一张网慢慢合拢。

“压过去钢筋区,弯腰走。”凌峰一招手。他把一把短撬棍别在背侧,身体先钻入钢筋阵,背脊几乎贴上冷硬的筋头。钢筋密,视线被切成粗短的条,每一条都是影。无人机无法直下,只能在梁间找角度。雨击在钢筋上,一根根叮当,声像玻璃球在盒里滚。

第一只无人机下压,网枪试探性发出半张,像蛇吐信子。林妍抬手,一发短点打在网边铅粒上,铅粒偏向,缠在旁边的钢筋上。无人机试图回收,螺旋桨带起的风把雨打成雾,视野糊成麻点。它愣了半秒——足够凌峰冲三步。他身形贴地,探到一台搅拌车侧面的梯子下,手扣住梯档,整个人借力上翻,以车身当“盾”,把无人机与他们隔出死角。

“右上。”顾城提醒。他目光往上撇,第二只无人机从吊塔另一侧斜插过来,角度锋利,目标直指韩明远胸前那块终端——它要切断他们最后的沟通识别。

“给我那包。”韩明远忽然蹲身,抄起棚角湿透的水泥袋,双手一抡,直接抛向空中。雨中的水泥粉瞬间炸开,遇水变成细灰雾,像一条灰色幕布贴在无人机镜头上。它的高度传感器短暂失灵,下坠半尺。沈青禾一矮身,撬棍上挑,正打在无人机腹板,机器翻了半圈,撞钢筋,“当”地一声,胡乱扑腾两下,没再起。灰雾落在他们脸上,混着雨,成了一层泥,鼻腔立刻苦腥。韩明远咳了两声,硬把咳意咽回去,继续贴着钢筋走。

“灯要亮了。”林妍扭头。她看到远处配电箱内有一条线在接触器上闪了火,紧接着,工地四角的泛光灯“唰”地全亮,冷白一片,把钢筋阵影子拉硬拉长。对方来抢视野——一旦他们影子拔地,他们藏不住。

“打角,不打灯。”凌峰指在空中点两下。他对准配电箱旁的钢梁接缝打一发,子弹溅起的火星与钢梁振动让接触器发生“抖跳”,电又灭了一半。顾城同时掀倒一块反光警戒牌,把反光面斜对泛光灯,光被它反弹回来,打在无人机侧,镜头白爆半秒。半秒里,林妍拖着麻掉的右臂硬往前跨,左手枪口稳住,又压一发,把另一个电源箱上的小保险打落,灯一暗,工地回到雨夜的灰。掌心的疼比灯灭更快回潮,她只在喉间压了一声短促的“嘶”,没停。

围挡那边,巡逻车发动机轰了一下,灯光打在铁皮上粉碎开。他们不直接冲入工地,而是沿工地外侧匀速滑行,寻找出口与包抄的折点。凯恩在对讲里很淡地说:“不急,封东北角。”几乎同时,工地东北角那条临时便道传来铁链拖地的声音——新的围挡被拉了下来,出路少了一条。

“西北角。”顾城道。他眼睛在泥与钢之间快速取舍,“那边有脚手架,能上墙。”

他们从钢筋阵里一个“缺口”钻出,踩上铺满跳板的脚手架。跳板被雨泡软,钉子在木里浮起,鞋底一推进就会被钉梢勾。凌峰先走,脚趾抓板边,脚心每一步都确认支撑点。风从棚顶漏下,从脚手架缝往上灌,冷得人牙关发紧。半段攀爬后,一道防火门横在三层脚手架平台上。门是从旧建筑拆过来的,门把低,门槛高,边上钉着“禁入”的红条。林妍一把把门把扯开,门后是工地边墙的一截斜面,斜面上铺着泡水的防水卷材,脚一踩就会滑。

墙外是另一片半建成的厂房,地面碎砖碎玻璃一地。风把远处霓虹牌残余的两笔光影吹得忽闪,像在暗里打手势。再远一点,铁道的信号红灯在雨中规律地眨。凯恩站在工地门外的雨里,他没有追上脚手架。他把助听器按紧一格,捕捉风雨里的分贝差。他能听出绳子的拉力变化,能估出四人各自的重心。他很快得出一个结论——不硬追。他轻声道:“收梯,封后门。右侧桥洞放两个。”这是把他们往铁路那边赶,用桥洞的回声和狭窄,让无人机与网枪效率翻倍。

他往左,指一条更窄的缝:两栋厂房之间只有一辆三轮能过的通道,地面碎玻璃,墙上挂着半断的霓虹招牌,招牌一摇,滴水顺着电线往下串。“穿那条,借招牌做屏障。”

他们钻入那条通道。碎玻璃在雨里滑,脚底容易打滑却少响,正合用。一个自动售货机倚在墙角,机器断电,黑着。顾城伸手去撬底座,从里面抽出一根方钢,塞给林妍当杖。方钢冰冷,她握上去,手心一紧,反倒不麻了那么彻底。通道尽头,墙根有个消防栓,喷口被人用胶带缠过的一圈已经被雨泡松。凌峰一指:“扭开。”

顾城双手握住扳手,一扭,胶带啪地断开,水柱猛地喷出,像一条白蛇横在空中。水花打在霓虹招牌上,招牌铁框立刻导出一片乱光。无人机追到通道口,镜头被水花打成一片白,算法兴奋地尝试提亮,反而被水珠折射的杂光“晃瞎”。它试着从上掠过,招牌又正好挡住,风压把它逼低。林妍抓住这零点几秒,左手一推,把方钢抬到一个卡角,猛顶。无人机腹部被边角擦中,啪地一声,壳裂,掉在水里。

“走。”凌峰不看它。通道外是一片逼仄的后巷,砖墙间暴露的铁门被涂上“防火门严禁堆物”的字,门下塞满废纸箱。风在两墙之间来回折,吹得雨像反复的薄刃。韩明远翻出最后一条备用绷带,给顾城肩上绕一圈,拉紧打结。“能撑到点。”他说,却没说自己手指在发抖。

“能。”顾城短声,手指再握再松,逼血回来。

后巷尽头有一道半塌的围栏,外面是铁路隔离带。隔离带的栅网破了口,一条小径沿着碎石路延伸,通往一处停用的信号小屋。小屋窗子贴着塑料布,被风吹得鼓鼓瘪瘪。屋檐下挂着一串风铃,早就断了线,只剩一截锈钩。红色的信号灯在右侧十几米外一闪一闪,像一只瞳孔。

“走小屋,躲一次。”凌峰判断,“等另一列车过,借车身换位。”

他们挤进小屋。屋里冷,木地板潮得像海绵,踩上去“吱呀”。一张破沙发堵在角上,弹簧露着,像一把把生锈的钩子。墙上旧日的作业表被雨渍成花,字攀着褐色下坠。窗缝之外,铁轨上传来远处列车的低鸣,像一头沉睡的兽在转身。韩明远把终端贴在胸口,屏幕只剩一格电,他迅速把刚才的广播备份复制到备用卡上,再塞进防磁袋,深吸,像把心也收起一格。

小屋内,列车鸣笛。风把声音卷进屋里,木墙抖了一抖。凌峰望林妍、望顾城、望韩明远,目光一一压稳。“车到遮挡线,我们切左。”他指窗外那道栅网破口——列车经过时,车身与栅网的缝就是他们的“缝”,只有三秒,错过就剩硬撞。

第一节车厢压来,雨被车头风切成两片,像两把反着开的剪。车灯把小屋一墙照白又收回。凌峰开门,风和水像一堵墙拍脸。他不往右看,他相信沈青禾那边在拖。他只等自己的节奏。第二节车厢、第三节……“现在。”他低声。

几人同时出门,贴着车身边沿冲。铁轨旁的碎石打滑,鞋钉陷进去再拔起。顾城肩上的绷带在风雨里涨开一点,他用左臂抵住伤口,右手去拉栅网破口,把网再撕开一寸。林妍把方钢横杖塞进网格,撑出可供侧身的一线。韩明远抱着终端,头偏向里侧,避免被车身气流吸偏。他们从缝里钻出,落到隔离带外的破土路上。身后,列车仍在过,每一节车厢都是一面移动的墙,把追兵的视线切得七零八落。

列车尾灯远去,世界再次暴露。对讲里,凯恩的声音平静:“他们切左。不要追车后。北侧路口收。”他没有遗憾。他在记录每一个变量——风速、雨强、地面摩擦、对手脚步的稳定性。他把这些存入脑子,像工程师更改一份图纸。

“东南四百米,有个水塔。”顾城气息不稳,“水塔下有一片老桉树林,风能挡一挡,车进不去。”

“走。”凌峰回头望一眼右侧——沈青禾的反光条在那边雨里亮了一下又亮一下,像心跳。他安了一口气,却没说话。他收紧背带,继续跑。林妍紧跟,牙关绷得有点疼,她忽然把一句“人话”又在心里说了一遍:我们带着箱子,都得过去。韩明远在她身后,步幅短一线,呼吸稳了一线。三个人像一条在雨里往林里挤的线,细,却不断。

身后,夜在计算他们,风在计算他们,那个戴银色助听器的人也在计算他们。可这些计算都得在雨里做。雨不帮任何人,也不帮任何一方。它只让所有动作变得更重,所有决定更硬。

他们进林,桉树叶有一股淡淡的药味,被雨激出来,压住了柴油与铁。地上的落叶泥很厚,脚踩进去滑,却静,几乎没有回声。风从树冠间过,被叶片切碎,落到人脸上时只剩一阵细痒。四周暗,暗得像一条长长的袖子把他们藏住。凌峰抬手,掌心朝下,示意停三秒。三秒里,大家各自换气、换手、换脚。三秒后,他的手往前一压——继续。

桉树林里风更直,雨从枝叶间一股股落下,砸在肩背上像小锤。几百米外,水塔的黑影终于完整地从雨帘后显出轮廓:一根粗圆柱撑着高高的水罐,罐顶闪着微弱的警示红光,塔身外圈一圈圈螺旋上升的铁梯,护笼半新半旧,雨水顺着梯笼往下流,像一条不断的细瀑。

“先上。”凌峰压低声,“顶端有信号灯的电源箱,能给明远的终端续一口气。三分钟内发,发完就走,走东南边的陡坡,树林掩护。”

顾城点头,把绳包甩向塔脚的栏杆,手腕一拧,扣住。沈青禾把箱子换到胸前,勒紧绑带。右脚踝在每一步起落间发紧,他把力量更多放在左脚,尽可能让步幅均匀。林妍把方钢杖横在肩背,左手握枪,右臂吊着,指尖几乎没有知觉,但她的脚落在每一根踏步上都很稳,呼吸贴着铁梯的节奏。韩明远把终端塞在胸前衣缝里,手指冻得发硬,他揉了一下,再去摸件衣服内侧的备用卡——还在。

他们在塔身外侧盘旋上升,铁梯狭,风从缝里穿,带着潮湿的铁腥。每上十几级,护笼的弯角就会滴一下水,滴在手背上冰得刺,像提醒——快一点,再快一点。爬到半腰,顾城停半拍,侧耳听了一下,声音很低:“后面来了两人。轻脚,节省力。”

塔脚下,巡逻车的灯被雨糊成白块,停在落水管外侧,发动机低低地转。两名安保在护笼下抬头看,没贸然上梯。他们在等命令。对讲里,凯恩的声音干净:“放无人机,梯口压一,顶端封一,留出撤路,别挤。”

第一只无人机贴着塔身上升,腹部网枪收着,镜头朝上,对准护笼与人影之间的空隙。它不急,先探角度。凌峰往里靠一寸,让自己与铁梯的阴影重叠。林妍抬手,短点一发,打在护笼的横梁上,火星溅出去,水雾里一片白。无人机镜头短暂自动提亮,画面被溅水反射“晃”了一下。它侧滑一寸,寻找更好的角度。顾城抓住这一缝,把一块从工地抄来的薄铁片向上一抛,铁片拍在护笼上,铆钉带动整段护笼轻颤,颤动沿着塔身“嗡”地传开,在雨里像一根长弦被慢慢拨动。

“继续上。”凌峰道。

塔身三分之二处,平台伸出一圈窄窄的走道,走道尽头就是信号灯的电源箱和维护口。风在这里更直,更冷。韩明远双手按住电源箱的扣,指腹发抖,扣子湿滑,他第一次没扣住,停半秒,调整呼吸,再扣——打开。他从里面抠出一组备用直流输出,接上终端。屏幕亮了,两格电。一串小小的绿点从左向右走,像一条窄线正在被拉直。

“给我一分半钟。”他说。

“你有一分。”凌峰回答。他转身瞄外侧——第二只无人机已经升到平台下半圈,正绕着护笼找入口。两名安保从塔脚把钩绳朝上抛,挂在第三圈护笼的横梁上,准备从外侧斜切上来,绕开狭窄梯口。耳内,凯恩的声音再次传来:“顶端别硬顶,压时间。风会帮我们。”

“风帮谁都一样。”顾城低声,像在和自己说。他把绳另一端绕在平台立柱上,捋直,结再压一手。林妍蹲下,剥开电源箱下方的塑料护套,露出一截铜排。她想起在第二座塔时用硬币骗过对方助听器自动增益的那一瞬——那一瞬正是变化的关键。她把方钢杖的尖端抵在护笼的立柱上,轻轻试了一下弹性,眼睛亮了些。

她用左手握住方钢,中段抵在护笼与平台交界的节点上,找着共振点。第一次敲,声不对;第二次,频率高了点;第三次,铁与风与塔身一起鸣起来,像一口旧钟被叫醒。平台下的无人机在这一下明显抖了一抖,镜头里的图像出现一道粗噪点,飞控瞬间修正,螺旋桨提速,反而让风压把雨更猛烈地打进它的摄像头。塔脚下,两名安保仰头,本能捂了一下耳朵,抛钩的角度歪了些。

“好。”凌峰斜眼看她,目光里有一丝肯定。他回身,给韩明远斜挡。顾城半身探出平台,往下看了一眼,立刻收回——凯恩站在塔脚外的空地上,雨水从他的发梢淌下,银色助听器贴得很稳。他没动,手里拿着一个更长的圆筒物,外壳无标。他抬起,指向塔身某一处支点,一声短促的“啪”,塔身在那一小截轻轻一震。

“他在用低频干扰揪我们的手。”凌峰咬住牙,“撑住。”

“一分到了。”韩明远的声音平稳,但手背青筋起。他拇指按下“发”,绿色条顺到底。终端屏幕上亮起“已送达”的字样又暗淡下去,电只剩一格。

“走!”凌峰一把合上电源箱。就在他转身时,平台外侧那只无人机硬挤进护笼缝里,网枪啪地一声张开。林妍再次敲击,噪声把无人机的距离测算短暫乱掉,网喷在护笼外侧,被铁条刮偏,缠在护笼和螺旋梯间,瞬间把出入口塞死。

“他帮我们封了口。”顾城低笑一声,低到只有自己听见。他立刻反向利用——将网边缘扯紧,把网变成一层拒止,给自己人多争三步。

塔脚那边,凯恩抬眼,第一次向上走了一步。他不急,他知道顶端已经失去价值,于是转而命令:“塔后坡,封。右侧树线,驱散。”安保收到,分开,从东南陡坡包上来,企图在他们下撤通道截口。

“走陡坡不行。”凌峰看了一眼那边,“滑,且对方已经绕。走管道——落水管内有检修口,能滑半程。顾城,你先,接箱。青禾,你贴箱下去,别翻。”

管道口狭,内壁湿滑。顾城把绳头系在腰上,另一端绕在立柱,身子一转,滑入管道,脚掌抵内壁慢慢制动。沈青禾把箱子先塞进管道,他自己紧跟着入管,肩背与管壁摩擦,生硬的痛一寸寸划。他死死护住箱子,用胸口与前臂挡住撞击。林妍最后,她把方钢塞入护笼网缝,做一个临时卡具,再后退半步,进管。凌峰垫后,枪口朝外,听一切声音。他听见凯恩轻轻说了一句:“下去了。”

滑到半程,管道内开了一个侧检修口,外面是塔身北侧的维护平台,平台下一片泥坡,坡下就是桉树林。他们一一出管,落在平台上。平台的防滑条被水磨得光,脚一落就打滑。顾城正要把绳从腰间松开,平台外侧“叭”一声,一把带钩的网从斜上方甩下来,正圈向箱子所在的位置。沈青禾反应比想象更快,他不退,他把身体朝前一顶,用背硬撞箱子,把它推出网径。网边钩抓在他肩头,衣服立刻被钩破,皮肉火辣。顾城一把抓住他衣领,把人从网底拖出。韩明远在旁边用手掌把网的一角按在平台边缘,借雨的滑与自重,把网往外侧一扯,网“嘶”地落下,挂在平台下的管道上。

“撤——林妍,你先带箱下坡;青禾跟。”凌峰短促发令。他回身,对上方护笼的缝隙里,一道黑影正从外侧掠进来。他抬枪,打在螺旋梯的下一节踏步,踏步震了一下,上方的人影踩空半寸,扶栏时露出手腕。他没有打人手腕,而是再打栏杆与雨水接点,水花与铁鸣再次在狭小空间里叠出刺耳的噪。塔脚下,凯恩的头微微偏了一下,随后把助听器调低了一个增益档。

“该你了。”他像是对凌峰说,也像是对自己说。他抬手,示意东南坡的两名安保不要再硬切,改为逼近桉树林的出口——他要的是把人驱赶到他预设的“收口”。

桉树林里,林妍背着箱子冲下坡。泥很滑,她的鞋钉抓不住时,就直接用膝盖贴地,把重心降到极低,再起。每一步都疼,右臂的麻已经变成一种钝硬,她就当它不存在。沈青禾紧跟,顾城在后,他的肩背像被火烤,但他能控制。他在坡底站住,回身接应凌峰。

凌峰最后从管道里滑出,落地时脚踝一晃,他逼自己稳住。上方护笼里又掉下一只小型干扰器,挂在护笼边。它发出低低的“嗡”,压住了树林间所有松散的声音。他们的对讲在这一瞬全变成了噪。凌峰扯下耳机,干脆用眼神和手势。三人会意——向左切,避开被封的出口。

雨下得反而稳了些,明显是风转了向。桉树叶上的水珠一粒一粒往下坠,砸在后颈上冷得直缩。前方有一道老式护坡,石块间长着苔,苔把石缝填得很满,踩上去像踩在湿布上。护坡上有一支红色的消防栓,栓的底座被泥半埋,喷口有一点松。凌峰眼光一扫过去,像在脑子里把地形快速拼好。

“给对方一堵水。”他说。他抬手,顾城立刻明白,冲过去一把扳开消防栓,白水柱猛地斜喷,正好冲向他们刚下来的那条泥坡。坡面瞬间变得像洗过的瓷,任何试图下来的脚步都会打滑。上方两名安保刚踏到坡沿就本能后退,动作被硬生生切了一刀。凯恩站在坡顶,静静看这一切。他不以为意,只是再给出新一条口令:“右侧绕,收桉林外沿。”

“再走二百米,道路边有护网破口。”韩明远低声。他没耳机,他把声音贴在两人肩边。

“走。”凌峰压手。他们贴着护坡移动。地上的碎枝在泥里安静,脚下只有吸泥的声音。风从另一侧吹来,把雨按成更细的线。四个人像一条被雨拽着拉伸的线,细,韧。

绕过桉林边角,一片更低的菜地迎面展开,雨把菜叶拍得趴倒,叶脉都清楚。护网破口就在菜地与公路之间,铁丝被剪过,卷成一团。护网外侧是一片低矮的仓库区,一栋屋顶上有一块旧霓虹牌残片,还在勉强闪。那光在雨里发滞,但足够当定位。

“穿过去,上那屋顶,走屋脊,落到后方巷道。”凌峰规划。他话刚落,对讲里杂音里硬挤进一丝人声——是凯恩的。他没用编码,用的是最普通不过的调度声:“北侧路口已封。你们已经没有路。”

“我们还有夜。”凌峰在心里回。他没有把这句说出来。他的手势更简,节奏更快。

他们刚穿过护网,第一辆巡逻车从北侧巷口并行出现,低速推进。车窗后的黑影在观察,网枪的管口从窗缝探了探。车灯照在地上的积水上,反出一片白,刺得眼睛酸。顾城把身体侧到林妍与韩明远前面,左臂挡在胸口,右手把那根方钢从她手里接过,像拿一把短杖。他不跟车硬拼,他要的是把车的路线“拐”一拐。他抬手,方钢在地上拍了一下,溅起的水花直直扑向车灯。驾驶员下意识别头。顾城趁这一下,从车尾掠过,带着人进屋顶楼梯的阴影里。

楼梯窄,阶面破,边缘露着钢筋。三人一步三登,把重量一层层往上提。沈青禾抬头看一眼屋脊——那边风大,雨直,视野也开阔。他把箱子再收紧一点,像把心也勒紧一格。

屋顶积了水,踩上去水花四溅。屋脊上那块霓虹牌残片被风掀起又落下,铁框“当当”响。林妍把它撑住,用方钢把角稍微顶高,让它在关键角度挡住来自巷口的灯线。凌峰在屋脊另一端探出身,望见东南边远处几个小小的窗灯同时亮了又暗。他忽然明白——第一座塔播出的那几句短话真的被人记住了。有人在同一时间对着屏幕按错开关,也有人在窗前相互喊一嗓子。不是援军,却是夜里的同温层。

“走屋后。”他压手。

他们从屋脊另一端滑下,落在后方巷道的阴影里。巷道另一头,一道铁皮门虚掩,门后是更老的一片厂区,监控头上积着水,镜头蒙了一层灰。那是一个更深的黑,一个真正的盲区。

“进去。”顾城一把推门。门轴发出一声短促的“吱”,又被雨声吞掉。他们鱼贯而入,门背后顶上一根横杠,顾城顺手把它落下,卡住。

外面,凯恩的脚步终究停在了屋沿。他没有再往前。他低头看一眼地上的水渍与鞋印,侧头把雨从耳后的助听器边刷掉。他的对讲短短吐出一句:“收队。更新图。”

屋外,雨还在下,风还在换向。夜没有给他们任何偏爱,但它没有把他们抛下。他们在一处没人知道的旧楼里窝住一线,安静地让心跳降一格,让手指暖一点,让脚踝疼痛稳定在一个能承受的范围。他们的衣服滴水,器材滴水,眼睛却很清。

夜像一件湿外套贴在窗外,凉,重。他们在里面,带着泥、血、水与疲惫,带着箱子、方钢、绳子与终端,带着一句又一句简单的话,等天亮。