From f5ebea60248b932cf2885de4c8b7e7f7d2c115a9 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Thu, 5 Feb 2015 16:35:34 +0800 Subject: [PATCH] MR3 (Build V7.0.9) --- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp | 8 ++ .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h | 2 + .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 70 +++++++++--------- .../Tools/UsbUtility/UsbUtil/So7_Option.cpp | 16 ++++ .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 156160 -> 156160 bytes 5 files changed, 61 insertions(+), 35 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index f9365c3..996b848 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -6872,6 +6872,14 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_FIRMWARE_VERSION_INFO() g_machine.FirmwareVer=FirmwareVer_7_X; } } + else if (g_machine.FirmwareInfo[3]=='8') + { + g_machine.FirmwareVer=FirmwareVer_8_X; + } + else if (g_machine.FirmwareInfo[3]=='9') + { + g_machine.FirmwareVer=FirmwareVer_9_X; + } else { g_machine.FirmwareVer=FirmwareVer_3_X; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index 00bea55..4af65e0 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -82,6 +82,8 @@ enum EFirmwareVer FirmwareVer_7_X, FirmwareVer_7_9,//add control mode FirmwareVer_7_A,//add segment dis + FirmwareVer_8_X, + FirmwareVer_9_X, FirmwareVer_Total }; enum ESO7_AXIS_TYPE diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index 6e90727..8cc17de 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -396,39 +396,39 @@ BEGIN EDITTEXT IDC_EDIT_ZOOM_TIME,14,159,112,112,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL END -IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 290, 214 +IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 335, 194 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Utility for SO7" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,24,31,69,10 - CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,24,47,69,10 - CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,24,63,68,10 - CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,24,79,69,10 - CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,24,111,62,10 - CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,24,127,62,10 - CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,100,31,76,10 - CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,100,47,76,10 + CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,235,24,69,10 + CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,235,40,69,10 + CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,235,56,68,10 + CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,235,72,69,10 + CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,104,62,10 + CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,120,62,10 + CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,129,24,76,10 + CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,129,40,76,10 CONTROL "LK_H激光(ETHERNET)",IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET, - "Button",BS_AUTORADIOBUTTON,100,63,85,10 - CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,100,79,76,10 - CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,100,95,76,10 - CONTROL "STIL CCS-PRIMA",IDC_RADIO_ERT_CCS_PRIMA,"Button",BS_AUTORADIOBUTTON,100,111,76,10 - CONTROL "控制器(USB)",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,195,31,69,10 - CONTROL "控制器(USB R)",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,195,47,75,10 - CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,195,63,77,10 + "Button",BS_AUTORADIOBUTTON,129,56,85,10 + CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,129,72,76,10 + CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,129,88,76,10 + CONTROL "STIL CCS-PRIMA",IDC_RADIO_ERT_CCS_PRIMA,"Button",BS_AUTORADIOBUTTON,129,104,76,10 + CONTROL "控制器(USB)",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,26,24,69,10 + CONTROL "控制器(USB R)",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,26,40,75,10 + CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,26,56,77,10 CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM, - "Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,197,81,10 - CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,195,79,45,10 - DEFPUSHBUTTON "OK",IDOK,145,193,50,14 - PUSHBUTTON "Cancel",IDCANCEL,225,193,50,14 - GROUPBOX "测试选项",IDC_STATIC,10,8,265,179 - CONTROL "MV900视频卡",IDC_RADIO_VIDEOCARD_MV900,"Button",BS_AUTORADIOBUTTON,24,95,69,10 - CONTROL "TCPIP Client(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,100,127,106,10 + "Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,152,81,10 + CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,235,136,45,10 + DEFPUSHBUTTON "OK",IDOK,195,173,50,14 + PUSHBUTTON "Cancel",IDCANCEL,270,173,50,14 + GROUPBOX "测试选项",IDC_STATIC,11,8,304,158 + CONTROL "MV900视频卡",IDC_RADIO_VIDEOCARD_MV900,"Button",BS_AUTORADIOBUTTON,235,88,69,10 + CONTROL "TCPIP Client(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,26,88,89,10 CONTROL "TCPIP Server(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC_SERVER, - "Button",BS_AUTORADIOBUTTON,100,143,91,10 - CONTROL "Temperature Display",IDC_RADIO_SO7_TEMPERATURE_SENSOR, - "Button",BS_AUTORADIOBUTTON,99,159,82,10 + "Button",BS_AUTORADIOBUTTON,26,72,91,10 + CONTROL "Temperature Sensor",IDC_RADIO_SO7_TEMPERATURE_SENSOR, + "Button",BS_AUTORADIOBUTTON,26,104,81,10 END IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316 @@ -1229,9 +1229,9 @@ BEGIN IDD_SO7_OPTION_DIALOG, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 275 + RIGHTMARGIN, 320 TOPMARGIN, 6 - BOTTOMMARGIN, 207 + BOTTOMMARGIN, 187 END IDD_SO7_VIDEOCARD_SDK3000, DIALOG @@ -2080,8 +2080,8 @@ CAPTION "About Utility" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN ICON IDR_MAINFRAME,IDC_STATIC,16,11,20,20 - LTEXT "Version 6.1",IDC_STATIC,89,13,45,8,SS_NOPREFIX - LTEXT "Hexagon Metrology, Copyright (C) 2013",IDC_STATIC,51,27,129,8 + LTEXT "Version 7.0.9",IDC_STATIC,89,13,45,8,SS_NOPREFIX + LTEXT "Hexagon Metrology, Copyright (C) 2015",IDC_STATIC,51,27,129,8 DEFPUSHBUTTON "OK",IDOK,141,46,50,14,WS_GROUP END @@ -2792,8 +2792,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 7,0,8,0 - PRODUCTVERSION 7,0,8,0 + FILEVERSION 7,0,9,0 + PRODUCTVERSION 7,0,9,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -2810,12 +2810,12 @@ BEGIN BEGIN VALUE "CompanyName", "Hexagon Metrology" VALUE "FileDescription", "Utility for Hexagon Metrology" - VALUE "FileVersion", "7.0.8.0" + VALUE "FileVersion", "7.0.9.0" VALUE "InternalName", "Usb_Util.exe" - VALUE "LegalCopyright", "Copyright 2014 Hexagon Metrology." + VALUE "LegalCopyright", "Copyright 2015 Hexagon Metrology." VALUE "OriginalFilename", "Usb_Util.exe" VALUE "ProductName", "Utility" - VALUE "ProductVersion", "7.0.8.0" + VALUE "ProductVersion", "7.0.9.0" END END BLOCK "VarFileInfo" diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp index 2d0deb1..cc85146 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Option.cpp @@ -175,6 +175,22 @@ BOOL CSo7_Option::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_TEST_IMAGE_DLL))->EnableWindow(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622))->EnableWindow(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_ERT_CCS_PRIMA))->EnableWindow(FALSE); + + ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV4000E))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_MV900))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_SO7_USB_CAMERA))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LK_H))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER3))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_TEST_IMAGE_DLL))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622))->ShowWindow(FALSE); + ((CButton *)GetDlgItem(IDC_RADIO_ERT_CCS_PRIMA))->ShowWindow(FALSE); #endif #ifdef _RELEASE_ONLY_ONE_FUNCTION diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index ed8b0bd90ee64de787770da9378e25d16246594d..18e0e0924d95dd8a957590ea9b499f6f8f465747 100644 GIT binary patch delta 2665 zcma(SYfx0z`F>~bE_Y$Ybs?a*BMT)2CZNm8%SZ6SE)o;U?h3{x@d5D>HAXjd?Wi$! zHI{KwYJ@N0AQ}roL1z++Uc09=HMlC18chWe8(%fP(^^WS*-X_W&~wp6(;uCjJKucg zeCK}V#aby&5QJSE zXm=u{DBkcg5XTH3gArXiJSt{j(Bz~?_kj&pMLDG~es6fh6Xg{3Fv!=45DmSfop`kA znc6XSYA;iz#+0aPl;D`|7%@s^yZjVbxDy6l5 z=?dKH8IL>OnSz$~Omw@i?Js>HT6M+oqg>(9_@8ylQnveViPTgF`yLH?W}6kW|4ZHehSg!vqpWE<9;SzbT<1s*4+~;X zuPCZH8ag(6_ku1K1R>glYkyzWtoc~nb$}pjnuMN13Ci5V%>;e!F#P2Py<+_2E5Pav zR>gX$TeCl?(NcLWw9q~`F)9Z-iviv1({RGQQ`qK<#n^#9{gcxD9k11B?EjW?fZ)F$#0`il1F)jN@1n2jI(hGbz#k^FX1k(xt)qF*Ui|`QzgB_ z$+;Yc0*Btycfp6R_kKR5MCIqp$Yu4SAdsPx+D`>Sp-?2u5JDVUVc}yO5?9r92J)4_ znaxD3<@^sdpLL@B9B)yMkAB5_?VNKcGVg^r;w;?6=!cGmp7Q`>yJV|9Cb!Ai1kiUu z#;cMHdof>{R(qjMnsKx~3i?F>CNds|dtz1P$!J>L5d=xND(ux$fb! zK)La+u{zAyHihPmf+MuN1manIG+Y6Cd=wa%VJZXx+n5}O$CGKH8~)_4*<_IFw^*-!xe1b zsHNJCFis;V97q zADhC?kUR~RL6{e3Fm(8o;MvnvdXn(s~g@y7fPh zO1t|ZoK5^Y{002|JQc0GL1dbLa~6M)AM1XlnrMfqI^rVq6+c|c4;4%q57-MFW^tIy z+j%y}FLQX2!%G}gzPS&vx}VSYF3vYlQxVJR8KfDdBL4WQPykr)&tM4We>kdcea1r(v@wjvAKmo`q@+W;mnh{C~h`HvSu!05q~6TBDWK+=-3<=Sqn7LO)S)M8OrId%kUfq&YQUh>PQHx9{iem zZh(X{Q%%%WN)p+DEAW|yZj2|(ab15jO`J)3aojZ>Yq$x?(A=0x{I|dd^iCU!W-TFfmy4`Nxi^~C-i3ZGwdD|*1qR?f%?LHn>QaYJ9IYTEYRovk zjptzD(9b=X!0`abM*2n=iK4Et#LNy7vRV^i7E1YSUBxHt0ya%YAe@#P$z^(MA;g9K zf(LW8;79oA5FW|0DLpwSfo`}0=`1~(oYtUeVhT&KlCw}3M^;m5EJ>m};z(nSN2E)} z5(71=X85jNq?XAf8P4-Kya=7@z+(Xmk;AYuw@OKN%o8O?VX3{)Ug|&G zvBqhH|F|Bbpj=cAu?(`wYXlx8%SbH}n9$m5!~rRr%9Du>&JU+DvM!TY;5tpnBq!9= zKH{e9Jv{hw7V$+qsF@fZqJ!MYEP5oKq^artKc)E@{4lSTfPtG0tf83bG~8UMl746| vnKwfW`@l)oXlu2JEYU$OY3UIcnWy^l*d^|K!h$&;PG{>%NdvUbB*y;&)DoKe delta 2935 zcma(T3s6+o^_{zKm$$HzW%;<`MiwMSa4~?WB%$o%ml($YBF08d5PyvpQDIFrnQ1nu zah#MP!m(Uye#lbPjy39YxXwsnlMv%49T1HlGz4l)TSL=m*VIpz^j>69W6ku=oO$P* zdp`G`-+k_Oqr2U>r-~2-v})1{5Rb8PjNY9x;o@jqEf?WOmK02uW$l_gL$9<*lGMO~ zcE-VY%@te>a>y|03+XWE;YmUFJ`8rQWkR2&Ko7Zhv0UMW$|%kmaa%FGKpyntvKAP@ z#QARo_RuF-KkyYk%yNz5HZ6h-xY2y0I-?XJ6&;W=#B=Pq2E38{lo3KX9v0X^S4x5K zruk9|j7CXly&2fkT#vUC<+q26PNt^)x>Hj#KMV<)!!H~pby1iJ({a_3Y;?|g68;e& z=TYNvumqLN$}4&%uLxuF9q@5rPl$%##cPkiR{_?%s97tgmdti7D=W!c>snG#URqXC zT(RsIgNnxjQbN&$9}c8J=bbDYZLfp`_*;PYBj2T!iJ>6z_#LTfGA+GPrQUsJIZ?`P zz}OY#XwAPszo`TxHO_?Wp(~k`f~h5i6)RmUv9xl6b~FE(2)J9{!Gm`7z2qMU+-!FwZoAMFHdKz*$D zQI1Cn?f;RC`>2-%w54y`#6cbq>OYaUNyG9($gSAk$qnL!FmuUXyyNqw%hh|UOwN?D z&kffGetTWkE-y|>Ai4L7Cf;dT;J5s(hXCK|r5qp4NgPxC#lEd;gW!s`Zrjlyn&X62 zZOzUT@^JTgT)V*#&BYVL@TK=R;LO6OFsVFLD}HmQu3B1c1MsK&f_NW)SDcC?oIOfC# zB^%|F4sG|beqGp#ojCVj-Z@7SvyxgSZD0OfK7NoDsd+mxAnfzmKRglIT^;sd<+2MV z=PS7q-wMaxQJ18?n}ab5ilx)qh$!-yU0kDq~FTz5GE8^5$+Yu5%vggc$X;G{#> ziEH4+6(>)lB`Je8d zTGGKz-M+u(62-=yC;>;B>&sO}7|<^MbF@M8x9apbakT?`U!0E{53SjEV?QY0aM6Er zz?Pd1d4Nwo?7ul*7OgRK&+msu)cn0VK)jlVdp3>4`MzyU7T`($eY!UJ>S1V(f*i#NS=_}F0XNh&20Acjhm*b* z16efZSCGoC#=z?Uk?iGIIAT_6x#+tAapp>eDx=5$9jS9d9BtePHkO$QdN2azGK~Q_ z!#o~m1?Y`T7*88l^6<9qn8JKcm_abrrZRUnwCk1kxcJ)v73P`-Re&{5^P67pZx|p= zGC#XoJrUdfW56|Sk#tuWjAdnJ*bLaaAe&}Kz`^Ds_=t!Xg!+o1_3|F*>@i8F~uE^Ct?Sn8!}wv-$TqK7R!+ z*0Y?R%R$JL4t)i`gyV%natk@Wh{JUbY!ibtvts1&*l;^0pMWWts$H<2ZkkFyrR`m? zig{1KMp+gkZLs#3>kL%sw)^WruImLiy^>5SsACF=1|Q9`K_wO?SZLua636!U!KXUo zLthuod7Z?$E5jEv9wYum)1$!{f$7HFM%8Aswjx!X2k!-Vs0iD^5_RyB$oDm4fV{OPTau! zO(LSZctolDtSCtnv0L#9X6Em5g2ICelzlu^7eq#0nltTRgOjQOCS?q6T5bq*h#zr)W!4w+68VR#Fe1 z`W#Z1M(of+W7Ehnkz^|^?|}@ePUg>py;FrK2Fc`?gufBnen#4;dn80tbqX=?!V!#G zV;Z&FIeCEAOeG$nY@sb(pbXby6$~btCijDxRi~2*z_|1VOinYf9f>5DcUDe|HZAYx zq*fot;&Mrk9#hk6(LC8o|L7puVjKDP?Rwk#7%}MhiG@El(Mh^we7?g(O+BEn#M$JO F>AySezN-KL